Собрали swe-bench-like датасет из верифицированных пар issue / merge request для оценки возможностей кодовых ассистентов
Для чего: расширенная версия оригинального SWE-Bench Verified на другие языки, стек для объективного автоматизированного тестирования SWE агентов.
Открытые и закрытые репозитории
Данные отфильтрованы по количеству измененных файлов
и строк кода
Данные отфильтрованы по качеству описания issue и соответствию описания issue решаемой задаче в merge request
Собраны сервисные файлы для воспроизведения задач в бенчмарке
Критерии оценки и дополнительные данные:
- Количество измененных файлов и строк кода
- Качество описания issue
- Качество написанного кода и тестов
- Сложность задачи
Языки: C#, C++, Go, Java, JS, Kotlin, PHP, Ruby, Rust, Scala, TS
- 7500 пар issue / merge request всего размечено
- 1500 пар issue / merge request, удовлетворяющих критериям оценки
Для чего: анализ истории траекторий агентов. Анализ работы агента с директорией, системой. Анализ «мыслительных» способностей агента. Анализ приводимых агентом решений.
Входные данные: логи работы каждого модуля ассистента при решении issue open-source проектов (системные инструкции, промпты, thought этапы, взаимодействие с системой и файлами, изменения файлов)
На что повлияло: обновление thought процесса агента.
Результат: оценка каждого шага агента (в том числе не только действия) по критериям, с подробным объяснением предполагаемого эталонного результата работы одного из модулей ассистента — в случае неудовлетворительной оценки.
Solution&Compilation Red Teaming
Для чего: поиск сложных, multi-turn кейсов использования LLM, вызывающих некорректные решения от LLM (корректность и достоверность решения, ошибки компиляции)
Исходные данные: история реальных диалогов пользователей с LLM, зафиксированный enviroment для тестирования решений LLM.
- AI тренер-эксперт изменяет исходный prompt, усложняя задачу так, чтобы через 1–2 дополнительных уточняющих промпта (turns) LLM сгенерировала некорректный ответ.
- Ответ LLM считается некорректным, если:
- Исполнение кода вызывает ошибки компиляции, исполнения и др.
- Код ответа не решает исходную задачу
На что повлияло: множественные ошибки компиляции в решениях
Результат: внутренний бенчмарк LLM клиента для определенного стека библиотек и кейсов их использования.
Цель: сгенерировать набор задач, на которых стабильная зарелиженная версия LLM допускает ошибки, что является фидбеком для улучшения.
Тестирование способности Retrieval-части искать по репозиторию файлы, потенциально значимые для отправки в context.
Для чего: использовали для бенчмаркинга текущей версии RAG по репозиторию, для поиска проблемных кейсов.
На что влияет: полнота анализа зависимостей проекта и генерация релевантных решений.
Как использовать benchmark: текстовое описание задачи подается в ассистента, логируется результат работы модуля retrieval поиска по репозиторию, сравнивается полнота с эталонным списком файлов.
Исходные данные: репозитории open-source проектов и их Issue.
Языки: C++, С#, Java, JavaScript, Go, Python, Flutter, Kotlin, PHP, TypeScript.
Для чего: тестирование агента на работу с внешними инструментами (API корпоративных почт, корпоративные платформы), соответствие и работу mcp. Тестирование thought процесса агента. Тестирование устойчивости к сниффингу и утечке конфиденциальных данных.
На что повлияло: выявлены множественные уязвимости безопасности обработки персональных данных.
Входные данные: логи работы агентной сети на реальных кейсах использования.
- Оценка по критериям каждого шага отдельного агента в сети, описание эталонного действия агента.
- Анализ и контроль обработки персональных данных агентами:
- Оценка по критериям каждого шага, связанного с обработкой персональных и конфиденциальных данных.
- Фиксация всех прецедентов некорректного распоряжения такими чувствительными данными.
Для чего: валидация Reasoning, Thought и Plan2Solve этапов ассистента
Входные данные: наборы {prompt, plan2solve, response}, где prompt — Issue из open-source проекта, остальное получено от анализируемой модели.
Результат: оценка Plan2Solve и Response по критериям с детальным описанием эталонного результата.
На что повлияло: обновления в Thought процессах ассистента.
Языки: Python, Java, JS, C++, Go, Kotlin.
Для чего: Fine-tuning модели клиента по эталонным примерам использования на заданиях из open-source разработки
Исходные данные: Issue репозиториев open-source проектов, перефразированные экспертами в prompt-задачу для LLM.
Результат: пары (Prompt-Response), где Response — ответ модели старшей версии, проверенный и отредактированный экспертом-разработчиком.
На что повлияло: добавление, обновление эталонного функционала использования модели.
Сценарии: Text2Code, Complition, Unit-test Generation, Bug Detection, Code, Repair, Translation
Языки: Python, C++, C#, Java, JS, Go.