Месяцами с агентным результатом фронтирной модели можно было спорить, но
нельзя было его прогнать. Модель открыта — иногда; бенчмарк публичен — как
правило; обвязка, которая превращает модель в агента, — закрытый инструмент
вендора, всегда. В августе для одной лаборатории эта отговорка перестала
работать. DeepSeek выпустил релизную сборку V4-Pro под лицензией MIT, открыл
агентный харнесс, которым снимает свои результаты, — тоже MIT, — и написал в
карточке модели,
как получены строки по агентным задачам на код:
«Для code-agent-задач среди перечисленных выше публичных бенчмарков DeepSeek-V4-Pro-0813 оценивается через DeepSeek Harness в минимальном режиме в роли агентного фреймворка, с уровнем reasoning effort max и temperature = 1.0, top_p = 0.95».
Эта фраза говорит больше, чем большинство карточек целиком, и это я хочу зафиксировать раньше всего остального. В нашем плане публикаций это эссе числилось под заголовком «пустое табло V4-Pro: вендорские бенчмарки, снятые в собственном неопубликованном харнессе». Эта строка августа не пережила, и я с удовольствием отправляю её в архив. Фреймворк назван, режим назван, максимальный reasoning effort назван, сэмплирование названо. Обычное табло выдаёт цифру жирным и сноску «внутренний замер».
Доказательством это по-прежнему не является, и честность тут ни при чём. Строка на табло — это конфигурация, а число из бенчмарка — переодетый конфиг. Выпишите, от чего зависит одна строка агентного бенчмарка. Коммит харнесса: репозиторий — developer preview, который обещает ломающие изменения, так что «DeepSeek Harness» без хеша — имя движущейся мишени. Набор плагинов: архитектура там «всё — плагин», и что входит в «минимальный режим», определяет харнесс, а не карточка. Песочница с инструментами, внутри которой работал агент. Reasoning effort и сэмплирование — их карточка как раз даёт. Serving-стек под всем этим: сборка runtime, квантизация и модуль спекулятивного декодирования, который у них называется DSpark, — у него тоже есть версия. Версия самого бенчмарка. И сырые трейсы, запрос за запросом, которые оставило после себя каждое из этих решений. Карточка раскрывает верхнюю часть этого списка. Из списка число не пересчитает никто. Мы искали трейсы, из которых собрана таблица в карточке модели, и не нашли; в репозитории лежит BENCHMARK.md, до которого я ещё не добрался, так что читайте это как вопрос, а не как вердикт.
Про serving-стек я говорю не абстрактно. Мы обслуживаем младшего брата, V4-Flash, на паре DGX Spark, и «модель» менялась у нас прямо в руках, при том что ни один вес не поменялся. Я это уже рассказывал: флаг выбора ядра, который автоматический режим пропускает, — узнать, в каком классе производительности ты оказался, можно было только по строке в логе сервера; и набор опубликованных скоростей этой модели на этих двух коробках, где каждая скорость оказывалась верной, стоило пришпилить её к своим настройкам. Случай, который я ещё не рассказывал, — с одной из этих коробок под другой MoE-моделью: одна из квантизаций оказалась сломана в mainline-сборке, которую мы тестировали, и чекпоинт вдвое меньшего размера декодировал медленнее своего FP8-собрата. Строка на табло наследует всё это. Строки с метриками качества наследуют это незаметнее: не то ядро выдаёт себя пропускной способностью, а не тот дефолт сэмплирования не выдаёт себя ничем.
На каждой карточке и в каждом отчёте, которые мы публикуем, есть уровень доказательности — лестница, показывающая, сколько измерений стоит за числом: один валидный прогон, повторы на том же юните, второй идентичный юнит, воспроизведение вне лаборатории. В стороне от лестницы, не на ней, — vendor_disclosed. Число вендора остаётся там навсегда. Вендор может повторять прогон сколько угодно — оно остаётся там, потому что повтор той же стороной с той же заинтересованностью — это одна точка данных, набранная шрифтом покрупнее. Число поднимается, когда кто-то другой, со своими причинами этим интересоваться, прогоняет ту же конфигурацию и публикует трейсы. До нынешнего августа для этого семейства моделей такое было невозможно структурно. Теперь это просто работа, за которую никто не платит. Независимые оценки есть: Artificial Analysis приводит модель на максимальном reasoning effort в своём Intelligence Index — версионированном композите из нескольких тестов. Хорошо. Но композитный индекс — тоже конфигурация, выбранная третьей стороной с собственной обвязкой, то есть другая строка, а не воспроизведение вендорской. Строка вендора — в вендорском харнессе, с указанным коммитом и приложенными трейсами — всё ещё пуста. Кто заполнит её первым, того и число.
Теперь приложим ту же мерку к себе. Прогнать V4-Pro мы не можем. Наша пара держит Flash с тензорным параллелизмом на двух узлах, а Pro нужно во много раз больше памяти; честный вариант фразы «мы её оценили» для этой лаборатории — «не оценивали». Дорожка DGX к тому же ещё в стадии bring-up: всё, что есть на тех страницах, — публичный репозиторий прогонов с манифестом и сырыми выводами плюс пометка на каждой странице, что в реестр клеймов ничего из этого пока не попало. Строка, которую мы можем заполнить целиком, — дорожка реестра, с бандлом, которого хватит любому, чтобы пересчитать число. Каждый прогон там оставляет манифест, записи по каждому запросу — с отказами, никуда не вычищенными, — лог сервера и контрольные суммы на всё это. Digest образа, ревизия модели и хеш корпуса лежат в манифесте рядом с настройками, инвентаризация хоста снимается на старте и ещё раз на финише, так что тишина хоста — проверка, которая может провалиться, а не строчка в примечаниях. Опубликованные числа пересчитываются из этих записей в CI, а предложение остаётся в силе: кто прогонит кит для клейма из списка и пришлёт совпадающий бандл, поднимает клейм до external_reproduced; бандл, который не совпал, публикуется как расхождение и разбирается в открытую.
Открытый харнесс превращает «поверьте нам» в «запустите сами». Кому-то с другой мотивацией и достаточным объёмом памяти всё ещё нужно набрать команду — на коммите, которого карточка не называет. Пока этого не случилось, табло — обещание с отличной документацией.