Гайды по решениям

Один вызов LLM или агент?

Четыре вопроса о вашей задаче — и ясный ответ, сколько механики ей реально нужно.

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

Шаги одинаковые каждый раз или зависят от ввода?
Ей нужно совершать действия или просто выдать ответ?
Хватает одного прохода или нужно проверять результат и продолжать?
Насколько важны скорость, стоимость и предсказуемость?

Ответьте на все вопросы, чтобы увидеть рекомендацию.

Все варианты вкратце

Один вызов LLM

Один хорошо собранный промпт на вход, один ответ на выход. Ни оркестрации, ни инструментов, ни цикла. Самый быстрый, дешёвый и предсказуемый вариант — и он покрывает гораздо больше случаев, чем принято думать.

Выбирайте это, когда

  • Задача — превратить ввод в текст или структурированный вывод
  • Одного прохода достаточно, и действовать во внешнем мире не нужно
  • Хотите быстро, дёшево и легко оценивать

Компромиссы

  • Сам не достанет свежую информацию и не совершит действие
  • Очень длинные или составные задачи придётся разбить на шаги

Фиксированная цепочка / воркфлоу

Последовательность, которую вы выкладываете сами: несколько вызовов и шагов с инструментами, связанных в заданном порядке. Модель делает подзадачи, а потоком управляете вы. Вы получаете инструменты и несколько шагов, не отдавая руль модели.

Выбирайте это, когда

  • Шаги одинаковые каждый раз, но их больше одного
  • Нужен инструмент-другой в порядке, который можно спланировать заранее
  • Хотите предсказуемую стоимость и простой способ тестировать каждый шаг

Компромиссы

  • Поток вы проектируете и поддерживаете сами
  • Если шаги реально зависят от ввода, фиксированная цепочка будет мешать

Агент (пусть модель ведёт)

Модель сама решает следующий шаг, вызывает инструменты, проверяет результат и продолжает, пока не готово. Это правильный инструмент, когда путь действительно нельзя прописать заранее, — но держите его на коротком поводке.

Выбирайте это, когда

  • Шаги зависят от ввода и их нельзя спланировать заранее
  • Нужно использовать инструменты и итерировать, пока результат не верен
  • Задача стоит лишней стоимости и непредсказуемости

Компромиссы

  • Медленнее, дороже и менее предсказуемо, чем фиксированный поток
  • Нужны ограничители: лимит шагов, типизированные инструменты и evals перед релизом
  • Сложнее всего отлаживать — сначала изолируйте и протестируйте инструменты, потом вините цикл