Мой ИИ-агент для написания кода постоянно давал сбои — что я изменил

Шесть недель назад мой ИИ-агент для написания кода выдавал мусор.

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

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

Я использую ИИ-агента для 40% своей инженерной работы. Он занимается рефакторингом, генерацией тестов и поиском багов. Когда моя кодовая база была запутанной, ИИ делал этот беспорядок в три раза хуже.

ИИ не заменяет дисциплину. Он лишь усиливает то, что у вас уже есть.

Вот как я изменил свой рабочий процесс, чтобы исправить результат:

  • Тесты должны проверять поведение, а не состояние. Перестаньте писать тесты вроде assert user is not None. Это ложь. Тест должен проверять конкретные данные, например assert user.email == expected_email. Если тест слабый, ИИ воспользуется этим.

  • Читайте каждый diff. Раньше я принимал рефакторинг, не глядя в код. Это приводило к циклическим зависимостям и запутанной архитектуре. Если вы не можете объяснить, почему изменение лучше, отклоняйте его.

  • Делайте состояние явным. Не позволяйте ИИ «догадываться», как обрабатывать кэш или сессии. Определяйте их в своих промптах или схемах. Неявное состояние приводит к скрытым багам, которые обрушивают продакшн.

  • Пишите собственные тесты для изменений агента. Каждый раз, когда агент меняет код, я сначала пишу тест сам. Это занимает 15 минут, но экономит часы отладки.

  • Требуйте «громких» ошибок. Если изменение проходит тесты, но нарушает логику, система должна это фиксировать. Никогда не принимайте «тесты пройдены, выпускаем» как валидную метрику.

Результаты:

  • Количество багов в неделю снизилось с 5 до менее чем 1.
  • Время на отладку сократилось с 6 часов до 1 часа в неделю.

Агент не изменился. Изменился я.

Если вы используете ИИ-агентов, сначала приведите в порядок кодовую базу. Улучшите тесты, сделайте состояние явным и ужесточите процесс ревью.

Агент — это зеркало. Убедитесь, что вам есть что усиливать.

Источник: https://dev.to/susiloharjo/my-ai-coding-agent-kept-breaking-what-i-changed-4l5f

Опциональное обучающее сообщество: https://t.me/GyaanSetuAi