Эта страница переведена с английской документации. Команды, идентификаторы и примеры не изменены. Среда выполнения 7.24.4 · SDK 2.6.7. Английский оригинал
Повторная проверка клиентов AX Code и OpenCode: 19 сентября 2026
Статус: действует
Область: измеренный диагностический снимок
Последняя проверка: 2026-09-19
Владелец: среда выполнения ax-code
Эта повторная проверка использует исходный код AX Code 62895cf40a39e0ebd4afec0afa21044e9871aa0b после исправления локального
префикса (42908b46a) и добавления провайдеров MTPLX и oMLX. Все шесть сочетаний клиента и сервера
используют один и тот же артефакт Qwen3.8 27B AXQ 6-bit с включённым MTP на Apple M3 Max, 128 ГиБ.
Более ранние измерения остаются историческим свидетельством.
Их пакеты моделей, промпты, пределы токенов и условия кэша отличаются. Это не контролируемая
оценка «до и после» ускорения от исправления префикса.
Скорость доставленного вывода
Каждая ячейка — первая задача / повторная задача, в токенах в секунду. Это одиночные наблюдения, не медианы. Повторная задача начинает новый сеанс CLI против того же процесса сервера. Попадание в кэш не предполагается. Загрузка и ожидание первого вывода из этой скорости исключены.
| Клиент | AX Engine | MTPLX | oMLX |
|---|---|---|---|
| AX Code | 11.73 / 13.60 | 18.73 / 19.69 | 17.48 / 16.60 |
| OpenCode | 22.49 / 18.98 | 27.91 / 26.35 | 20.33 / 20.64 |
Оценка — это (completion tokens - 1) / (last output payload time - first output payload time).
Спекулятивное декодирование может выдать несколько токенов в одной нагрузке, поэтому это оценка доставки клиенту,
а не собственный счётчик decode сервера. Полную пропускную способность запроса она тоже не меряет.
Тайминг запроса, нагрузка и приёмка
NR значит, что сервер не сообщил расход кэшированных токенов. Ноль это не утверждает. Время первой нагрузки
начинается, когда локальный записывающий прокси получает запрос модели. Стеночное время CLI также включает запуск
клиента и завершение. Задача просит автономный общий кэш LRU на TypeScript с get, set,
delete и clear, без выполнения инструментов и правок файлов.
| Сервер | Клиент | Задача | Входные токены | Выходные токены | Кэшированные токены | Первая нагрузка (с) | Стена CLI (с) | Проверки кода |
|---|---|---|---|---|---|---|---|---|
| AX Engine | AX Code | первая | 29,896 | 268 | NR | 197.78 | 231.58 | пройдено |
| AX Engine | AX Code | повтор | 29,896 | 268 | 29696 | 7.22 | 33.34 | пройдено |
| AX Engine | OpenCode | первая | 17,316 | 216 | NR | 100.86 | 112.83 | пройдено |
| AX Engine | OpenCode | повтор | 17,316 | 228 | NR | 116.03 | 129.90 | пройдено |
| MTPLX | AX Code | первая | 36,708 | 285 | 0 | 246.67 | 269.43 | пройдено |
| MTPLX | AX Code | повтор | 36,708 | 285 | 36708 | 0.04 | 20.48 | пройдено |
| MTPLX | OpenCode | первая | 18,729 | 276 | 0 | 108.67 | 121.00 | пройдено |
| MTPLX | OpenCode | повтор | 18,729 | 276 | 18729 | 0.08 | 12.77 | пройдено |
| oMLX | AX Code | первая | 33,124 | 275 | 0 | 212.25 | 235.62 | пройдено |
| oMLX | AX Code | повтор | 33,124 | 232 | 32768 | 4.41 | 23.34 | пройдено |
| oMLX | OpenCode | первая | 17,316 | 213 | 0 | 118.03 | 130.88 | пройдено |
| oMLX | OpenCode | повтор | 17,316 | 261 | 16384 | 7.73 | 22.91 | пройдено |
Проверки приёмки кода смотрят отсутствующие ключи, поиск значения, вытеснение LRU, удержанные записи, свежесть обновления, удаление существующих и отсутствующих ключей, очистку, тождество объектных ключей и ложные значения. Порождённые файлы также проходят строгую проверку TypeScript. Эти ограниченные проверки не устанавливают широкое качество написания кода. Все строки измерений сохраняют порождённый вывод и результат валидации. Неудачи молча не заменяются более быстрыми повторами.
Условия MTP и среды выполнения
- AX Engine 7.4.0:
--mlx-mtp-policy required, флаги управляемой локальной среды, ускорение n-грамм и наложение n-грамм выключены. Живые метрики процесса показываютax_engine_mlx_mtp_model_policy_active=1с ненулевыми счётчиками черновика и принятых токенов. Снимок AX Code следует за прогревом. Снимок OpenCode следует за первой задачей. Оба включают прогрев и не являются итогами приёмки по задачам. Счётчики черновика AX Code по задачам не сохранены. - MTPLX 2.11.3 / MLX 0.32.2: явный
--generation-mode mtp --depth 3. Живое здоровье сообщаетgeneration_mode: mtpиruntime_mode: Sustained MTP. Переписывание агентом и кэш сеанса SSD выключены. Собственный банк сеанса в памяти остаётся включён. Собственные прогревы запуска и ядра сохранены и исключены из тайминга. Несвязанный прогрев загрузки завершился. Статус фонового прогрева на момент допуска сохранён в данных, а не предполагается завершённым. - oMLX 0.6.4 / MLX 0.32.0: Lightning MTP включён, глубина 3, загрузка модели только для текста, параллельность один. Журналы по поколениям записывают принятие черновика и выполнение по глубинам для прогрева и обеих задач. Вышестоящий импортёр sidecar переименовывает 15 тензоров. Их dtype, форма и байты нагрузки остаются тождественными исходному sidecar AXQuant. Веса основы не изменены.
- Артефакт:
AutomatosX/AX-Qwen3.8-27B-MLX-AXQ-6bit-MTP, ревизия4d36d652c21590f6813495351c3baf5fca5b3831. Метаданные артефакта объявляют глубину MTP 1. Рекуррентная глубина 3 здесь следует выбранной политике среды или явному эксперименту и не расширяет сертификацию артефакта. Пакет модели Optimized-Speed в этой повторной проверке не используется. - Версия OpenCode — 1.18.31. Все серверы и клиенты идут последовательно. Каждая пара клиента и сервера запускает свежий процесс и изолированный кэш задачи, затем несвязанный прогрев загрузки модели с потолком 64 выходных токена. Загрузка модели и этот прогрев из таблицы исключены. Первая задача всё ещё платит холодный prefill. Управление вентилятором оставлено по умолчанию, а файлы основы лежат на хранилище SMB.
Что согласовано и что остаётся разным
Оба клиента получают одни и те же замороженные полные инструкции проекта, задачу пользователя и четыре разрешённых инструмента
(glob, grep, read, skill). Исходный CLI AX Code использует настоящие идентификаторы провайдеров ax-engine, mtplx и
omlx. AX Engine использует свой проверенный контракт подключения через loopback с отдельно
запущенным сервером, несущим управляемые флаги. Интерфейс управляемой загрузки и запуска это не меряет.
OpenCode использует свой путь провайдера, совместимый с OpenAI. Конфигурация проекта выключена, и у каждого
клиента изолированные настройки и состояние. Собственные промпты клиента, схемы инструментов и заголовки сеанса остаются
целыми, поэтому отрисованные счётчики токенов и поведение кэша различаются.
Локальный записывающий прокси выравнивает температуру 0.55, top-p 1, top-k и min-p 0, штраф повторения 1,
штрафы присутствия и частоты 0, зерно 0, размышление выключено и потолок вывода 1 024 токена.
Для этой задачи без инструментов он принуждает tool_choice: none. Оба клиента настроены на контекст 65 536
токенов. Каждая строка проверяется на полный снимок инструкций, четыре имени инструментов,
общую выборку, один запрос, успешный выход CLI, естественную остановку и отсутствие выполнения инструментов.
Более длинные промпты AX Code могут увеличить и prefill, и работу внимания во время генерации. Разная длина ответов, содержимое, шаблоны среды, ядра и политики кэша не позволяют считать эти таблицы эталоном накладных расходов клиента при равных токенах. Активный MTP не гарантирует 30–40 токенов в секунду для полного контекста написания кода. Чтобы изолировать накладные расходы клиента или эффект исправления префикса, отдельно воспроизведите одинаковые сериализованные запросы и идентификаторы токенов с контролируемым выводом и условиями кэша.
Этот отчёт не меняет поведение облака, частного GPU, провайдера CLI и AX Trust. Инструкции подключения см. в руководстве по настройке локальной среды, а точные тайминги, счётчики, хеши, результаты валидации и свидетельства MTP — в очищенных данных измерений. Частные инструкции проекта, ответы модели, локальные пути и заголовки сеанса хранятся локально и не публикуются. Поэтому полную нагрузку частного контекста нельзя независимо воспроизвести по одному публичному отчёту.