Все статьи

Один промпт — это не продукт. Как мы перестали обманывать себя и собрали мультиагентный пайплайн

Один промпт — не продукт

Знаете, что объединяет 90% «AI-стартапов» в 2026 году? Один промпт, обёрнутый в красивый UI и с подпиской за $29 в месяц.

Мы тоже так начинали. Один вызов к OpenRouter, один системный промпт на 800 токенов и надежда, что модель «сама разберётся». Рерайт новостей для региональных СМИ — задача-то вроде простая, да? На самом деле не очень.

Анатомия провала: почему монопромпт не работает

Вот что мы просили от одного промпта одновременно:

  • Извлечь факты из исходной статьи
  • Проверить, что факты корректны
  • Найти контекст — упоминались ли эти события раньше в издании
  • Переписать в стиле конкретного СМИ
  • Не соврать, не додумать, не потерять цитаты
  • Уложиться в нужный объём

Это как нанять одного человека на роли журналиста, фактчекера, архивариуса, редактора и корректора. Одновременно и за одну зарплату. Получится лажа.

Результат предсказуем. Работает в 60% случаев терпимо. В 30% — заметно плохо. В 10% — публиковать нельзя. Для пет-проекта сойдёт. Для продукта, который отправляет тексты в реальные редакции — ни в коем случае.

Главная проблема даже не в качестве. А в том, что непонятно, что именно сломалось. Текст плохой, но почему? Факт неверный? Стиль поплыл? Контекст потерялся? Когда всё в одном промпте, дебажить невозможно. Крутишь формулировки как ручки на старом радиоприёмнике: чуть сюда — поехал стиль, чуть туда — начал врать.

Момент, когда мы перестали тупить

На очередном созвоне Сергей (разработчик) сказал: «Мы пишем не промпт. Мы пытаемся запихнуть целый редакционный отдел в одну строку. Это не работает и работать не будет».

То есть вместо одного умного промпта нам нужен маленький отдел с разными ролями, инструментами и разной зоной ответственности.

Пять агентов вместо одного промпта

На вход поступает статья. Дальше — цепочка из пяти агентов, каждый со своей единственной задачей.

Первый — Fact Extractor. Получает текст и вытаскивает из него всё, что можно проверить: даты, имена, должности, цифры, названия организаций, прямые цитаты. На выходе — структурированный список сущностей. Больше он ничего не делает. Не пишет, не стилизует, не думает. Только извлекает.

Второй — Fact Checker. Берёт список сущностей от первого агента и сверяет каждую с исходной статьёй. Не додумал ли AI лишнего? Не потерял ли цитату? Не переврал ли цифру? Каждому факту присваивается confidence score: насколько точно он совпадает с оригиналом.

Третий — Background Finder. Ищет в векторной базе предыдущих публикаций издания: писали ли они об этом раньше? Если да — формирует «бэки»: отсылки типа «Напомним, ранее мы сообщали, что…». Бэки отличают живой рерайт от механического пересказа.

Четвёртый — Draft Writer. Получает проверенные факты, бэки и стилевой профиль издания. Пишет черновик. Только он работает со стилем — длина предложений, лексика, структура подачи, характерные обороты. Всё это заранее выучено на архиве публикаций конкретного СМИ.

Пятый — Critic. Читает черновик и оценивает: стиль соответствует? Факты на месте? Бэки уместны? Если нет — возвращает Draft Writer'у на доработку с конкретными замечаниями. Цикл может повториться до трёх раз. Если после третьей итерации критик недоволен — текст уходит на ручную проверку.

Каждый агент — это отдельный LLM-вызов со своим системным промптом, своими инструментами и своей единственной задачей.

Зачем всё так усложнять

1. Каждый агент тупой — и это хорошо.
Fact Extractor не знает, что такое стиль. Draft Writer не проверяет факты. Critic не ищет бэки. У каждого туннельное зрение. И именно поэтому каждый делает свою работу хорошо. Когда вы просите одну модель «извлечь факты, проверить их, найти контекст и написать красиво» — она компромиссит. Везде по чуть-чуть, нигде до конца.

2. У агентов есть инструменты.
Fact Checker умеет искать в Википедии, проверять даты, сверять должности. Это не «проверь себя» внутри контекста модели, а реальный веб-поиск. Background Finder работает с векторной базой — индексом всех предыдущих публикаций издания. Он ищет по эмбеддингам, а не вспоминает из обучения модели. Монопромпт не может ни того, ни другого. Он может только генерировать текст на основе своих весов.

3. Можно улучшать по частям.
Стиль поплыл? Меняем промпт Draft Writer, остальных не трогаем. Факты проскакивают непроверенные? Добавляем фактчекеру новый источник. Нужен новый агент — SEO-оптимизатор, адаптатор под Telegram? Вставляем в цепочку, ничего не переписываем. С монопромптом каждое изменение — рулетка. Починил стиль — сломал факты. Классический prompt whack-a-mole.

4. Можно дебажить.
Текст плохой. Открываем лог:

  • Fact Extractor нашёл 14 сущностей — ок
  • Fact Checker подтвердил 12, отклонил 2 — ок, смотрим какие
  • Background Finder нашёл 3 релевантных бэка — ок
  • Draft Writer написал вступление на 400 слов вместо 80 — вот проблема

С монопромптом: «текст плохой, хз почему, давайте перегенерим и будем надеяться».

Миграция поддала напряга

Мы перевели систему с ручных API-вызовов к OpenRouter на агентную библиотеку с оркестрацией. Что получили:

  • Встроенная поддержка тулов (веб-поиск, обращение к БД)
  • Делегирование между агентами
  • Циклы: Critic → доработка → Critic → … (пока не одобрит)
  • Параллельное выполнение: Fact Checker и Background Finder работают одновременно

Потеряли систему на два дня, пока мигрировали. Сергей назвал это «контролируемым разрушением».

Сколько это стоит

Один монопромпт: около 800 входных токенов и 1000 выходных. Один вызов. Пять агентов: 3000 входных + 4000 выходных суммарно. Пять вызовов.

Один рерайт через полный пайплайн обходится нам в ~14 центов. Для продукта, где клиент платит 30–55K рублей в месяц за сотни рерайтов, себестоимость генерации — шум.

Экономить на вызовах модели, когда на кону репутация издания — как экономить на тормозных колодках, потому что «бензин дорогой».

Когда агенты не нужны

Если ваша задача — «перепиши текст попроще» или «сделай саммари» — один промпт справится. Агентная архитектура — оверинжиниринг для простых задач.

Агенты нужны, когда:

  • Задача декомпозируется на 3+ подзадачи с разными требованиями
  • Нужны внешние инструменты (поиск, БД, API)
  • Ошибки дорогие (фактические ошибки в СМИ — репутационный ущерб)
  • Нужна наблюдаемость: понимать, где именно сломалось
  • Система развивается — новые агенты добавляются без переписывания

Если у вас ни одного пункта — не городите. Один хороший промпт лучше пяти плохих агентов.

Что дальше

Сейчас мы стабилизируем пайплайн и прогоняем его на реальном издании. Следующий шаг — дать бета-клиентам увидеть пошаговый разбор: что сделал каждый агент, какие факты проверил, какие бэки нашёл.

Потому что «ИИ написал текст» — это кринж и чёрный ящик. А «Fact Checker проверил 14 фактов, 2 отклонил, вот ссылки на источники» — это инструмент, которому можно доверять. После проверки, разумеется.

Статья опубликована на Хабре.