> ## Documentation Index
> Fetch the complete documentation index at: https://comfyui-mcp.artokun.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Арена LLM

> Бенчмарк ЛЮБОЙ агентской LLM на настоящих задачах ComfyUI — локальной (Ollama), размещённой (OpenRouter/DeepSeek/GLM/MiMo) или передовой. Каждый балл проверяется против сервера ComfyUI, а не против заявлений модели. Одна команда, готовые к публикации отчёты.

**ComfyUI LLM Arena** честно отвечает на один вопрос: *может ли эта модель
реально управлять ComfyUI?* Не «звучит ли она уверенно» — исход каждого
сценария **проверяется против самого сервера ComfyUI** (история заданий,
параметры выполненного графа, настоящие выходные файлы и их размеры в
пикселях). Она работает через тот же
[компактный роутер инструментов](/docs/docs/ru/local-llms), которым пользуются
панель и MCP-клиенты, поэтому балл арены предсказывает реальное поведение
агента.

```bash theme={null}
npm run arena          # scores the default local field via Ollama
```

## Лестница задач

Десять сценариев, три полосы сложности, PASS = 2 (сделано и проверено
сервером), PARTIAL = 1 (правильное семейство инструментов, неполный исход),
FAIL = 0 — максимум **20**:

| Полоса   | Сценарий                                                                                                                                                                                                                                                                               | Что доказывает                                                         |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| Basics   | `health` · `models` · `registry` · `queue`                                                                                                                                                                                                                                             | обнаружение инструментов + одновызовные задачи                         |
| Gauntlet | `generate` (асинхронный рендер + опрос) · `precision` (точные steps/size попадают в выполненный граф) · `breakfix` (намеренный сбой → диагностика → восстановление) · `provenance` (найти реестр ассетов, перерисовать через generate\_image (action:"regenerate") с переопределением) | многошаговые цепочки, верность параметров, восстановление после ошибок |
| Crucible | `multiout` (ОДИН граф, сохраняющий выходы 512px + 1024px — проверяется чтением заголовков PNG) · `pipeline` (двухступенчатый img2img, связанный через `upload_image (action:"stage")`)                                                                                                 | чистая композиция графа — ни один шаблон это не покрывает              |

Ничьи разбиваются по **подталкиваниям → кругам инструментов → стенному
времени**, поэтому модель, которая берёт задачу с первой попытки, выше той,
которая барахталась до того же балла.

## Принесите свою модель

Арена говорит на двух диалектах — локальная Ollama и всё OpenAI-совместимое:

```bash theme={null}
# Local models (Ollama)
ARENA_MODELS="gemma4:e4b,qwen3:4b" npm run arena

# Any hosted model — one OpenRouter key covers most of the market
ARENA_API=openai ARENA_BASE_URL=https://openrouter.ai/api/v1 \
ARENA_API_KEY=sk-or-... ARENA_TIER=B-tier \
ARENA_MODELS="deepseek/deepseek-v3.2,z-ai/glm-5.1,xiaomi/mimo-v2.5" \
npm run arena

# Direct providers work too (any /v1/chat/completions endpoint):
#   DeepSeek:  ARENA_BASE_URL=https://api.deepseek.com/v1
#   vLLM/LM Studio: point ARENA_BASE_URL at your server
```

Результаты **сливаются между запусками** (гоняйте по одной модели, если
хотите) в `arena-results/`: JSON, полные транскрипты по сценариям и готовый
к публикации `arena-report.md`. Графику таблицы лидеров соберите так:

```bash theme={null}
node scripts/arena-graphic.mjs    # light + dark SVGs from your own results
```

Полезные ручки: `ARENA_TIER` помечает модели запуска (SoTA / B-tier / local);
`ARENA_OUT` перенаправляет вывод; `ARENA_MAX_ROUNDS` и
`ARENA_SCENARIO_TIMEOUT_MS` ограничивают разбежавшиеся модели;
`COMFYUI_DEFAULT_CHECKPOINT` фиксирует чекпоинт рендера (сделайте это, если
папка чекпоинтов начинается с модели не-txt2img).

