Карта навыков AI-инженера: использование AI-агентов для программирования

@AndrewYNg
АНГЛИЙСКИЙ04 сент. 2026 г.
513K
5.9K
919
168
9.2K

Суть

Эндрю Ын представляет подробную карту навыков для AI-инженеров, охватывающую процессы планирования, выполнения и мониторинга при работе с автономными агентами для программирования.

Ключевой навык AI-инженера — умение работать с агентами для написания кода. Ваше мастерство в управлении ими как для написания кода, так и для выполнения некодовых задач, таких как анализ данных или управление системными операциями, позволяет вам добиваться гораздо большего.

Стремительные темпы эволюции агентов для написания кода означают, что и этот навык развивается быстро — быстрее, чем другие навыки AI-инженеров высшего уровня. Проприетарные агенты (такие как Claude Code, Codex и Cursor) и открытые агенты (такие как OpenCode и Pi) прогрессируют семимильными шагами благодаря улучшениям как в обвязке (harness), так и в самих моделях. Поэтому поддержание актуальных знаний об использовании агентов для написания кода требует непрерывного процесса экспериментирования, создания и обучения.

В ходе интервью с десятками ведущих AI-инженеров и анализа использования агентов для написания кода в нашей собственной команде мы выявили последовательный высокоуровневый рабочий процесс для создания программного обеспечения с их помощью. Ключевые шаги:

  • Планирование. Это включает (i) мозговой штурм, который может включать исследование, экспериментирование и понимание существующей кодовой базы (если таковая имеется), и (ii) написание спецификации, отражающей требования, технический дизайн и архитектуру, с последующей генерацией плана выполнения. Вы также можете пересмотреть план, чтобы проверить ключевые предположения и выявить проблемы безопасности, излишнюю сложность и другие пробелы.
  • Выполнение, где вы создаете, тестируете и проверяете, соблюдая правильный баланс между автономией агента и контролем человека. Это включает (i) создание агентом программного обеспечения с откалиброванным уровнем автономии и (ii) проверку его результатов с помощью автоматизированных и/или ручных проверок.
  • Развертывание и мониторинг, в ходе которых вы (i) развертываете, возможно, с использованием CI/CD-пайплайна или дополнительных ручных шлюзов, и (ii) используете агентов для просмотра логов, выявления проблем, а также предложения и выполнения улучшений.

Этот высокоуровневый рабочий процесс аналогичен тому, который обычно использовался для создания программного обеспечения до появления агентов для написания кода. Теперь мы гораздо меньше фокусируемся на коде и вместо этого сосредотачиваемся на решении, что создавать, проектировании архитектуры, написании спецификации и проверке результатов.

Продолжительность каждого этапа может значительно варьироваться в зависимости от проекта, а некоторые этапы могут быть опущены. Например, спецификация для прототипа, создаваемого с нуля (greenfield), может быть loosely описана в быстро написанном промпте, тогда как спецификация для существующего проекта (brownfield) с большим количеством пользователей может потребовать гораздо больше усилий для написания и проверки. Кроме того, рабочий процесс является высоко итеративным, и опытные разработчики знают, когда обратная связь с более позднего этапа должна вернуть их к более раннему. Например, если проверка не удалась, они знают, как направить агента на перестройку и исправление ошибок; или если мониторинг выявляет проблемы, они знают, как поручить агентам обновить систему и выполнить повторное развертывание.

Для эффективного использования агентов для написания кода в этом рабочем процессе ключевыми навыками являются:

  • Управление рабочим процессом
  • Обеспечение автономии агента
  • Проверка работы
  • Настройка агента и его среды
  • Основы работы с агентами для написания кода

Управление рабочим процессом. Вы знаете, как проходить каждый этап описанного выше рабочего процесса. Это включает принятие решений о том, сколько человеческих усилий и усилий агента тратить на каждом этапе и когда возвращаться к более раннему этапу для итерации. Это требует глубокого понимания компромиссов между скоростью, стоимостью, техническим риском и человеческими усилиями, чтобы вы могли решить, сколько исследовать и планировать заранее, когда сохранять человеческий контроль над критической работой, как выбирать архитектуру, сколько деталей включать в набор артефактов планирования (например, спецификацию) и как декомпозировать работу на проверяемые шаги.

Обеспечение автономии агента. При применении агента для написания кода к этапам рабочего процесса вы выбираете уровень автономии: будете ли вы наблюдать за ним и взаимодействовать в интерактивном режиме или делегируете ему более крупную часть работы? И когда вы ставите четкую цель и позволяете агенту циклически работать до ее достижения? Кроме того, вам нужно тщательно управлять контекстом для агента. По мере того как сборка проходит через различные фазы, вы будете калибровать, когда нужно фиксировать ключевые выводы, отзывы пользователей и предположения — включая предположения, которые изменились в процессе сборки, — чтобы агент мог использовать их в дальнейшем. Кроме того, вы будете решать, когда настроить множество агентов для параллельной работы над декомпозицией задачи — либо с помощью человека, либо с помощью агента более высокого уровня, координирующего других агентов, — и как управлять человеческим вниманием в рамках параллельных сессий агентов. Вы также знаете, как безопасно запускать агентов, устанавливая соответствующие разрешения и ограничивая действия, чтобы позволить разработке быстро продвигаться, одновременно ограничивая риски утечек, потери данных или другого ущерба.

