Агент может уверенно ответить на вопрос о репозитории, прочитав не те файлы. Поэтому удачное демо почти ничего не говорит о качестве исследования.
Мы сделали RepoContextBench, чтобы проверять более узкую вещь: находит ли агент достаточно правильного контекста для точного ответа на обычный инженерный вопрос.
Первая версия опубликована целиком: датасет, gold answers, runner, контракт судьи, результаты по задачам, траектории инструментов и интерактивный dashboard. В этом отчёте разбираем первые 41 полный прогон.
Что измеряет бенчмарк
RepoContextBench v1 работает с одной версией microsoft/agent-framework, зафиксированной на коммите 47fa59f8e9d7b91e382834b42ecff45e22e2d890.
В датасете:
- 20 практических вопросов;
- 82 атомарных gold claims;
- 99 фрагментов исходного кода с доказательствами;
- 9 регрессионных тестов для судьи.
Вот один из вопросов:
Как параллельно запустить несколько специализированных агентов на одном запросе, а затем собрать их ответы в один результат?
Правильный ответ здесь не строка для точного совпадения. Это чеклист из четырёх взвешенных фактов: рассылка работы участникам, связи fan-out и fan-in, представление workflow как агента и альтернативный вариант через asyncio.gather, который тоже есть в репозитории. Каждый факт привязан к конкретным строкам исходников.
Answerer получает вопрос без изменений и исследует репозиторий. Затем фиксированный судья Codex CLI gpt-5.5 с high reasoning проверяет покрытие фактов, достоверность, работу с доказательствами, противоречия и конкретные утверждения без подтверждения.
Quality учитывает частично правильные ответы. Certification строже: ответ проходит её, только если правильно определена answerability, покрыты все critical и required claims, evidence use не ниже 75%, а судья не нашёл выдуманных конкретных утверждений или противоречий. Ошибки провайдера, сети, harness или судьи считаются проблемами прогона, а не ответами с нулевым качеством. В официальный результат попадает только прогон 20 из 20 без таких ошибок.
Время, токены и стоимость судьи хранятся отдельно и не входят в показатели answerer.
Quality и certification пока далеки друг от друга
На 17 июля лучший опубликованный quality score — 80,7% у Claude Fable 5 с max effort через Claude Code. При этом certification rate составляет только 25%.
Именно этот разрыв оказался полезнее самого первого места. Даже лучший агент часто покрывает большую часть ответа, но пропускает обязательный факт, слабо подтверждает вывод или добавляет конкретное утверждение, которого нет в прочитанных источниках. Один строгий pass rate этого не покажет. Один partial-credit score тоже скроет проблему.
В таблице сравниваются целые системы, а не только модели. На результат влияют harness, инструменты, reasoning effort, провайдер и режим исследования.
По оси стоимости используется логарифмический масштаб. Каждая точка — сочетание модели, harness и конфигурации. Стоимость прогона поделена на 20 оценённых задач. Пунктирная Pareto frontier отмечает лучшее наблюдаемое качество на каждом уровне стоимости, но не объясняет положение систем. На график попали 25 прогонов с данными о цене; 16 прогонов без цены исключены. Открыть график в полном размере. Исходные данные.
Контролируемые сравнения полезнее рейтинга
Для инженерных решений matched pairs полезнее leaderboard: в них меняется только одна настройка.
Что изменилось после включения semantic search
В публичных результатах есть одна matched pair с одинаковыми моделью, harness, режимом исследования и всеми остальными настройками. Отличается только semantic search.
У Gemini 3.5 Flash с medium effort включение semantic search изменило quality с 63,05% до 66,10% (+3,05 п. п.). Общее число токенов снизилось с 2,838 млн до 2,389 млн (-15,8%), а расчётная стоимость прогона — с $3,176 до $2,931 (-7,7%). Среднее время задачи выросло с 36,14 до 38,66 секунды (+7,0%).
Открыть сравнение в полном размере.
На каждой стороне этой пары только один прогон, поэтому разница в 3,05 пункта может укладываться в вариативность прогонов и судьи. Это направленный сигнал для конкретной конфигурации, а не универсальный коэффициент пользы semantic search или устойчивая оценка эффекта. Пара показывает именно тот trade-off, ради которого нужен бенчмарк: поиск может одновременно сократить контекст и улучшить ответ, добавив при этом задержку.
Что изменилось в deep mode
У Qwen 3.6 35B A3B на DeepInfra переход того же CodeAlive agent из standard в deep mode изменил quality с 72,75% до 77,60% (+4,85 п. п.), а certification — с 5% до 15%.
Расчётная стоимость выросла на 7,5%, число токенов — на 4,1%, а среднее время задачи — на 17,6%. Эта пара говорит в пользу deep mode, но одно наблюдение на каждой стороне не доказывает устойчивый прирост.
Чего эти результаты пока не доказывают
RepoContextBench v1 сделан прозрачным, но остаётся узким бенчмарком.
- Он охватывает одну версию одного репозитория и 20 задач.
- Все вопросы, ответы, claims и доказательства опубликованы. Ошибки легко проверить, но после публикации возможны contamination и настройка под датасет.
- Бенчмарк измеряет статическое исследование репозитория. Агент не может обращаться в интернет, запускать код и тесты, менять репозиторий или проверять runtime behavior.
- Даже с фиксированными промптом, схемой, моделью и регрессионным набором LLM-судья сохраняет некоторую вариативность.
- Один прогон остаётся одним наблюдением. Алиасы моделей, serving stack провайдера и цены меняются.
- Мы создали и сам бенчмарк, и CodeAlive agent, который присутствует в leaderboard. Публичные траектории, контракт судьи и регрессионный набор снижают этот конфликт интересов; наши строки стоит проверять, а не принимать на веру.
Поэтому текущие цифры описывают конкретные системы при опубликованном контракте. Это не универсальный рейтинг моделей или coding agents.
Датасет и runner, методика и dashboard со всеми прогонами открыты, чтобы перед доверием к рейтингу можно было проверить задачи, траектории и оценки.