Глава 1

Считайте агента управляемым исполнителем

Прежде чем настраивать инструменты, стоит договориться, кем считать агента-программиста - потому что дальше вся книга управляет именно исполнителем, а не "умным чатом". Автодополнение предлагает фрагмент, и разработчик сам выбирает файл, место вставки и момент проверки. Агент ведёт цикл: читает несколько файлов, запускает инструменты, вносит patch и реагирует на результаты тестов. Автоматизация работает вовсе без диалога - по заранее заданным входу, правам, команде проверки и условию остановки. Управлять надо всем этим циклом.

Проще всего увидеть цикл как короткую цепочку, к которой сводится любая задача.

  1. Цель
  2. Исследование
  3. План
  4. Patch
  5. Проверка
  6. Review

Ключевая мысль - в единице результата. Хороший результат агента состоит не из уверенного сообщения, а из изменения и доказательств: какие файлы затронуты, какая причина исправлена, какие команды реально запускались, каковы exit codes и какие риски остались. Если поведение продукта нельзя наблюдать, задача ещё не завершена.

Отсюда - разделение ролей, к которому мы будем возвращаться в каждой главе.

Слой · Ответственность разработчика · Ответственность агента

  • Цель - Назвать требуемое поведение и границы; Уточнить неоднозначность
  • Контекст - Указать канонические источники и ограничения; Найти конкретные файлы и символы
  • Изменение - Разрешить область записи; Сделать минимальный связный patch
  • Проверка - Определить приемочные сигналы; Запустить проверки и прочитать результаты
  • Решение - Принять риск и выпустить; Сообщить факты, не подменяя владельца

Читать таблицу стоит по границе ответственности: разработчик называет поведение, разрешает область записи и определяет приёмочные сигналы; агент уточняет неоднозначность, делает минимальный patch и приносит результаты проверок. Промпт задаёт контракт работы, среда ограничивает действия, тесты дают обратную связь, а review проверяет, что исполнитель не решил другую задачу.

С этого и начинается инженерия. И первый шаг - не написать промпт, а сформулировать контракт задачи.

Проверка знаний

Что является единицей результата агента-программиста?

Ссылки