ИИ находит файл, но мажет по нужным строкам
Бенчмарк SWE-Explore: ИИ-агенты для кода почти всегда находят нужный файл, но берут лишь 14–19% строк, которые реально надо править. Всё дело в контексте.
Евгений Арсентьев · PhDИИ-агенты для кода надёжно находят нужный файл, но захватывают лишь 14–19% конкретных строк, которые реально надо менять — таков вывод SWE-Explore, нового бенчмарка от международной команды с участием Шанхайского университета Цзяо Тун. Это первое исследование, которое измеряет поиск кода сам по себе, отдельно от того, сработала ли итоговая правка, — на 848 задачах в 203 open-source проектах и десяти языках программирования.
Самое интересное — в разделении. Попроси агента вроде Claude Code, Codex или OpenHands найти баг — и он почти всегда поставит нужный файл в начало списка. Сфокусируйся на точных строках, которые надо править, — и точность рушится. Поиск по ключевым словам, отмечают авторы, на этом тонком уровне едва обгоняет случайное угадывание. И, что показательно, более сильная базовая модель пробел не закрывает. Слабость — в том, как агенты исследуют код, а не в «сообразительности».
Почему пропущенные строки ломают починку
Исследователи нашли порог: правка обычно срабатывает, только когда агент видит хотя бы 50–75% нужных участков кода. Ниже этого даже способная модель пишет уверенный, но неверный патч — она решает задачу, которую видит лишь наполовину. Ещё выяснилось, что упустить нужный контекст хуже, чем утонуть в лишнем, — а это противоречит инстинкту держать вход агента «постным». Эталонные решения команда брала из проверенных ответов GPT-5.4, Gemini 3 Pro, Claude Sonnet 4.6 и Kimi K2.6.
Если ты правишь код с ИИ, это объясняет знакомое раздражение: агент звучит уверенно, редактирует очевидный файл, а баг выживает. Он не ленился — он просто не увидел строк, где жила настоящая проблема. Практический вывод: узкое место сместилось. Чем умнее модели, тем меньше ограничителем становится рассуждение и тем больше — то, собрал ли агент нужный контекст, прежде чем начать печатать.
Это совпадает с тем, что я вижу в ежедневной работе: неудачные правки обычно проваливаются потому, что модель угадывала по тонкому срезу кодовой базы, а не прочитала её достаточно. Хорошая новость — это поправимо: можно самому дать контекст, который агент не найдёт сам.
Когда правка от ИИ не заходит, перестань повторять тот же запрос — вместо этого дай агенту недостающий контекст: вставь связанные файлы, упавший тест и функцию, которая вызывает сломанную. Попроси сначала объяснить, где живёт баг, прежде чем писать патч: если объяснение размытое — значит, нужные строки он ещё не нашёл, и любая правка будет догадкой. Относись к агенту как к быстрому джуну, который блестящ, когда смотрит в нужное место, и слеп, пока не туда.
Гайды по теме

Автор
Евгений Арсентьев
PhD · Директор по продукту (CPO) в tech-компании
Хочешь реально это построить?
Гайды объясняют. Бесплатный курс превращает — персонально, с геймификацией и заточенный на быстрый запуск.
◉ Начать бесплатный курсИсточник: the-decoder.com