**Требования**: работающий ComfyUI с чекпоинтом txt2img (SD 1.5 достаточно —
сценарии проверяются по содержанию, не по качеству), один раз `npm run build`
и либо Ollama, либо API-ключ.

## Что записывает каждый запуск

Помимо балла, каждая запись таблицы лидеров несёт оси, которые делают
результат действенным (#792):

* **Квантизация и размер параметров** (Ollama `/api/show`) и **резидентная
  VRAM** (`/api/ps`, снимается, пока модель ещё загружена) — чтобы «что
  реально потянет моя карта на 8 ГБ и хватит ли q4?» можно было ответить по
  таблице. Прогон той же модели на q4 / q8 / fp16 по лестнице показывает,
  где балл реально падает. Эти поля пусты, когда зонд не может ответить (у
  размещённых эндпоинтов нет эквивалента) — никогда не угаданы.
* **Версия comfyui-mcp**, проштампованная на каждой записи, чей запуск смог
  её прочитать (запуск, который не может прочитать версию своего пакета,
  записывается *unversioned*, ровно как запуск до штамповки). Абсолютные
  баллы двигаются, когда меняется поверхность инструментов, поэтому отчёт
  помечает любую таблицу лидеров, смешивающую версии (или unversioned
  запуски), как **не напрямую сравнимую**.
* **Каждый инструмент, за которым потянулась модель** при провале, а не
  только те, что удались. Когда 2+ модели проваливают один сценарий, выбрав
  один и тот же неверный инструмент (и ни один успешный прогон его не
  использовал), отчёт помечает **подозрительный сценарий** — полевой неверный
  выбор подозревает *описание* инструмента, а не пробел в способностях
  (прецедент: #557/#654, где неверной была наша формулировка, а не модели).
  Проверьте описание, прежде чем доверять баллам этого сценария.

## Текущая таблица лидеров

<img className="block dark:hidden" src="https://mintcdn.com/artokun/5H8lTKcgPKI2HLeL/images/arena-leaderboard-light.svg?fit=max&auto=format&n=5H8lTKcgPKI2HLeL&q=85&s=53c8899647453e90103622a7d841e926" alt="Таблица лидеров ComfyUI LLM Arena" width="860" height="734" data-path="images/arena-leaderboard-light.svg" />

<img className="hidden dark:block" src="https://mintcdn.com/artokun/5H8lTKcgPKI2HLeL/images/arena-leaderboard-dark.svg?fit=max&auto=format&n=5H8lTKcgPKI2HLeL&q=85&s=b8a4133c1fa471ebb48396bf91e81156" alt="Таблица лидеров ComfyUI LLM Arena" width="860" height="734" data-path="images/arena-leaderboard-dark.svg" />

14 моделей, best-of-3 на верхнем кластере. Главные находки:

* **gemini-3.1-pro-preview — единственная модель, которая идеальна каждый
  прогон** (20-20-20).
* claude-opus-4.8 и gpt-5.5 оба доходят до 20, но в других прогонах теряли
  балл.
* **B-tier в одном балле от передовых** — GLM-5.1 (19-19-19, самая стабильная
  модель в поле), Kimi-k2.5 и MiMo-v2.5 на 19 — за малую долю цены передовых.
* Небольшие локальные модели закрывают basics и части gauntlet, но
  спотыкаются на композиции графа crucible; llama3.1:8b вообще не держит
  формат инструментов.

Мы будем рады прогонам сообщества моделей, которых мы не покрыли — выложите
свой `arena-report.md` (и графику) в
[GitHub discussion](https://github.com/artokun/comfyui-mcp/discussions) или
issue, с GPU + тегами моделей, чтобы результаты были сравнимы.

## Дымовой тест панели

Балл арены доказывает headless-управление инструментами; `npm run smoke:panel`
доказывает, что та же модель выживает в **живой боковой панели** (стриминг,
гейтинг ходов, 6-инструментный роутер через мост). Он поднимает изолированный
оркестратор на каждую модель на своём порту и проводит один настоящий ход:

```bash theme={null}
SMOKE_MODELS="gemma4:e4b,xiaomi/mimo-v2.5" npm run smoke:panel
```
