Теперь разберемся, как работает кодовый агент, например:
Claude Code. На картинке выше показана диаграмма последовательности работы агента. В главных ролях: Человек (Human), Интерфейс (Interface), Модель (LLM) и среда выполнения (Environment):
Запрос от человека (Human)
Пользователь формулирует задачу и отправляет запрос через интерфейс.
Стадия уточнения задачи (Interface ↔ LLM, “Until tasks clear”)
Пользователь «общается» с LLM, чтобы уточнить детали задачи:
- Clarify – модель может задавать наводящие вопросы или просить дополнительные данные, уточнения, форматы;
- Refine – модель (при необходимости вместе с человеком) переформулирует или корректирует задачу, пока её формулировка не станет конкретной и понятной.
Отправка контекста модели (Send context)
Как только задача сформулирована достаточно четко, передается контекст и вся необходимая информация модели.
Обогащение контекста: поиск файлов / данных в среде (Search files → Return paths)
LLM делает запрос в среду (Environment), чтобы найти необходимые ресурсы, файлы и участки кода.
Решение задачи (Until tests pass)
- Write code – модель (LLM) генерирует код.
- Status – модель или среда может сообщать текущее состояние работы, например, процесс компиляции.
- Test – запускаются тесты или проверки, чтобы понять, корректен ли полученный результат.
- Results – возвращаются результаты тестирования (успешные или с ошибками).
- GoTo “Write code” – на основе полученных результатов (ошибках компиляции / тестирования) агент обогащает контекст и с новыми знаниями переходит на этап Write code.
Этот цикл «Write code → Test → Results» повторяется, пока все тесты не будут пройдены успешно, либо пока не будет достигнут условленный критерий завершения.
Завершение и отправка результата
После успешного выполнения задачи модель возвращает итоговый результат (Complete).
Таким образом, агент не просто выдает ответ сразу, но и взаимодействует с пользователем для уточнения задачи, получает необходимые ресурсы от среды, итерируется, проверяет свою работу через тесты и только после успешного прохождения тестов возвращает итоговое решение.