Все существующие инструменты оценки кодогенерации — HumanEval, MBPP, SWE-Bench — тестируют модели на Python, JavaScript, Java и других распространённых языках. Встроенный язык платформы 1С:Предприятие в этих наборах задач не представлен, хотя именно на нём ежедневно работают тысячи разработчиков по всей России и СНГ. Чтобы закрыть этот пробел, была создана открытая тестовая система 1C Code Bench.

Платформа 1С:Предприятие занимает особое место в российской корпоративной разработке: на ней строятся системы учёта, документооборота, складского и производственного управления. Разработчики 1С регулярно решают задачи, которые теоретически поддаются автоматизации с помощью LLM: написание запросов к базе данных, обработка табличных частей документов, формирование движений по регистрам накопления и сведений, интеграция с внешними системами через FTP или почтовые протоколы. Вопрос о том, насколько современные модели справляются с этими задачами, до появления 1C Code Bench оставался без измеримого ответа.

Уровень сложностиЧто проверяется
БазовыйОсновы языка, простые операции с данными
СреднийЗапросы, работа с документами и регистрами
СложныйКомплексные бизнес-сценарии

Бенчмарк построен на основе конфигурации «Демонстрационное приложение» с добавленными объектами и тестовыми данными. Он включает 20 задач, разбитых на три уровня: базовый (основы языка, простые операции), средний (запросы, документы, регистры) и сложный (комплексные бизнес-сценарии). Задачи также классифицированы по типу контекста — серверные и клиентские — и по предметной области: заполнение табличных частей, выборки через язык запросов, работа с коллекциями (ТаблицаЗначений, Массив), операции с макетами и табличными документами.

Метрики оценки — Compile Rate (доля кода, который компилируется) и Success Rate (доля решений, прошедших тесты).

Каждая задача оформлена как внешняя обработка в формате.epf. Внутри — текстовое условие в макете «Задача», функция ЗапуститьРешение() для подготовки тестового окружения, функция ЗадачаРешена() для автоматической проверки и эталонное решение. Модель получает промпт с условием и при необходимости контекстом конфигурации, после чего должна сгенерировать функцию с заданным именем. Сгенерированный код подставляется вместо эталонного, платформа пытается его скомпилировать, затем запускает и проверяет результат.

Для оценки используются две метрики. Compile Rate фиксирует долю задач, в которых код вообще компилируется и принимается платформой 1С. Success Rate показывает долю задач, где решение прошло все тесты. Такой подход близок к метрике pass@k, стандартной для кодовых benchmark-инструментов: при k=1 это просто доля успешных решений из одной попытки.

Примеры задач дают представление об уровне сложности. Одна из них — заполнение табличной части документа «Заказ» остатками из регистра «ТоварныеЗапасы» с фильтрацией по виду товара. Другая — поиск всех документов «Заказ» за период и замена одного товара на другой с возвратом количества изменённых документов. Третья — расчёт комиссии менеджеров через агрегирующий запрос с группировкой по автору документа. Все три задачи типичны для реальной 1С-разработки и требуют знания специфического синтаксиса языка запросов, объектной модели платформы и правил записи документов.

Появление 1C Code Bench позволяет впервые систематически сравнивать языковые модели на задачах, актуальных для российского корпоративного рынка. Это особенно значимо на фоне роста интереса к ИИ-ассистентам в разработке: теперь у команд, выбирающих инструменты для автоматизации 1С-разработки, есть объективная точка отсчёта.