Правила осторожного кодинга снижают эффективность ИИ‑агента на 13 %

Правила осторожного кодинга снижают эффективность ИИ‑агента на 13 %

Кодирующие ИИ‑агенты становятся всё более популярными: они могут автоматически исправлять ошибки, писать функции и даже рефакторить проекты. Однако в сети появилось предупреждение от Андрея Карпати, который отметил, что такие модели часто делают необоснованные предположения и продолжают работать, не проверяя результат. На основе его поста сообщество сформировало файл с четырьмя «правилами дисциплины», который теперь вставляют в промпты большинства агентов, в том числе в Claude Code. Сам файл содержит четыре пункта: думай перед кодом, выбирай простейшее решение, меняй только нужные строки и проверяй результат до тех пор, пока тесты не пройдут.

Чтобы проверить, действительно ли эти рекомендации повышают качество кода, автор сравнил работу одного и того же агента – модели Qwen 3.6‑27B, 4‑битной квантизации (Q4_K_M) – в двух режимах: со стандартным набором инструкций и с тем же набором, но дополненным полным текстом правил. Тестирование проводилось на наборе SWE‑bench Lite, включающем сто реальных багов из GitHub, при ограничении в 30 вызовов инструментов, контексте 32 000 токенов и температуре 0. Эксперимент повторяли трижды на RTX 4090, каждый раз сравнивая парные запуски. Для управления моделью использовался фреймворк SWE‑agent, который через function‑calling передаёт запросы и применяет изменения к коду с помощью встроенного редактора str_replace.

Результаты оказались однозначными: базовый агент исправил 47, 49 и 45 багов, тогда как версия с правилами — лишь 40, 43 и 40. Среднее падение составило шесть задач, что соответствует снижению эффективности почти на 13 %. Статистический анализ (t‑тест, p≈0,009; тест Мак‑Немара, p≈0,022) подтвердил, что различие значимо и не является случайным отклонением.

Главная причина ухудшения – излишняя осторожность. Правила заставляют агента «думать перед кодом», вносить только точечные изменения и избегать рефакторинга. На практике это приводит к тому, что агент реже ломает существующие тесты (регрессионных проверок ≈ 99,9 % против ≈ 96 % у базовой версии), но одновременно исправляет меньше реальных дефектов, потому что ограничивает количество и объём правок.

Для пользователей ИИ‑помощников это важный компромисс: более «безопасный» агент сохраняет чистоту репозитория, однако стоимость такой чистоты – снижение количества исправленных багов. При выборе стратегии стоит учитывать цель проекта: если приоритет – минимизировать риск регрессий, правила могут оправдать себя; если же важнее быстро устранять ошибки, лучше оставить модель без дополнительных ограничений. Исследователи предлагают разрабатывать динамические подсказки, которые активируются только при обнаружении риска регрессии, что может объединить преимущества обеих стратегий.

Пожалуйста, войдите, чтобы прокомментировать

0 комментариев