Почему курированный контекст превосходит
объём контекста для AI-агентов
Исследования доказывают: точечное извлечение с агентным сбором контекста значительно превосходит массовую загрузку контекста
Доказательства неопровержимы: загрузка большего количества контекста в AI-модели активно ухудшает производительность. Исследования Stanford, Anthropic и производственные данные ведущих инструментов AI-кодинга показывают, что модели начинают давать сбои примерно на 25-30k токенов — значительно ниже заявленных размеров контекстного окна.
Выигрышный подход сочетает точечное извлечение с агентным сбором контекста, где AI сам решает, какая информация ему нужна. Эта подборка исследований предоставляет конкретную статистику, цитируемые результаты и конкретные примеры, демонстрирующие, что для код-ревью и других задач AI-кодинга меньшее количество высокорелевантных документов превосходит большие дампы контекста на 10-20%, а агентные подходы к извлечению достигают 7-кратного улучшения по сравнению со статической инъекцией контекста.
Проблема «Потерянного в середине» подрывает большие контекстные окна
Знаковая статья 2024 года «Lost in the Middle: How Language Models Use Long Contexts» авторов Liu и др. (Stanford/UC Berkeley, опубликована в TACL) выявила фундаментальный недостаток в том, как LLM обрабатывают длинные контексты. Исследователи обнаружили, что производительность значительно снижается, когда релевантная информация появляется в середине длинных контекстов — даже для моделей, специально разработанных для расширенного контекста.
В статье задокументирована характерная U-образная кривая производительности для всех протестированных моделей, включая GPT-4 и Claude. Модели хорошо справляются, когда критическая информация находится в начале или конце контекста, но точность существенно падает для информации, расположенной в середине. Как заявили авторы:
«Подача моделям более длинных входных контекстов — это компромисс: предоставление большего количества информации может помочь модели выполнить последующую задачу, но это также увеличивает объём контента, над которым модель должна рассуждать.»
Исследование «Context Rot» от Chroma Research в 2025 году расширило эти выводы, протестировав 18 LLM в тысячах экспериментов. Их заключение: «Во всех экспериментах производительность модели постоянно снижается с увеличением длины входных данных. Модели не используют свой контекст равномерно; вместо этого их производительность становится всё менее надёжной по мере увеличения длины входных данных.»
Это не незначительный эффект — Xiaodong Cui из IBM Research резюмировал: «Мы доказали, что качество примеров имеет значение. Другими словами, бесконечное увеличение контекстных окон может быть контрпродуктивным в определённый момент.»
Меньше документов при том же количестве токенов резко повышает точность
Пожалуй, самое яркое доказательство получено в исследовании Еврейского университета «More Documents, Same Length» (Levy и др., 2025), которое изолировало влияние количества документов, сохраняя общую длину контекста постоянной. Расширяя оставшиеся документы при уменьшении их количества, они устранили смешивающую переменную длины контекста.
10-20%
улучшение производительности при уменьшении количества документов с сохранением того же общего числа токенов
Результаты были однозначными: уменьшение количества документов при сохранении того же общего числа токенов улучшило производительность на 5-10% на MuSiQue и на 10-20% на 2WikiMultiHopQA. Добавление большего количества документов вызвало до 20% снижения производительности — даже несмотря на то, что модель получала тот же объём текста.
Исследователи заключили: «LLM испытывают трудности при работе с большим количеством документов, даже когда общая длина контекста остаётся неизменной. Это может быть связано с уникальными сложностями обработки нескольких документов, которая включает работу с информацией, распределённой по нескольким источникам, что может вносить конфликтующие или пересекающиеся детали.»
Продакшн-инструменты AI-кодинга обнаружили потолок в ~25k токенов
Paul Gauthier, создатель Aider (популярного open-source инструмента AI-кодинга), предоставляет прямые свидетельства практика:
«По моему опыту работы с AI-кодингом, очень большие контекстные окна бесполезны на практике. Каждая модель, похоже, теряется, когда вы даёте ей более ~25-30k токенов. Модели перестают следовать системным промптам, не могут правильно находить/транскрибировать фрагменты кода в контексте и т.д.»
Он отмечает, что это «возможно, проблема №1, с которой сталкиваются пользователи» AI-ассистентов для кодинга.
Исследовательская команда Cursor количественно оценила ценность выборочного извлечения с помощью A/B-тестирования. Их система семантического поиска обеспечивает на 12,5% более высокую точность при ответах на вопросы (от 6,5% до 23,5% в зависимости от модели), а изменения кода с большей вероятностью сохраняются в кодовых базах.
На крупных кодовых базах с 1000+ файлов сохранение кода улучшилось на +2,6% с семантическим поиском, тогда как его отключение увеличило количество неудовлетворённых пользовательских запросов на 2,2%. Команда Cursor подчёркивает: «Семантический поиск в настоящее время необходим для достижения лучших результатов, особенно в крупных кодовых базах. Наш агент активно использует grep наряду с семантическим поиском, и комбинация обоих даёт лучшие результаты.»
Агентное извлечение превосходит статическую инъекцию контекста в 7-21 раз
Формирующийся сдвиг парадигмы от статического RAG к «Агентному RAG» демонстрирует драматические улучшения производительности. Традиционный RAG имеет фундаментальные ограничения: это «одноразовое решение, означающее, что контекст извлекается один раз. Нет рассуждения или валидации качества извлечённого контекста», и он всегда извлекает «одинаковое количество top-k чанков независимо от сложности запроса или намерения пользователя».
Агентные подходы интегрируют автономных агентов в конвейеры извлечения, используя четыре паттерна проектирования: рефлексия, планирование, использование инструментов и мультиагентное взаимодействие. Доминирующий паттерн — ReAct (Reasoning + Acting), который работает в итеративных циклах Thought → Action → Observation.
Архитектура цикла ReAct:
- Генерация шага рассуждения
- Принятие решения о действии
- Выполнение инструмента
- Обновление контекста на основе наблюдений
Прирост производительности существенен:
+21 пп
Улучшение извлечения IRCoT на многоходовом рассуждении
7x
Улучшение Devin по сравнению со статическим извлечением на SWE-bench
91%
Reflexion pass@1 против 80% GPT-4 на HumanEval
Код-ревью остро демонстрирует компромисс между точностью и полнотой
Для AI-код-ревью в частности, доказательства однозначно говорят в пользу точности, а не полноты. Несколько исследований сообщают о 60-80% ложноположительных срабатываний для инструментов, оптимизирующих полноту, и 40% оповещений AI-код-ревью игнорируются из-за усталости от оповещений.
Режимы отказа хорошо задокументированы. Первоначальные реализации часто имеют экстремально высокое соотношение ложных/правильных срабатываний, «не учитывая контекст за пределами изменённых строк». После оптимизации ведущие инструменты резко снизили это, достигнув ожидаемого уровня ложноположительных срабатываний в 5-8% за счёт фокуса на высокодоверительных предложениях.
Крупномасштабное исследование, проанализировавшее 22 000+ комментариев AI-код-ревью, обнаружило:
- 3xЛаконичные комментарии с большей вероятностью принимаются к исполнению
- ЛучшеИнструменты уровня hunk (фокусирующиеся на конкретных фрагментах кода) превосходят инструменты уровня файла
- ВышеРевью, запускаемые вручную, имеют более высокий уровень принятия, чем автоматический спам
Практическая иерархия контекста для код-ревью
На основе исследований, типы контекста для код-ревью ранжируются по ценности:
Основной контекст
- Сам diff с окружающим кодом
- Стандарты кодирования, закодированные в конфигурационных файлах
- Описания PR, связанные с задачами — которые раскрывают намерение, а не только изменения
Высокоценный контекст
- Связанные файлы (импорты, тесты, зависимости), построенные с помощью анализа графа кода
- Предыдущие PR/история коммитов для распознавания паттернов
Ситуационный контекст
- Git blame для паттернов владения кодом
- Документация проекта из интегрированных инструментов, таких как Notion или Linear
Мультиагентная архитектура: курирование контекста на практике
Один из наиболее эффективных подходов к реализации курированного контекста — это мультиагентная архитектура. Вместо того чтобы передавать всё одной модели, специализированные агенты сосредотачиваются каждый на своей области — безопасность, производительность, архитектура, баги — с точным контекстом, который им нужен.
Этот подход естественным образом решает проблему объёма контекста: агенту безопасности не нужны бенчмарки производительности, а агенту обнаружения багов не нужна документация по стилю кода. Каждый агент получает сфокусированное, курированное контекстное окно, оптимизированное для его конкретной задачи.
В diffray мы построили нашу платформу код-ревью на этом принципе. Наша мультиагентная система доказала свою эффективность в продакшне, достигая значительно более низкого уровня ложноположительных срабатываний и более высокого принятия разработчиками по сравнению с подходами на основе одного агента.
Узнать больше о нашей мультиагентной архитектуре →Заключение: три принципа эффективного контекста
Исследования сходятся на трёх принципах управления контекстом AI-агентов:
1. Меньше — это больше, когда есть курирование
Исследование Еврейского университета доказывает, что даже при идентичном количестве токенов меньшее число высококачественных документов превосходит множество фрагментов на 10-20%. Модели испытывают трудности с синтезом информации, распределённой по нескольким источникам — консолидация улучшает рассуждение.
2. Позиция и структура так же важны, как и содержание
Феномен «потерянного в середине» означает, что критическая информация должна появляться в начале или конце контекста. Для код-ревью это означает приоритизацию diff и стандартов кодирования над исчерпывающим историческим контекстом.
3. Агенты, которые сами собирают контекст, превосходят статическую инъекцию
Переход от одноразового RAG к агентному извлечению — с итеративным рассуждением, использованием инструментов и самооценкой — даёт 7x+ улучшение на сложных задачах кодинга. Когда агент может решить «Мне нужно посмотреть тестовый файл для этой функции» и получить его, результирующий контекст по своей сути более релевантен, чем любое предварительно вычисленное извлечение.
Для инструментов код-ревью, таких как diffray.ai, эти результаты предполагают оптимальную архитектуру: систему выборочного извлечения, которая получает только наиболее релевантный контекст для каждого конкретного изменения, в сочетании с агентными возможностями, позволяющими ревьюеру исследовать связанный код по мере необходимости — рассматривая контекст как ограниченный ресурс для бюджетирования, а не дамп для максимизации.
Испытайте контекстно-осознанное код-ревью
Посмотрите, как мультиагентная архитектура diffray.ai применяет эти принципы — курированный контекст, специализированные агенты и агентное извлечение — для доставки действенных отзывов код-ревью.