Добавить объявление

Почему агенты пишут плохой код

Вокруг ИИ-агентов для разработки сформировался странный парадокс. Одни заявляют, что не писали код руками полгода и полностью делегируют задачи машине. Другие клянутся, что агенты глупые и не способны на что-то сложнее «Hello World». Оба мнения честны и оба - об одном и том же инструменте. Разрыв в результатах говорит не о качестве технологии, а о катастрофической разнице в подходе к ее использованию. Успех определяет не сам агент, а навык, стоящий за промптом.

Проблема не в инструменте, а в операторе:


Ключевое заблуждение - ожидать от агента волшебства. Это не искусственный общий интеллект, который читает мысли. Это сложный, но ограниченный инструмент, который действует строго по инструкции. Разница между командами «напиши код» и «напиши на Swift функцию, которая асинхронно загружает JSON по URL, обрабатывает ошибки сети и парсит результат в структуру User с полями id и name, используя современный async/await синтаксис» - это разница между хаотичным выводом и рабочим решением.

Главный навык - умение формулировать, а не писать код:


Роль разработчика трансформируется. Если раньше ценность заключалась в умении писать код, то теперь возрастает цена умения его описывать. Это смежная, но иная дисциплина. Требуется:

  • Декомпозиция: умение разбивать крупную задачу на последовательные, атомарные шаги, которые агент может выполнить.

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

  • Предвосхищение: прогнозирование потенциальных недопониманий и упреждающее их устранение в формулировке задачи.

Провальные паттерны коммуникации:


Большинство неудач происходят по шаблонным сценариям:

  • Слишком абстрактно: «Сделай красивый интерфейс». Агент не понимает, что такое «красивый» в вашем контексте.

  • Без контекста: «Пофикси баг». Агент не знает кодобазы, архитектуры и истории проблемы.

  • Противоречиво: «Код должен быть быстрым и читаемым, но еще и очень компактным». Это взаимоисключающие требования на этапе реализации.

Стратегия эффективного промптинга:


Вместо расплывчатых пожеланий нужен структурированная задача:

  • Роль: «Ты senior iOS-разработчик, специализирующийся на оптимизации производительности».

  • Цель: «Мне нужно реализовать фичу А в контексте Б для достижения цели В».

  • Контекст: «Вот текущая архитектура проекта, вот основные принятые в проекте требования».

  • Ограничения: «Нельзя использовать библиотеку X, минимальная версия iOS - 15, код должен проходить линтер с настройками Y».

  • Критерии успеха: «Код считается успешным, если он покрыт unit-тестами на 90%, не вызывает ошибок и соответствует всем указанным требованиям».


Именно такой подход позволяет опытным инженерам в самых сложных облостях получать качественный результат. Они не просят «написать код для банка», а описывают все требования.

Вывод:


Агент не заменит инженерное мышление. Он его усилит. Он снимет с вас рутину, если вы сможете ее четко описать. Но он не сформулирует за вас требования, не выберет архитектуру и не примет ключевое решение. Ваша ценность теперь определяется не столько умением транслировать мысль в синтаксис языка, сколько способностью мыслить системно и доносить эти мысли с беспрецедентной точностью. Если агент вас не слушается - это не его баг. Это фича, указывающая на пробел в самом фундаментальном и востребованном сейчас навыке.
02.02.2026 7 262