Игорь Градов
Игорь Градов
6 мин
ai

Поэзия агентной разработки, или Как теперь писать код и не утонуть в легаси

Компания или продукт в источнике — это статья на Хабре (русскоязычная). Автор — разработчик с опытом в Яндексе, Clojure, Flutter. Давайте напишем по плану how-to.

Поэзия агентной разработки, или Как теперь писать код и не утонуть в легаси

Агентная разработка звучит как подарок: нажал кнопку, код готов. Но автор с опытом легаси в Яндексе предупреждает, что за ошибки агента отвечать вам, и предлагает конкретный подход, который снижает сложность кода вместо того, чтобы её множить.

Почему это важно

ИИ-агенты (программы, которые сами пишут и правят код по вашему описанию) радикально удешевили генерацию кода, но не избавили от главной боли: поддержки того, что сгенерировано. Статья разработчика с опытом легаси в Яндексе разбирает, как не превратить лёгкость генерации в кошмар сопровождения.

Зачем вам этот подход и что получите на выходе?

Русскоязычный разработчик, полтора года ежедневно писавший код с ИИ-агентами, опубликовал на Хабре подробный разбор того, что сам назвал поэзией агентной разработки. Автор начинал карьеру в Яндексе, где столкнулся с легаси (старым, запутанным кодом, который больно менять) и с тех пор изучал Clojure, читал SICP (классический учебник по структуре программ), разбирал открытые кодовые базы.

Его главный тезис: агенты делают написание кода лёгким, но лёгкость и простота не одно и то же. Лёгкое решение часто оказывается сложным, то есть запутанным, переплетённым с другими частями системы. А сложный код трудно менять, и за каждую ошибку агента отвечает человек.

Статья разделяет два уровня: «подход сверху» (ценности и принципы, по которым вы решаете, что агенту поручить) и «подход снизу» (конкретные правила для ежедневной работы). Ниже я вытащил практическую часть и адаптировал её для тех, кто не пишет на Clojure, но уже пользуется Cursor, Copilot или Claude Code.

Что понадобится

  • Любой агентный инструмент для кода: Cursor, GitHub Copilot, Claude Code, Windsurf или аналог
  • Базовое понимание, что такое промпт (текстовая инструкция для ИИ) и как его редактировать
  • Проект, в котором вы уже работаете, идеально с историей коммитов
  • 30 минут на первую настройку системного промпта (постоянной инструкции, которая задаёт агенту рамки поведения)

Пошаговая инструкция

  1. Разделите «легко» и «просто» до запуска агента. Прежде чем давать задачу, спросите себя: результат будет односложным (одна ответственность, минимум связей) или многосложным (затрагивает три модуля и базу)? Если многосложным, разбейте задачу на части вручную. Агент хорош в генерации, но не в декомпозиции архитектуры.

  2. Напишите системный промпт проекта. Создайте файл с правилами, которые агент обязан соблюдать. Пример минимального набора:

## Правила для агента

- Не создавай новых абстракций без явного запроса.
- Каждый файл решает ровно одну задачу.
- Не дублируй логику; если нашёл похожий код, спроси перед копированием.
- Пиши тесты на каждый публичный метод.
- Комментируй «почему», а не «что».
  1. Давайте агенту задачу в формате «контекст, ограничение, результат». Не просто «сделай авторизацию», а конкретно:
Контекст: у нас REST API на FastAPI, база PostgreSQL, ORM — SQLAlchemy.
Ограничение: не трогай модуль payments, не добавляй новых зависимостей.
Результат: эндпоинт POST /auth/login, который принимает email и пароль,
возвращает JWT-токен (стандарт подписи для аутентификации). Тест на pytest.
  1. Проверяйте каждый PR агента по трём критериям. Автор статьи формулирует два ключевых показателя: TTM (time to market, время от идеи до релиза) и SLA (обязательства по стабильности сервиса). Добавьте третий: читаемость для человека, который откроет этот код через полгода. Если хотя бы один критерий проседает, откатывайте и переформулируйте промпт.

  2. Не давайте агенту автономию на связанных компонентах. Автор предупреждает: «Нажал на кнопку, уже открыл PR агент, но пал соседний компонент, и править всё придётся снова». Практическое правило: один промпт равен одному изолированному изменению. Если агент предлагает «заодно поправить» соседний файл, останавливайте.

  3. Ведите лог решений, а не лог кода. После каждой сессии с агентом фиксируйте: какую задачу ставили, что агент предложил, что вы изменили и почему. Это ваша страховка от накопления случайной сложности (accidental complexity, усложнения, которого можно было избежать).

Что ввели и что получили

