Наконец-то: бенчмарк, который не спрашивает "Привет, мир!", а заставляет агента развернуть API
До сегодняшнего дня мир тестирования AI-кодеров напоминал школьную олимпиаду по математике: задачи красивые, абстрактные, но к реальной работе имеют отдаленное отношение. Генерируй функцию, напиши алгоритм, исправь баг в трех строчках. Скучно. Предсказуемо. Не похоже на работу.
ABC-Bench ломает эту традицию с хрустом. Это не очередной набор синтетических задач. Это полноценный полигон, где ваш агент должен пройти полный цикл backend-разработки: от чтения требований до развертывания работающего сервиса в Docker. Идея проста до гениальности: если агент не может настроить окружение и запустить контейнер, его код бесполезен.
Полный код ABC-Bench доступен на GitHub, а датасет с задачами — на Hugging Face. Это open-source проект, который можно форкнуть и адаптировать под свои нужды. Ссылки в конце статьи.
Что внутри? Не задачи, а мини-проекты
Забудьте про LeetCode. ABC-Bench предлагает 50 задач, каждая из которых — самостоятельный микросервис. Агенту выдают описание: "Создай REST API для управления задачами с аутентификацией JWT". И все. Ни подсказок, ни готовой структуры.
Агент должен:
- Проанализировать требования (да, иногда они противоречивы — как в реальной жизни)
- Выбрать стек технологий (Python/FastAPI, Node.js/Express, Go — что угодно)
- Написать весь код: эндпоинты, модели, middleware
- Создать Dockerfile и docker-compose.yml
- Написать тесты (опционально, но влияет на оценку)
- И самое главное — запустить все это в изолированном окружении
Именно на последнем шаге происходит магия. Или трагедия.
Результаты, которые заставят вас выпить кофе: 50% агентов не могут установить зависимости
Авторы протестировали ABC-Bench на современных моделях на январь 2026 года: GPT-4.5 Turbo, Claude 3.7 Sonnet, DeepSeek Coder V3, и нескольких open-source решениях вроде CodeLlama-70B и Qwen2.5-Coder-32B.
| Модель (версия на 22.01.2026) | Успешное развертывание | Основная проблема |
|---|---|---|
| GPT-4.5 Turbo | 58% | Ошибки в Dockerfile (неправильные этапы сборки) |
| Claude 3.7 Sonnet | 52% | Проблемы с зависимостями (версионные конфликты) |
| DeepSeek Coder V3 | 47% | Не понимает docker-compose сети |
| Qwen2.5-Coder-32B | 41% | Таймауты при установке пакетов |
Цифры говорят сами за себя. Половина агентов, которые прекрасно генерируют код, спотыкаются на элементарном pip install -r requirements.txt или сборке Docker-образа. Почему? Потому что их тренировали на чистых coding задачах, а не на операциях с реальным окружением.
Интересный факт: многие агенты пытаются установить несуществующие версии пакетов или используют устаревшие команды Docker. Видимо, их тренировочные данные не обновлялись с 2023 года.
Чем ABC-Bench отличается от других бенчмарков?
Вы наверняка слышали про BigCodeArena — там тоже есть исполнение кода. Но ABC-Bench идет дальше: это не просто запуск функции в песочнице, а полноценное развертывание.
Еще есть Terminal Bench 2.0, который проверяет работу в командной строке. Но он фокусируется на CLI-навыках, а не на end-to-end разработке.
ABC-Bench уникален тем, что измеряет именно способность агента завершить проект. Не написать код. Завершить проект. Разница колоссальная.
Как это работает технически? Магия изоляции
Каждая задача выполняется в свежем Docker-контейнере. Агент получает доступ к терминалу (через API) и должен с нуля создать рабочее приложение. Система автоматически проверяет:
- Собирается ли Docker-образ
- Запускаются ли контейнеры
- Отвечает ли API на health-check эндпоинты
- Проходят ли базовые интеграционные тесты
Оценка — не бинарная. За частично работающее решение (например, API отвечает, но аутентификация сломана) можно получить 0.5 балла вместо 1.0. Это стимулирует агентов проверять свои творения.
Кому нужен ABC-Bench? Не только исследователям
1. Разработчикам AI-агентов. Если вы создаете что-то вроде OpenAI Agent SDK для Java или кастомного кодера — тестируйте на ABC-Bench. Узнаете реальные слабые места.
2. Командам, внедряющим AI-ассистентов. Хотите понять, можно ли доверить агенту создание микросервиса? Запустите несколько задач из бенчмарка. Результаты покажут, готов ли ваш инструмент к продакшену.
3. Инженерам по ML-тестированию. Наконец-то появился стандартизированный способ сравнения разных моделей на реальных задачах. Не на синтетике.
Ограничения и странности бенчмарка
ABC-Bench не идеален. Во-первых, он требует значительных вычислительных ресурсов. Каждая задача — это свежий контейнер, который живет 10-15 минут. Тестирование 50 задач на одной модели занимает часы.
Во-вторых, есть субъективность в формулировках задач. "Создай API для блога" — это можно сделать на Django за 5 минут или на Go с нуля за час. Бенчмарк не штрафует за сложные решения, но и не поощряет простые.
В-третьих, нет учета безопасности. Агент может сгенерировать код с уязвимостями, но если он работает — задача засчитывается. Авторы обещают добавить security scanning в следующей версии.
Что дальше? Будущее за агентами, которые умеют дебажить
Результаты ABC-Bench ясно показывают: текущее поколение AI-кодеров — блестящие студенты, которые заваливают практику. Они знают теорию, но не умеют работать с реальными системами.
Следующий шаг — научить агентов дебажить. Не просто генерировать код, а анализировать ошибки сборки, читать логи Docker, исправлять проблемы с зависимостями. Кто-то уже работает над автономными QA-агентами, которые могли бы помогать в этом.
Мой прогноз: к концу 2026 года появятся агенты, которые будут проходить ABC-Bench с результатом 80%+. Но для этого их нужно тренировать не на чистых coding задачах, а на полных циклах разработки. Со всеми соплями: устаревшими пакетами, конфликтами версий, сломанными образами.
Пока же совет простой: если ваш агент отлично решает задачи на PropensityBench (где проверяют, как агенты ведут себя под давлением), но проваливает ABC-Bench — не доверяйте ему продакшен. Он напишет красивый код, который никогда не запустится.
Где взять и как начать?
Все просто:
- Репозиторий на GitHub: github.com/abc-bench/abc-bench (звездочки приветствуются)
- Датасет на Hugging Face: huggingface.co/datasets/abc-bench/abc-bench
- Документация с примерами запуска
Для локального тестирования нужно Docker и Python 3.10+. Клонируете репозиторий, настраиваете окружение, запускаете тесты для своего агента. И готовьтесь к сюрпризам — они гарантированы.
Лично я после знакомства с ABC-Bench пересмотрел свой подход к тестированию агентов. Теперь "работающий код" для меня означает только одно: код, который самостоятельно запускается в контейнере. Все остальное — просто текстовые упражнения.