Что такое agent
Цикл model → tools → observation своими руками
Суть
Слово «agent» скрывает за собой простой цикл: модель смотрит на историю сообщений, решает что делать (отвечать пользователю или вызвать tool), затем вы выполняете tool и возвращаете результат модели. И так по кругу, пока она не решит остановиться.
В Anthropic API это три блока: assistant возвращает tool_use с именем tool и аргументами. Вы выполняете локально и отправляете обратно tool_result от имени user. Модель видит результат и либо вызывает ещё один tool, либо финализирует ответ.
Критическая деталь: модель не знает, когда остановиться. Это решаете вы — ставите лимит на число итераций, проверяете stop_reason, ловите ошибки tools и возвращаете их как часть результата. Без этого цикл крутится бесконечно или виснет.
USER → MESSAGE → MODEL
↓
TOOL_USE
↓
YOUR CODE
↓
TOOL_RESULT
↓
MODEL
↓
loop until stop_reason === "end_turn"Ключевые идеи
- Agent — это цикл model → tool → observation, а не специальный API.
- Cтавьте лимит итераций (обычно 8–16), иначе цикл может крутиться бесконечно.
- Ошибки tool оформляйте как tool_result с is_error: true — модель умеет с ними работать.
- stop_reason === "end_turn" означает готовый ответ для пользователя.