Бенчмарк · agentic

SWE-bench Multilingual

7 результатов 5 моделей

SWE-bench Multilingual проверяет, может ли ИИ-агент по программированию решать реальные issue с GitHub, редактируя репозиторий кода на разных языках программирования. Оценка — % Resolved: доля из 300 задач, чьё исправление проходит собственные тесты проекта.

Подробнее
Пример
Тип задачи: агенту дают отчёт об ошибке из реального open-source репозитория (например, на Go, Java или Ruby) вместе с кодовой базой на коммите до исправления, и он должен создать patch, редактирующий один или несколько файлов, чтобы устранить описанную проблему; эталонного решения не предоставляется.
Метрика
Метрика — % Resolved: каждый из 300 экземпляров оценивается как пройден/не пройден, а итог — процент пройденных. Экземпляр засчитывается, только если после применения patch агента все тесты Fail-to-Pass (нацеленные на баг) проходят и все тесты Pass-to-Pass (существующее поведение) по-прежнему проходят.
Приёмка
Patch проверяется запуском тестового набора репозитория в изолированном container: назначенные тесты Fail-to-Pass должны теперь проходить, а все тесты Pass-to-Pass — оставаться зелёными. Любой сбой, ошибка или неприменимый patch помечают экземпляр как нерешённый; частичного зачёта нет.
Почему важно
Он проверяет навыки программирования за пределами Python на 9 языках и 42 реальных репозиториях и показывает, что модели решают заметно меньше issue на языках вроде Go, Rust или PHP, чем на Python, — более честная проверка кросс-языковой обобщающей способности в разработке ПО.
Разбор примера
Задача
Иллюстративный репрезентативный пример. Репозиторий: Go-библиотека строковых утилит на коммите до исправления. Issue: Reverse() паникует / возвращает искажённый текст на строках с многобайтовыми символами UTF-8. Тест Fail-to-Pass TestReverseUnicode ожидает, что Reverse("héllo") == "olléh". Агент получает только текст issue и репозиторий — без эталонного patch.
Решение
func Reverse(s string) string {
	r := []rune(s)
	for i, j := 0, len(r)-1; i < j; i, j = i+1, j-1 {
		r[i], r[j] = r[j], r[i]
	}
	return string(r)
}
Разбор
Исходный код разворачивал строку побайтово, что разрезает многобайтовые руны UTF-8 и портит символы вроде é; преобразование в срез []rune и обмен концов разворачивает по кодовым точкам Unicode, поэтому Reverse("héllo") даёт "olléh". Оценка: засчитано, только если тест TestReverseUnicode (Fail-to-Pass) теперь проходит и все тесты Pass-to-Pass по-прежнему проходят в container.
0 21 42 63 84 2025-07-11 2026-01-15 2026-07-22 Kimi K2 · 47.3 · 2025-07-11 Kimi K2 · 47.3 · 2025-07-28 Kimi K2 · 47.3 · 2025-07-28 Kimi K2-Instruct · 47.3 · 2025-07-11 Kimi K2 Thinking · 61.1 · 2025-11-07 Composer 2 · 73.7 · 2026-03-27 Laguna S 2.1 · 78.5 · 2026-07-22
Kimi K2 Kimi K2-Instruct Kimi K2 Thinking Composer 2 Laguna S 2.1
Хронология
Дата Модель Результат Источник
2026-07-22 Laguna S 2.1 78.5% Poolside выпускает Laguna S 2.1 — открытую модель для агентного программирования с весами
2026-03-27 Composer 2 73.7% Cursor опубликовал технический отчёт по обучению агентной модели Composer 2
2025-11-07 Kimi K2 Thinking 61.1% Moonshot AI выпустила Kimi K2 Thinking, открытую модель рассуждений на 1 трлн параметров
2025-07-28 Kimi K2 47.3% Moonshot выпустила Kimi K2, открытую агентную MoE-модель с 32B активных параметров
2025-07-28 Kimi K2 47.3% Kimi K2: открытая MoE-модель с 1T параметров и оптимизатором MuonClip
2025-07-11 Kimi K2 47.3% Moonshot AI выпустила Kimi K2: MoE-модель с 1 трлн параметров и агентными возможностями
2025-07-11 Kimi K2-Instruct 47.3% Moonshot AI выпустила Kimi-K2-Instruct, MoE-модель на 1 трлн параметров с агентными возможностями