Работа с кодовыми агентами
Как получить от AI-ассистента настоящую работу: что делегировать, как ставить задачу и за что вы по-прежнему отвечаете сами. Это навык со своей техникой, и разрыв между теми разработчиками, у кого он есть, и теми, у кого его нет, уже велик.
Почему это важно. Агент выдаёт за час столько правдоподобного кода, сколько человек пишет за неделю. Если направление выбрано верно — это рычаг; если нет — это неделя правдоподобного кода, который придётся распутывать. Навык тут не в промптах, а в том, чтобы решить, что отдать, и не потерять контроль над результатом.
Что нужно понимать
- Что агент действительно видит, а что уверенно додумывает
- С какими задачами он справляется по-настоящему, а какие провалит убедительно
- Сколько работы просить за один раз
- Как вы будете проверять результат — решено до того, как результат появился
- Что вам всё равно придётся понять самому, а значит, отдавать не стоит
Основные темы
Что делегировать
- Механическую правку во множестве файлов, где корректность проверяема
- Шаблонный код по уже существующему образцу
- Тесты на поведение, которое вы способны описать
- Разведку: как работает эта библиотека, что делает этот код
- Первый черновик того, что вы всё равно будете сильно переписывать
Что оставить себе
- Решения с долгими последствиями
- Всё, где вы не отличите правильное от правдоподобного
- Работу, ценность которой в том, что после неё вы разобрались
- Логику, связанную с безопасностью, — пока не прочитали её так, будто её писал недоброжелатель
Как ставить задачу
- Цель и ограничения, а не пошаговая инструкция
- Указать существующий код, который задаёт образец
- Сказать, что считается сделанным и чем это будет проверено
- Настолько мелко, чтобы результат можно было проверить, — и дальше итерациями
Как не терять контроль
- Читать каждый diff, а не его пересказ
- Запускать, потому что «компилируется» не значит «работает»
- Останавливаться, когда направление неверное, вместо того чтобы выправлять его поправками
- Держать изменения мелкими коммитами, чтобы любой из них можно было выбросить
Типичные сбои
- Уверенно выдуманные API, которых не существует
- Образец, взятый из совсем другого фреймворка
- Решена сформулированная задача, а не настоящая
- Объём, который дорого читать
Уровни
| Уровень | Как это выглядит |
|---|---|
| Junior | Пользуется автодополнением и задаёт вопросы. Принимает всё, что компилируется. |
| Middle | Делегирует чётко очерченные задачи вместе с контекстом, просматривает каждое изменение, проверяет запуском, а не чтением. |
| Senior | Решает, что делегировать стоит, а что нет, устраивает проект так, чтобы агентам в нём работалось хорошо, и отвечает за всё, что попало в основную ветку. |
Практика
Для начала
-
Делегируйте что-нибудь проверяемое Возьмите задачу, где корректность проверяется объективно, и отдайте её целиком.
-
Прочитайте как чужое Возьмите сгенерированное изменение и разберите его так, будто его прислал незнакомый человек.
-
Поймайте выдумку Спросите про незнакомую библиотеку и сверьте с документацией каждый упомянутый API.
Глубже
-
Сравните постановки Поставьте одну и ту же задачу дважды — один раз списком шагов, другой раз целью с ограничениями — и сравните.
-
Делегируйте рефакторинг Отдайте механическую правку в двадцати файлах — вместе с планом, как вы её проверите.
-
Нащупайте предел Сознательно дайте слишком большую задачу и заметьте, на каком объёме результат перестаёт поддаваться проверке.
Проверьте себя
- Какие из ваших задач агент действительно делает лучше?
- Как вы проверяете сгенерированный код, кроме того что он компилируется?
- Когда агент в последний раз уверенно выдал неверное — и что это поймало?
- Что вы не отдадите никогда и почему?
- Вы читаете сами изменения или их пересказ?
- После работы с агентом вы понимаете свой код лучше или хуже?
Материалы
- Claude Code documentation — как агентный инструмент для написания кода устроен на самом деле, включая контекст проекта и разрешения. Прочитать модель вместо того, чтобы её угадывать, меняет то, как вы этим пользуетесь.
- GitHub Copilot best practices — практические советы, как ограничивать запросы и разбирать результат; применимо далеко за пределами Copilot.
- Prompt engineering overview — приёмы, измеримо меняющие качество ответа, от тех, кто их измеряет.
- AI and the future of coding — продолжающаяся серия заметок практиков у Мартина Фаулера. На редкость свободна и от восторгов, и от пренебрежения.
- Stack Overflow Developer Survey — разделы про AI: как эти инструменты используют работающие разработчики и насколько им доверяют.