Агентная оболочка Koda набрала 52,2% в Индексе Кода на модели DeepSeek V4 Flash, опередив KiloCode (49,5%), Claude Code (48,2%) и OpenCode (47,6%). Разрыв с ближайшим конкурентом — 2,7 процентного пункта. На уровне рассуждений Medium результаты плотнее: Claude Code — 46,9%, Koda — 46,3%, Ouroboros — 45,8%, KiloCode — 44,9%, OpenCode — 43,4%.
Харнесс — это агентная оболочка, через которую LLM взаимодействует с проектом. Модель не редактирует файлы и не запускает тесты напрямую: она получает системные инструкции, выбирает инструменты, читает результаты их работы и решает, что делать дальше. Одна и та же модель в разных оболочках может показать разный результат — из-за различий в инструментах, системном промпте или управлении контекстом длинной сессии. Даже небольшое расхождение на десятках шагов накапливается и даёт заметную разницу на выходе.
| Оболочка | Индекс Кода (Max) |
|---|---|
| Koda | 52,2% |
| KiloCode | 49,5% |
| Claude Code | 48,2% |
| OpenCode | 47,6% |
Чтобы отделить качество модели от качества оболочки, авторы запускали одинаковые модели с одинаковым уровнем рассуждений в Koda, OpenCode, KiloCode, Claude Code и Ouroboros. Для сравнения харнессов выбрали DeepSeek V4 Flash — бюджетную модель, популярную на Open Router. Замеры харнессов — дорогое занятие, поэтому остановились на недорогой модели. По словам авторов, DeepSeek V4 Flash «как родная» работает с их оболочкой.
На уровне рассуждений Max Koda показала 52,2%, KiloCode — 49,5%, Claude Code — 48,2%, OpenCode — 47,6%.
Индекс Кода — единый показатель, собранный из задач открытых бенчмарков. Он объединяет три категории: разработка в существующей кодовой базе, проектирование и реализация ПО, анализ данных. Все задания агентные: решить их одним сообщением нельзя. Агент работает в изолированной песочнице, самостоятельно ходит по файлам, запускает команды, читает ошибки и переделывает решение. На одну задачу могут уйти десятки обращений к модели. Большую часть сетевых возможностей и git-команд в песочнице отключили, чтобы агент не мог найти готовый патч в интернете или подсмотреть решение в истории репозитория.
Прогон состоит из 261 задачи. Для каждой есть воспроизводимая автоматическая проверка, которая определяет, решена задача или нет. Частичных баллов внутри одной задачи нет — результат либо принимается, либо не принимается. Задачи из категории «Проектирование ПО» весят в 2,5 раза больше остальных: в них недостаточно исправить несколько строк, нужно спроектировать и реализовать целый проект или крупную функциональность. Если прогон завершился с ошибкой или не уложился в лимит времени, задача считается нерешённой. Это делает итоговый индекс консервативной оценкой: инфраструктурные сбои не исключаются из знаменателя и не улучшают результат модели.
В категорию «Разработка» вошли 125 задач из пяти бенчмарков: SWE-bench Verified, SWE-bench Multilingual — Java, SWE-bench Multilingual — Go, SWE-bench Multilingual — JavaScript/TypeScript и WebApp1K. На входе агент получает рабочую копию реального репозитория на коммите до исправления и текст issue от пользователя. На выходе должен получиться патч к исходному коду. Изменять тесты запрещено. Решение засчитывается, если проходят скрытые тесты из настоящего pull request, закрывшего issue, и при этом не ломаются старые тесты проекта.
По этому эксперименту нельзя определить лучшую агентную оболочку вообще, так как для сравнения харнессов использовали только DeepSeek V4 Flash. Результаты показывают более узкую вещь: даже при фиксированных модели и уровне рассуждений реализация агентного цикла влияет на итог. На уровне Max разница между Koda и ближайшей оболочкой составила 2,7 процентного пункта, а на Medium результаты оказались заметно ближе — 0,6 п.п. между первым и вторым местом. Это указывает на то, что при меньшем бюджете рассуждений преимущество конкретной оболочки сглаживается, и выбор харнесса может быть менее критичен.

