Умение воспроизвести простой столбчатый график по картинке — задача, с которой современные языковые модели справляются без особых затруднений. Но стоит усложнить условие — добавить несколько подграфиков, реальные данные из CSV-файла на миллионы строк и необходимость исправлять сломанный код в диалоге, — как результаты резко падают. Именно это зафиксировал новый benchmark RealChart2Code, разработанный командой исследователей из нескольких китайских университетов.

Benchmark строится на 2 800 тестовых случаях, извлечённых из 1 036 датасетов Kaggle суммарным объёмом около 860 млн строк. Это принципиально отличает его от предшественников — Plot2Code и ChartMimic, — которые опирались преимущественно на синтетические данные и одиночные диаграммы. RealChart2Code охватывает 50 типов графиков и проверяет три разных навыка: воспроизведение диаграммы только по изображению (Chart Replication), генерацию кода из изображения плюс сырых данных (Chart Reproduction) и итеративное исправление сломанного кода в диалоге с пользователем (Chart Refinement). Последний сценарий имитирует реальный рабочий процесс разработчика.

Среди 14 протестированных моделей — пять проприетарных и девять open-weight. Лучший результат показал Claude 4.5 Opus от Anthropic: 8,2 балла по восьми критериям визуальной точности. Gemini 3 Pro Preview от Google вплотную следует с 8,1 и занял первое место в задаче базовой репликации с оценкой 9,0. GPT-5.1 от OpenAI существенно отстал — 5,4 балла. Разрыв между проприетарными и open-weight моделями оказался значительным: лучшие из открытых, Qwen3-VL-235B и InternVL-3.5-241B, набрали лишь 3,6 и 3,4 соответственно. Наименьшая из протестированных моделей, DeepSeek-VL-7B, справилась с репликацией графиков лишь в 9,7% случаев — то есть сгенерированный код вообще не запускался в более чем 90% тестов.

Claude 4.5 Opus (8,2 балла) и Gemini 3 Pro Preview (8,1) лидируют среди проприетарных моделей; GPT-5.1 отстаёт с результатом 5,4.

A three-panel comic showing a user trying to recreate a complex chart with an AI and ending up with a flawed result.
A three-panel comic showing a user trying to recreate a complex chart with an AI and ending up with a flawed result. · Источник: The Decoder

Ключевой вывод исследователей — так называемый «разрыв сложности». Gemini 3 Pro Preview набирает около 96% (в нормализованном виде) на ChartMimic, но падает примерно до 50% на RealChart2Code. Для open-weight моделей провал ещё глубже: Qwen3-VL-235B показывает около 85% на ChartMimic и менее 25% на новом benchmark. Это означает, что хорошие результаты на устоявшихся тестах не гарантируют работоспособности в условиях, приближённых к реальным задачам.

Анализ ошибок выявил два принципиально разных паттерна отказов. Open-weight модели, в частности Qwen3-VL и InternVL, часто ломаются ещё на этапе исполнения кода: они «галлюцинируют» несуществующие библиотеки или вызывают недопустимые функции. Qwen3-VL-235B генерирует некорректные вызовы API — например, несуществующий параметр стиля Matplotlib — примерно в 20% случаев. Когда код всё же запускается, возникают проблемы с компоновкой: перекрывающиеся подграфики, сломанные сетки. Проприетарные модели — Claude 4.5 и GPT-5.1 — синтаксических ошибок почти не допускают, однако путают данные: визуальная структура выглядит правильно, но отдельные ряды данных оказываются на неверных осях или с несоответствующими атрибутами.

Отдельную проблему представляет итеративное уточнение кода. Исследователи описывают паттерн «регрессивного редактирования»: когда модель исправляет одну ошибку, она нередко ломает уже корректные части кода. Даже лучшие модели с трудом удерживают баланс между локальными правками и общей согласованностью программы. Для оценки результатов использовалась мультиагентная система, согласованность которой с экспертами-людьми составила 0,83 по шкале Коэна Каппа — высокий показатель для автоматизированного оценивания. Benchmark и код опубликованы на GitHub и Hugging Face.