Как сохранить удовольствие от программирования в эпоху ИИ-агентов
На форуме discourse.haskell.org вышел авторский пост о том, как не потерять радость от программирования на фоне повсеместного внедрения LLM. Автор, программист на Haskell, прямо указывает, что текст написан полностью человеком, без помощи ИИ, и что пост не о рисках биг-теха, а о личном рабочем процессе.
Основная идея: если отдать всё написание кода агентам, кодовая база постепенно превращается в «свалку для ИИ», понятную только самим агентам, а разработчик теряет навыки и контроль над проектом. Поэтому автор предлагает правило, писать код самому, а агентам поручать всё остальное: составление и ведение планов (todo-списков), исследование вопросов перед принятием решений, рутинную уборку кода и низкорисковый рефакторинг, а также автоматическую проверку (ревью) результатов работы других агентов.
По поводу проверки фактов, которые находит агент при исследовании, автор советует всегда просить его называть источники: по его оценке, примерно в 50% случаев агент сам обнаружит свою ошибку, если его переспросить об источнике, а в оставшихся 50% придётся самому прочитать источник и принять решение. Автор настаивает, что не стоит принимать и даже читать любой артефакт от LLM без автоматического цикла ревью, это касается и кода, и планов; например, отдельный агент-ревьюер должен проверять план на логические дыры (скажем, рефакторинг функции в одном пункте плана, которую только предстоит написать в другом).
Автор допускает, что можно оставить агенту доработку простых и понятных задач на ночь («меня нет, доделай»), но подчёркивает, что основную часть кодирования важно выполнять самому. Отдельно он предостерегает от слепого копирования похожих кусков кода агентом вместо использования абстракций языка.
В разделе о топовых («фронтир») моделях автор приводит реплику неизвестного собеседника из интернета, «вайб-кодера» (энтузиаста написания кода через диалог с ИИ без глубокой проверки), который упрекнул его в том, что он недоиспользует возможности топовых моделей. Автор соглашается, что это логичное следствие его позиции, но называет две причины не гнаться за максимальной автономностью моделей: топовые модели потребляют огромное количество энергии (по его словам, отчасти это догадка, поскольку компании-разработчики LLM не раскрывают детали работы своих систем), и в конечном счёте ответственность за произведённый код несёт сам человек, а не машина, переваливать вину на инструмент так же нелепо, как менеджеру перекладывать ответственность на сотрудника.
Ключевые факты
- Автор, программист на Haskell, опубликовавший пост на форуме discourse.haskell.org; текст написан без помощи ИИ
- Главный принцип: код пишет сам разработчик, а агентам поручают планирование, исследование и рутинную уборку кода
- При проверке источников, которые находит агент, есть, по оценке автора, около 50% шанса, что он сам обнаружит свою ошибку при переспросе; в остальных случаях источник нужно читать самому
- Автор советует не принимать и даже не читать результаты работы агента без автоматического цикла проверки (ревью)
- Низкорисковые задачи можно оставлять агенту на ночь, но основную часть кода важно писать самому; от использования топовых моделей автор предостерегает из-за их энергопотребления и того, что ответственность за код всегда лежит на человеке
Почему это важно
Пост описывает распространённую проблему среди разработчиков: страх выгорания и потери квалификации на фоне давления переходить на ИИ-агентов, а также разочарование в качестве сгенерированного кода. Автор предлагает не бинарный выбор «полный отказ от LLM или полная автоматизация», а конкретный средний путь, сохраняющий контроль программиста над кодовой базой.
Кому это важно
Разработчикам, которые уже используют или собираются использовать ИИ-агентов в повседневной работе с кодом, а также тимлидам и командам, которые формируют внутренние правила применения LLM в разработке.
Как это применить
Автор предлагает конкретное разделение труда: агентам, планирование (ведение todo-списков и файлов с фронтматтером), исследование с обязательной фиксацией источников, рутинная уборка и низкорисковый рефакторинг, автоматическое ревью кода и планов; человеку, само написание кода и итоговые решения. Рекомендуется всегда просить агента указывать источники и переспрашивать его о них, а также добавлять агента-ревьюера, который проверяет и код, и план на логические ошибки.
Можно ли доверять
Материал, личное эссе одного программиста на форуме Haskell-сообщества, а не исследование или официальная позиция компании; изложенные советы отражают личный опыт автора и его рабочий процесс, а не проверенные количественные данные. Автор отдельно подчёркивает, что текст написан без участия ИИ.
Риски и подводные камни
Автор предупреждает: если отдать генерации весь код, кодовая база и навыки программиста деградируют; LLM хуже, чем принято считать, справляются с написанием читаемого человеком кода; агенты склонны копировать похожие куски кода вместо использования абстракций; исследования агента нельзя принимать на веру без проверки источников; использование топовых моделей сопряжено с большим энергопотреблением, а ответственность за итоговый код в любом случае несёт сам разработчик, а не инструмент.
«Вы совершенно не используете то, на что способны топовые модели.»
— неизвестный «вайб-кодер» (энтузиаст написания кода через диалог с ИИ), реплика приведена автором поста