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

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

Одна модель, разные harness: CodeAlive против OpenCode в исследовании кода

Когда агент отвечает на вопрос о большом репозитории, обычно обсуждают модель. В июле мы показали, что небольшой Qwen внутри harness CodeAlive обходит Sonnet. В этот раз мы оставили модель той же и поменяли только агента вокруг неё.

Эксперимент

Во всех конфигурациях работал DeepSeek V4.1 Flash с максимальным reasoning. Вопросы взяты из RepoContextBench v2: 20 по Microsoft Agent Framework (около 680 тыс. строк, трек Lite) и 20 по Sapling (около 1,6 млн строк, трек Hard). LLM-судья сверяет каждый ответ со взвешенными эталонными утверждениями и ставит оценку от 0 до 100.

Сравнивали три варианта:

  1. OpenCode, универсальный open-source агент для кода, со встроенными read, grep, glob и list по локальному checkout.
  2. Тот же OpenCode, к которому по MCP подключены поиск, чтение и граф CodeAlive, а в AGENTS.md написано ими пользоваться.
  3. Harness CodeAlive: наш исследовательский агент, который сделан под ответы на вопросы о коде и использует те же инструменты CodeAlive напрямую.

Результаты

HarnessLiteHardВсе 40
OpenCode49,343,946,6
OpenCode + CodeAlive MCP53,946,750,3
Harness CodeAlive74,056,765,3

На той же модели harness прибавил 18,7 пункта в среднем: 24,7 на Lite и 12,8 на Hard.

И сделал это с меньшим объёмом работы. На треке Hard:

Hard, 20 задачOpenCodeHarness CodeAlive
Вызовов инструментов1 157459
Секунд на задачу297104

Вызовов в 2,5 раза меньше, времени на задачу почти втрое меньше. OpenCode тратил шаги на grep и чтение файлов целиком. Агент CodeAlive находил нужные символы через индекс и читал только их.

На Lite картина другая: harness CodeAlive тратил 50 секунд на задачу, OpenCode — 42. На меньшем репозитории наш агент исследовал код дольше, зато ответы получились на 24,7 пункта лучше.

Почему одних инструментов мало

Самая показательная строка в таблице та, что с MCP. OpenCode получил те же инструменты CodeAlive и активно ими пользовался: на Lite это 186 вызовов grep CodeAlive, 112 чтений и 74 семантических поиска. Оценка выросла на 3,7 пункта. Полный harness дал в несколько раз больше.

Инструменты одни и те же, разница в цикле вокруг них. Наш агент начинает с семантического поиска и идентификаторов артефактов, а не с обхода директорий. Читает по символам: fetch_artifacts возвращает нужную функцию или класс вместе с вызывающими и вызываемыми, а не файл на 2 000 строк. Результаты инструментов заканчиваются подсказкой следующего шага: что делать с этим результатом. Особенно это помогает небольшим моделям. Повторяющиеся одинаковые вызовы ловятся и перенаправляются, пока не съели бюджет шагов. А исследование агент завершает явно, когда доказательств достаточно, а не когда кончился лимит.

OpenCode рассчитан на то, чтобы в одном цикле править код, запускать команды и читать файлы. Наш harness делает одну работу: находит нужный код и отвечает по нему. Под эту задачу настроены и промпт, и инструменты.

Ограничения

Это внутренние диагностические прогоны, по одному на конфигурацию, а не запись в опубликованном лидерборде. Повтор одного и того же прогона сдвигал оценку примерно на ±2 пункта, это намного меньше разницы выше. Оценивает LLM-судья по фиксированной рубрике. Несколько задач, по которым основной судья (Muse Spark 1.3) не вынес вердикт, оценил запасной (GPT-5.6 Luna).

Если вы уже работаете с агентом для кода, быстрее всего дать ему контекст репозитория через CodeAlive MCP. Но в наших прогонах основной прирост дала передача самого исследования отдельному агенту. Что добавляет граф вызовов, мы разобрали в статье GraphRAG по коду, а насколько точен сам граф — в статье Насколько точны открытые индексаторы графа кода.

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

Новые статьи

Следите за работой, а не за маркетинговой воронкой

Одно прямое письмо после публикации. Без отслеживания открытий и кликов, продаж и чаще одного раза в день.

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

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