Перейти к основному содержимому

Работа с кодовыми агентами

Как получить от 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: как эти инструменты используют работающие разработчики и насколько им доверяют.