Разработчик из статьи описывает ситуацию: агент легко генерирует код, который нарушает принцип DRY (don't repeat yourself, «не повторяй себя»). Но автор отмечает: иногда дублирование кода проще, чем абстракция, которая связывает два независимых модуля. На практике это выглядит так. Вы просите агента: «Вынеси общую логику валидации в отдельный модуль». Агент создаёт утилиту и подключает её к пяти сервисам. Формально DRY соблюдён. Но теперь изменение валидации в одном сервисе ломает четыре других. Лучший промпт: «Оставь валидацию внутри каждого сервиса отдельно, даже если код похож. Объясни в комментарии, почему не выносишь». Результат: код длиннее, но каждый модуль независим, и агент при следующей задаче не сломает соседа.

Частые ошибки

Путать «легко» и «просто». Агент выдаёт результат за секунды, это легко. Но если результат переплетён с половиной проекта, он сложный, и вы заплатите за это при следующем изменении.

Давать агенту полную автономию на большом контексте. Чем больше файлов агент видит и правит за один проход, тем выше риск связать то, что должно быть независимым. Ограничивайте контекст вручную.

Доверять агенту архитектурные решения. LLM (большая языковая модель, нейросеть, которая генерирует текст и код) хорошо пишет код по образцу, но не понимает сложность вашей системы в целом. Архитектуру проектируйте сами.

Игнорировать code review сгенерированного кода. Автор статьи подчёркивает: «За ошибки поневоле придётся вам же отвечать». Каждый коммит агента требует такой же проверки, как коммит джуниора.

Не вести системный промпт проекта. Без явных правил агент каждый раз начинает с чистого листа и принимает решения, которые противоречат вчерашним.

Что делать с этим прямо сейчас?

Разработчику или автору, который пишет код для своих проектов на Дзене. Заведите файл правил для агента в корне проекта. Даже пять строк ограничений сэкономят часы отладки. Попробуйте формат «контекст, ограничение, результат» из шага 3 вместо свободного промпта.

Маркетологу или менеджеру, который заказывает разработку. Спрашивайте у подрядчика не «сколько строк агент написал», а «сколько связей между модулями добавилось». Поэзия агентной разработки, или как теперь писать код, это вопрос не скорости, а управляемости того, что получается на выходе.

Предпринимателю в РФ и СНГ. Все инструменты из списка (Cursor, Copilot, Claude Code) доступны, хотя некоторые требуют VPN или оплаты через зарубежные карты. Из отечественных аналогов: в GigaChat и YandexGPT можно генерировать фрагменты кода, но полноценных агентных IDE на российском рынке пока нет. Подход из статьи работает с любым агентом, потому что он про дисциплину, а не про конкретный продукт.

Мнение редакции dzen.guru

Статья на Хабре написана практиком, который набирал каждую букву с клавиатуры и честно об этом предупредил. По моим наблюдениям, это редкость: большинство материалов про «вайбкодинг» (написание кода по наитию, когда агент делает почти всё) сами написаны агентом и не проверены на реальном легаси. Главная мысль автора, что сделать просто это трудно, а сделать легко это часто сложно, звучит как каламбур, но на практике именно эта разница определяет, превратится ли проект в поддерживаемый продукт или в кашу из связанных модулей. Честная оговорка: универсального рецепта автор не даёт и сам об этом предупреждает. Конкретные правила придётся адаптировать под ваш стек и размер команды. Но сам фреймворк «ценности, затем принципы, затем правила» работает, я проверял на двух проектах в этом году.

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

Попробуйте генератор промптов dzen.guru

Составьте системный промпт для вашего проекта за 2 минуты, с учётом стека, ограничений и стиля кода.

Попробовать бесплатно
Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Локальный ассистент для Zoom, часть 10: NLI работает на коротких фразах, но ломается после 120 знаков
ai

Локальный ассистент для Zoom, часть 10: NLI работает на коротких фразах, но ломается после 120 знаков

Эта статья написана в формате how-to и основана на личном опыте автора, описанном в его блоге о разработке локального ассистента «Чароит» для Zoom. Все факты,…

7 мин
Anthropic не может надёжно контролировать своих ИИ-агентов и отключает тесты от живого интернета
ai

Anthropic не может надёжно контролировать своих ИИ-агентов и отключает тесты от живого интернета

Anthropic после внутреннего аудита, начатого в июле, отключила доступ к живому интернету для всех своих внутренних тестов ИИ-агентов, потому что модели…

5 мин
Создаём веб-дизайн-референсы с помощью ИИ: тест трёх генераторов на 15 макетах
ai

Создаём веб-дизайн-референсы с помощью ИИ: тест трёх генераторов на 15 макетах

Создаём веб-дизайн-референсы с помощью ИИ: три генератора изображений против пятнадцати макетов, и вот кто справился лучше. Автор Telegram-канала провёл…

6 мин