LLM-пайплайны без загадочных state machine
Шаги с отдельными повторами при сбое аккуратнее одного огромного промпта, когда инструменты трогают продакшен.
Нагрузка и где ломается
Почему один огромный промпт ломается
Нельзя повторить один шаг без переделки всего сценария.
Стоимость раздувается, когда каждая ветка заново втягивает тот же контекст.
Где костыли не спасают
Спагетти из скриптов
Ноутбуки хороши для исследования, не для дюрабельных прод-графов.
Как помогает Inquir
Шаг = функция
Каждый шаг можно обновлять отдельно и смотреть в логах; между шагами — пайплайны для асинхронных разрывов.
Вызовы инструментов остаются HTTP-функциями с явной аутентификацией.
Что получаете
Шаги, которые стоит вынести
Retrieve
Изолировать embedding и поиск.
Moderate
Дёшево отсечься до дорогой генерации.
Действие
Инструменты со строгой проверкой входа.
Summarize
Сжатие для хранения или ответа пользователю.
Что делать дальше
Как вести LLM-работу по шагам с пайплайнами Inquir
Нарисовать dataflow
Именованные входы/выходы каждого блока.
Кодифицировать
Каждый блок — функция или шаг пайплайна.
Мерить стоимость
Токены и время выполнения по шагам.
Пример кода
Псевдо-шаги
Замените на реальные вызовы вашего оркестратора.
// document intake -> classify -> retrieve -> summarize -> save/notifyКогда подходит
Пайплайны, когда…
Когда это уместно
- Мульти-модельные потоки
- Human-in-the-loop
- Долгое обогащение
Когда лучше не трогать
- Одноразовые демо с одним промптом
FAQ
Вопросы и ответы
Зачем дробить LLM-workflow?
Повторы при сбое, учёт стоимости и отладка проще, когда поиск, модерация, инструменты и суммаризация — отдельные шаги с логами.
Stream токенов пользователю (SSE)?
SSE/stream наружу — на API-Gateway; между шагами пайплайна чаще JSON request/response, чтобы не усложнять retries.
Контроль стоимости?
Меряйте токены и время по шагам; бюджеты и ранний выход при провале модерации.