Проверка работы. Результат работы агента для написания кода неопределенен. Мы заранее не знаем, какие хорошие идеи он может предложить и какие ошибки он реализует. Проверка и верификация результатов — ключевой этап, чтобы убедиться, что вы получаете желаемый результат, и перенаправить агента, если это не так. Вы будете разрабатывать тестирование и валидацию, соответствующие задаче, применяя по мере необходимости как поведенческую, так и функциональную верификацию. Вы также можете тестировать пользовательские сценарии, возможно, поручая агенту предоставлять скриншоты в качестве доказательства успеха или неудачи. Для качественной/поведенческой оценки могут использоваться eval-наборы, возможно, с LLM в роли судьи.

Вам также нужно решить, какая часть этих тестов должна быть автоматизирована. В некоторых рабочих процессах все тестирование и валидация будут полностью автоматизированы, чтобы агент мог проверять свою работу и знать, когда он успешно выполнил задачу. Вы должны оценивать тесты, чтобы убедиться, что они соответствуют вашим целям, и изменять их, если это не так. Кроме того, вы используете агентный ревью кода и проводите AI-обеспеченные аудиты безопасности и архитектуры. Когда AI-ревью недостаточно, вы разумно внедряете ручные проверки поведения кода (и, реже, самого кода), одновременно изучая способы дальнейшей автоматизации этого ревью. Наконец, вы проверяете развертывание и можете организовать мониторинг и управление инцидентами с помощью агентов.

Настройка агента и его среды. Ваша способность обновлять как агента, так и среду, в которой он работает, позволяет вашим агентам эффективно получать необходимый контекст, получать доступ к инструментам и правильно и эффективно создавать. Вы знаете, как интегрировать навыки агента, плагины и MCP-серверы. Время от времени вы будете удалять их, когда они перестанут быть необходимыми (например, когда новая модель делает старый навык ненужным). Вы можете использовать хуки для автоматизации повторяющихся частей процесса разработки, таких как запуск автоматизированного ревью кода или CI/CD-пайплайнов. Вы также можете поддерживать среду, в которой работает агент: обновлять постоянный контекст (например, AGENTS.md или CLAUDE.md) информацией о кодовой базе, ключевых архитектурных предположениях, стиле кода и шаблонах доступа к данным. Вы знаете, как сохранять состояние между несколькими сессиями и между параллельными агентами, и накапливать знания агента с течением времени, возможно, проводя ретроспективы после выполнения для фиксации того, что сработало, а что нет. Вы также знаете, как настроить согласованные конвенции и структуру, чтобы сделать вашу кодовую базу навигабельной для агента, и как время от времени очищать технический долг, созданный агентом. Когда вы работаете в команде, вы учитываете, как координировать контекст между агентами разных разработчиков.

Основы работы с агентами для написания кода. Наконец, чтобы принимать правильные решения на протяжении всего процесса, вы хорошо понимаете, как работают агенты для написания кода: как они осуществляют поиск/извлечение информации из кодовой базы, как управляют своими контекстными окнами, как различные операции (например, добавление вызовов инструментов, MCP-серверов и т.д.) влияют на контекст, как взаимодействуют агенты и подагенты, и как агент построен путем оборачивания обвязки (harness) вокруг LLM. Это делает агента менее «черным ящиком» и помогает вам распознавать режимы сбоев, такие как излишнее усложнение простого решения, потеря строгости из-за отсутствия у агента явного процесса верификации, остановка до достижения цели или действия агента, которые рискуют уничтожить файлы или производственные данные. Это также помогает вам рассуждать о состоянии агента и направлять его, давая ему правильные предписания или контекст. А при мониторинге выполнения это понимание позволяет вам лучше замечать, когда агент сбивается с пути и требует вашего вмешательства.

Я считаю, что в социальных сетях часто дают упрощенные описания того, как использовать агентов для написания кода. Например, иногда полезно позволять агентам работать автономно в течение нескольких часов и сжигать миллионы или десятки миллионов токенов. Но в настоящее время практическая полезность задач с очень длинным горизонтом планирования — особенно относительно их стоимости — была преувеличена. Вместо этого наиболее эффективное использование агентов для написания кода представляет собой сложный, высоко итеративный процесс, и возможность вмешиваться с высококвалифицированным суждением дает гораздо лучшие результаты.

Ваше мастерство в использовании агентов для написания кода сделает вас эффективным создателем. Это позволит вам также управлять общей сборкой. Я расскажу об этом подробнее в будущей статье.

Сохранение в один клик

Используйте YouMind для глубокого чтения вирусных статей с помощью ИИ

Сохраняйте источники, задавайте точные вопросы, обобщайте аргументы и превращайте вирусные статьи в полезные заметки в одном рабочем пространстве ИИ.

Исследовать YouMind
Для авторов

Превратите ваш Markdown в аккуратную статью для 𝕏

Когда вы публикуете длинные тексты, изображения, таблицы и блоки кода, форматирование в 𝕏 становится мучением. YouMind превращает полный черновик в Markdown в чистую статью, готовую к публикации в 𝕏.

Попробовать Markdown для 𝕏

Другие паттерны для анализа

Недавние виральные статьи

Смотреть другие виральные статьи