Что такое 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" означает готовый ответ для пользователя.