Циклы работы агентов: объяснение на коде за 11 минут
The Agentic Enterprise
0:00 / 0:00
Циклы работы агентов: объяснение на коде за 11 минут
262 просмотра · 3 нед. назад
The Agentic Enterprise
531 подписчик
262 просмотра · 3 нед. назад
В каждом агентском фреймворке выполняется один и тот же цикл: вызов модели, запуск запрашиваемых инструментов, отправка результатов и повторение цикла до получения ответа. В этом видео я пишу этот цикл примерно в двенадцати строках кода на Python, запускаю его, а затем трижды изменяю, запуская его снова после каждого изменения, чтобы вы могли увидеть, что изменилось.
1. Джев получает данные, а Клод только пишет: Джев, модель принятия решений от TypeSafe AI, выбирает запросы, а Клод получает один вызов с фактами, без схем инструментов и без истории.
2. Маршрутизатор выбирает путь до вызова Клода: поиск записей, ответ на основе политики или передача запроса человеку.
3. Инструменты отправляют одно четкое предложение при сбое, помеченное как ошибка, вместо трассировки стека.
Что я измерил (27 сентября 2026 г., Клод Соннет 5, вымышленные данные службы поддержки, на моем Mac):
Простой цикл при обработке вопроса в службу поддержки: 4 вызова Клода и около 5400 входных токенов (медиана 3 запусков); 5 вызовов и около 7700 в ходе выполнения на экране.
Джев получает данные, Клод пишет: 1 вызов Клода и 437 входных токенов.
Маршрутизатор, вопрос о политике возврата средств в Великобритании: 2 вызова Клода, затем 1.
Маршрутизатор, запрос на возврат средств: в простом цикле было совершено 4 вызова; после маршрутизации он попал к человеку, которому вообще не звонили из Клода.
Джев против Клода в качестве маршрутизатора, 7 запросов: один и тот же путь на всех 7; Jev 0,17 с и $0,000016 за решение, Claude 1,23 с и $0,00035 (медианы)
Тайм-аут Carrier, необработанная трассировка: дополнительные вызовы Claude в 4 из 10 запусков, затем в 7 из 10 во второй партии
Тайм-аут Carrier, одно понятное предложение: 2 вызова Claude во всех 20 запусках; медианное количество входных токенов около 5300, уменьшается до примерно 2400 во второй партии
Там, где фреймворки позволяют вам войти (их документация, см. 27 и 29 сентября 2026 г.)
SDK агента Claude: хуки, например, PreToolUse, могут блокировать вызов инструмента или изменять его входные данные, а хук Stop может поддерживать работу агента
Агенты Strands (AWS): перехват событий вокруг каждого вызова модели и инструмента, например, BeforeToolCallEvent может отменить вызов инструмента или заменить его другим инструментом, а AfterModelCallEvent может повторить вызов модели.
SDK агентов OpenAI: обратные вызовы жизненного цикла для каждого вызова модели и инструмента; ограничители могут остановить выполнение.
Код (цикл, три изменения и тесты): https://github.com/mani-aiml/agent-ha...
Тот же цикл работает на Amazon Bedrock с дополнительным модулем Bedrock, вашими учетными данными AWS, клиентом Bedrock и его идентификатором модели.
Главное правило: сохраняйте цикл фреймворка и принимайте решения внутри него.
Все приведенные здесь цифры получены из моих собственных запусков на указанную выше дату. Ваши цифры будут выглядеть иначе, поэтому протестируйте на своем агенте и проверьте документацию фреймворка на предмет изменений с тех пор.
В озвучке используется клонированный ИИ голос моего собственного человека.
#AIAgents #AgentLoop #ClaudeAPI #AgentHarness #AIEngineering
0:00 Почему цикл, а не подсказка
0:12 Весь цикл агента в 12 строках
0:57 Напишите цикл и запустите его
2:32 Изменение 1: Джев получает данные, Клод пишет
4:46 Изменение 2: маршрутизатор выбирает путь
7:01 Изменение 3: одно понятное предложение, когда инструмент дает сбой
9:14 Где фреймворки открывают вам доступ
10:06 Практическое правило