Тимур Хахалев про AI Coding
Привет! Сделал перевод замечательного (очередного) поста от Anthropic об агентах. https://vas3k.club/post/26791/ Сначала хотел опубликовать на Хабре, написал перевод еще вечером в субботу, но модерацию так и не прошел, а сегодня увидел другой пост на основе…
В комментах в Вастрик.Клубе резонно указали, что не хватает примеров. Хорошее замечание, поэтому добавим больше примеров.

Давайте разберём описанные подходы на кейсе – ai fitness app.

Идея приложения – AI может анализировать видео записи тренировок пользователя, давать советы по технике. Может составить план тренировок, план питания, вести пользователя по этим планам.

Начнём по порядку:
1. Цепочка промптов
Тут всё просто – например, для после регистрации пользователя в системе, просим его рассказать о себе и о своих целях. Далее, мы можем: проанализировать инпут пользователя и понять, достаточно ли нам информации для того чтобы составлять курс тренировки или нужно запросить у пользователя еще информацию.
Если информации достаточно, то передаём её в воркфлоу, который составляет программу тренировок. Можем передать эту информацию в воркфлоу, который составляет программу питания. А можем сделать необольшой ричёрч и посмотреть, например, рекомендации ВОЗ по физической нагрузке для конкретного нашего пользователя.

2. Воркфлоу: Роутинг
Здесь можно привести такой пример – пользователь голосом отправляет сообщение, например, о том, что у него есть вопрос по питанию. Под капотом, после того как мы дешифруем голос в текст, мы отправляем этот текст в "роутер", которому в системный промпт добавляем все возможные действия нашего приложения (например, ответить на вопросы по питанию, тренировкам; составить программу тренировок; заменить упражнение и т. д.). Ну и роутер уже может выбрать действие соответствующее запросу юзера и передать флоу далее по пайплайну.

3. Воркфлоу: Параллелизация

Декомпозиция: разделяем запросы на генерацию силовых упражнений, кардио упражнений, а полученный результат анализируем и готовим отчёт по всем упражнениям.

Консенсус: просим LLM в несколько запросов оценить технику выполнения, анализируем полученные результаты, находим общие паттерны и используем их в качестве совета.

4. Воркфлоу: Оркестратор
Насколько я понимаю, такой подход применяется в Pro версии Perplexity – когда система сама сначала разбивает задачу на сабтаски, потом генерит промпт для поиска информации в интернете и оценивает результат.

Я пока что не видел хороших примеров использования такого подхода (если вы знаете такие примеры, пишите в комментах), кроме как в системах подобных Perplexity, так как никогда не хочется давать электронному дурачку большой выбор – я считаю, что его стоит держать в узде и ограничивать набор разрешённых действий.

4. Воркфлоу: Оценщик

Одним запросом LLM выполняет задачу, например, по составлению плана тренировки.
Другим запросом LLM смотрит на этот план тренировки и валидирует его по указанным правилам, и отправляет первую LLM'ку переделывать свою работу

5. Агент

В моём понимании, агент – это более комплекс различных воркфлоу, интеграций со сторонними сервисами и в целом автономная система, которая в состоянии обработать (не обязательно решить) любой запрос пользователя и дать ответ.
Открыть в Telegram
 
 
Back to Top