Перейти к основному содержимому
CodeAlive 3.0: от context engine к агенту для исследования кода
CodeAlive

Ко всем статьям

RepoContextBench v1: что показал 41 прогон

Агент может уверенно ответить на вопрос о репозитории, прочитав не те файлы. Поэтому удачное демо почти ничего не говорит о качестве исследования.

Мы сделали 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 / режимQualityCertificationСреднее время задачиСтоимость прогона
Claude Fable 5 maxClaude Code, стандартная политика агента80,7%25%85,3 с$14,08, данные провайдера
Qwen 3.6 35B A3B highCodeAlive agent, deep, DeepInfra77,6%15%60,7 с$0,21, оценка
Claude Opus 4.8 maxClaude Code, без субагентов77,5%20%73,6 с$7,71, данные провайдера
Qwen 3.6 35B A3B maxCodeAlive agent, deep, Scaleway75,7%10%30,5 с$0,08, оценка
GPT-5.6 Luna highCodex CLI75,4%10%66,3 снет данных

В таблице сравниваются целые системы, а не только модели. На результат влияют harness, инструменты, reasoning effort, провайдер и режим исследования.

Диаграмма качества RepoContextBench v1 относительно стоимости одной задачи. Claude Fable 5 лидирует по quality, а прогоны Qwen 3.6 через CodeAlive находятся в более дешёвой части наблюдаемой Pareto frontier.

По оси стоимости используется логарифмический масштаб. Каждая точка — сочетание модели, 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%).

Сравнение Gemini 3.5 Flash с выключенным и включённым semantic search. Quality вырос на 3,1 пункта, токенов стало на 15,8 процента меньше, расчётная стоимость снизилась на 7,7 процента, а задержка выросла на 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 со всеми прогонами открыты, чтобы перед доверием к рейтингу можно было проверить задачи, траектории и оценки.

БенчмаркиContext EngineeringАгенты для кода

Дайте агентам всю кодовую базу

Проиндексируйте первый репозиторий за минуты — или попробуйте демо без регистрации.