Часть 2 · Мультиагентный режим · Сентябрь 2026

GPU для мультиагентного инференса:
где чат-логика ломается

Часть 1 отвечала на вопрос «какая карта быстрее печатает текст одному человеку». Здесь другой режим: 5–50+ параллельных агентов, у каждого — длинный промпт (системный промпт + тузы + история), короткий ответ, и все они конкурируют за одну vRAM и один GPU. Метрики, движки и победители меняются сильнее, чем кажется.

📊 6 конфигураций под мультиагент ⚙️ 4 движка: Ollama → llama.cpp → vLLM → SGLang 🧮 Интерактивный KV-калькулятор 📄 ← Часть 1: чат-режим, цена/качество

Чат (часть 1): 1 запрос → 1 ответ

Bottleneck: полоса памяти. GPU перечитывает активные веса на каждом токене. Скорость ≈ ГБ/с ÷ размер весов. TFLOPS почти не важны. KV-кэш — один, короткий.

Мультиагент: N агентов × (длинный префикс + короткий ответ)

Bottleneck: три одновременно. Prefill/TTFT (compute), KV-кэш на каждого агента (vRAM), aggregate throughput (батчинг + движок). И главное: движок даёт больший выигрыш, чем карта — до 19×.

01 · Вердикт сразу

TL;DR — как меняется расклад

Три вывода мультиагентного режима, если читать дальше лень. Всё остальное на странице — их доказательства.

🥇
Самый большой рычаг — бесплатно

Движок решает больше, чем GPU

Ollama → vLLM/SGLang = ×2.8–19
На том же железе, в тот же вечер
  • 3 агента: vLLM 342 tok/s против Ollama 124 tok/s (Blackwell, бенчмарк Allen Kuo)
  • Red Hat: vLLM 793 tok/s против Ollama 41 tok/s на пике — разрыв 19×
  • Prefix caching: TTFT на повторных промптах падает в разы; llm-d показывает до 57× на cache-aware роутинге
  • Вывод: сначала vLLM/SGLang, потом разговор о железе
Почему: Ollama обрабатывает запросы последовательно — один медленный агент блокирует остальных. Continuous batching в vLLM/SGLang держит всех параллельно.
🥈
Лучшая мультиагент-станция за деньги

2× RTX 3090 · два инстанса vLLM + роутер

≈ $2,000–2,600
48 ГБ · 2 независимых сервера моделей
  • Не TP=2 (PCIe душит), а два автономных инстанса — один модельный сервер на карту
  • Роутер с prefix-aware логикой прибивает группу агентов к «их» инстансу → кэш горячий
  • Qwen3.6-27B W4A16 на каждой карте: суммарно ~600–900 tok/s на батче
  • Ёмкость: 6–12 агентов на 27B или до ~56 на gpt-oss-20b (FP8 KV, два инстанса)
Почему: мультиагент масштабируется горизонтально — vRAM и KV-бюджет важнее одиночной полосы, а две независимые копии бьют одну «широкую» карту за те же деньги.
🥉
Одна карта — если без сборок

RTX 5090 · 32 ГБ

≈ $4,700–5,200
В мультиагенте 5090 оправдана лучше, чем в чате
  • Prefill — compute-bound: 104 TFLOPS против 35.6 у 3090 → TTFT на длинных промптах в 2–3× лучше
  • 32 ГБ = +8 ГБ чистого KV-бюджета: 27B Q4 держит 7–14 агентов @16K против 3–6 у 3090
  • gpt-oss-20b (3.6B активных): 12 ГБ весов + 18.5 ГБ KV → до ~49 агентов @16K
  • Чат-вердикт части 1 «переплата» здесь смягчается — но 2×3090 всё ещё вдвое дешевле
Почему: батч-декод и prefill наконец задействуют compute, который в чат-режиме простаивал. Это единственный сценарий, где доплата за 5090 имеет физическое обоснование.
02 · Физика

Что меняется: четыре новых закона режима

В чате работала одна формула (полоса ÷ веса). В мультиагенте к ней добавляются три, и все три переписывают рейтинг карт части 1.

🔁

Батч амортизирует веса

В батче N агентов GPU читает веса один раз на forward pass, а токенов производит N. Aggregate throughput растёт почти линейно с N, пока не упрётся в compute. Декод перестаёт быть чисто bandwidth-bound — TFLOPS возвращаются в игру.

TTFT главнее tok/s

Профиль запроса агента: промпт 5–50K токенов, ответ 50–500. Prefill (чтение промпта) — compute-bound и занимает большую часть времени запроса. Карта с сильным prefill (5090, PRO 6000) ощущается «резче», даже с равным декодом.

🧠

KV-кэш ест vRAM на каждого

Каждый конкурентный агент держит свой контекст в vRAM: 2 × layers × kv_heads × dim × длина × байты. У 27B-класса это ~2 ГБ на агента @16K (FP8). 10 агентов = −20 ГБ. Свободная vRAM после весов = ёмкость по агентам.

🧩

MoE — лучшие агенты

gpt-oss-20b активирует 3.6B параметров: в батче 20+ агентов декод почти не падает на каждого, а качество — уровень 20B+. Весы маленькие, KV маленький → максимум агентов на гигабайт. MoE-first — стратегия №1 для мультиагента.

×2.8 → ×19

Разрыв между движками на одинаковой карте больше любого GPU-апгрейда. 3 агента: vLLM 342 vs Ollama 124 tok/s. Пиковый батч: vLLM 793 vs Ollama 41 tok/s (Red Hat).

Источники: Allen Kuo (kwyshell), апрель 2026 · Red Hat serving benchmark (re-validated 2026)
~1,000 tok/s

Одна б/у RTX 3090 на 64 конкурентных запросах — Qwen3.8-27B, W4A16 + int8-активации + FP8 KV + спекулятивный декод (DFlash2/MTP). Ванильный vLLM без тюнинга: ~370–500 tok/s на 48 конкурентных. Потолок карты в батче огромен — вопрос в софте.

Источник: syv-ai/qwen38-27b-rtx3090, замеры 22 авг 2026 (steady-state decode ~1,094 tok/s)

Что это значит для части 1: рейтинг «полоса за доллар» — метрика чата. В мультиагенте к ней добавляются «vRAM после весов» (ёмкость агентов) и «TFLOPS» (prefill/TTFT и батч-декод). 3090 остаётся королём цены, но её слабое место — prefill — здесь стреляет.

03 · Движки

Движки: сначала софт, потом железо

Выбор движка — самый дешёвый «апгрейд» в мультиагенте. Ниже — честная таблица по состоянию на сентябрь 2026, с цифрами на одинаковом железе где возможно.

Движок Параллелизм Prefix caching Cifry на одинаковой карте Когда брать
Ollamaобёртка llama.cpp, проще всех sequential OLAMA_NUM_PARALLEL есть, но prefill в очереди ограниченно 3 агента: 124 tok/s · пик: 41 tok/s 1 агент, локальная разработка, «поставил и забыл»
llama.cpp server--parallel N --cont-batching slots N слотов делят контекст поровну есть slot KV reuse между Ollama и vLLM; лучше на ≤8 агентах, single-stream быстрее vLLM 2–8 агентов, минимум возни, GGUF-кванты на любой карте (AMD/Intel/Arc)
vLLMстандарт продакшена continuous batching V1 по умолчанию --kv-cache-dtype fp8 3 агента: 342 tok/s · пик: 793 tok/s · 3090+27B батч: 370→942 tok/s дефолт для 5+ агентов, любой CUDA-карты; gpt-oss-120b — сейчас быстрее SGLang (2276 vs 330 tok/s на A100)
SGLangRadixAttention continuous batching radix-дерево, on by default prefix-heavy dense: +29% к vLLM-базлайну (16.2k vs 12.5k tok/s) многошаговые диалоги/тулы с общим системным промптом; кэш-попадания до 5× throughput

Движок × модель имеет значение: на gpt-oss-120b vLLM обставил SGLang в 6.9 раза в тесте GPUStack (2276 против 330 tok/s, A100), а на prefix-heavy dense-трафике SGLang плюс-минус 29% за счёт RadixAttention. Универсального победителя нет — меряйте на своей модели. TensorRT-LLM в таблице нет сознательно: его сборка для consumer-карт (3090/5090) — боль, выигрыш раскрывается на H100-классе.

04 · Калькулятор

Сколько агентов выдержит ваша связка

Ёмкость по агентам = (vRAM − веса − оверхед) ÷ (KV на один запрос). Подвигайте ползунки — это главный расчёт раздела. Оценки KV на токен помечены: проверенные — по формуле GQA, оценочные — со «~».

🧮 KV-калькулятор ёмкости

Считает конкурентность для одного инстанса движка. Для 2-инстансной сборки — умножьте результат на число карт.

16K
одновременных агентов
Веса модели
KV на одного агента
Свободно под KV
KV на всех агентов
Занято vRAM всего

Как читать результат: калькулятор отвечает «сколько агентов влезает по памяти». Скорость каждого при этом зависит от движка и модели: dense-27B при 10+ агентах начнёт делить decode-полосу, MoE (gpt-oss-20b, 3.6B активных) почти не заметит. Prefill на длинных промптах — отдельно: см. колонку TTFT в таблице ниже.

05 · Рейтинг

GPU в мультиагенте: пере-ранжирование

Те же карты, что в части 1, но колонки другие: ёмкость агентов (KV-бюджет), скорость батча, качество prefill. Расчёты ёмкости — при FP8 KV и контексте 16K на агента. «TTFT» — субъективная оценка prefill на агентных промптах 10K+.

Сортировка:
Конфигурация Цена Агентов @16K · FP8 Батч, tok/s (27B Q4) TTFT / prefill Комментарий
RTX 3090 (б/у) + vLLM24 ГБ · 27B Q4 → 3, gpt-oss-20b → 28 1,000–1,300 3 (27B) · 28 (20b MoE) ~370–450 · до ~1,000 тюнинг* слабый Ёмкость упирается в 6 ГБ после весов 27B; ниже модель — больше агентов. Prefill — ахиллесова пята
2× RTX 3090: 2 инстанса + роутер2 × (24 ГБ) независимых 2,000–2,600 6 (27B, 2×3) · 56 (20b, 2×28) ~750–900 · тюнинг ~2,000 слабый ×2 🏆 Лучший мультиагент за деньги
RTX 509032 ГБ · +8 ГБ KV-бюджета к 3090 4,700–5,200 7 (27B) · 49 (20b MoE) ~800–950 отличный Единственная одиночная карта, где мультиагент раскрывает compute. Цена — единственный минус
RTX 4090 (б/у) + vLLM24 ГБ · prefill лучше 3090 1,800–2,200 3 (27B) · 28 (20b MoE) ~500–600 средний Та же ёмкость, что 3090, но TTFT заметно лучше; если найдёте по $1,800 — берите
Strix Halo 128 ГБ + gpt-oss-120b63 ГБ весов · 53 ГБ под KV 1,800–2,400 95 (FP8) · 190 (Q4 KV) ~250–350 (MoE) очень слабый Рекорд $/агент на большом MoE; TTFT на холодных промптах 10K+ — страдание, prefix caching обязателен
Mac Studio 128–192 ГБ + MLXgpt-oss-120b · vllm-mlx 6,500–9,000 84 (128 ГБ) · 200+ (192 ГБ) ~600–1,000 (MoE) средний Тихий «сервер агентов» на полке; vllm-mlx даёт 21–87% к llama.cpp на Apple Silicon
RTX PRO 6000 96 ГБ + vLLMgpt-oss-120b: 63 ГБ + 31 ГБ KV ~16,000 56 (FP8) · 111 (Q4 KV) ~2,276 → 5,055 (A100-тест, масштаб) отличный Продакшн-эталон мультиагента: 29 агентов на 120B-модели с быстрым prefill. Если бюджет есть
RTX 5060 Ti 16 ГБ8B Q4 → 9 ГБ под KV 758–805 9 (8B) · 3 (14B) ~120–180 (8B) средний Микро-ферма агентов на 8B-моделях: работает, но потолок низкий
Intel Arc Pro B70 32 ГБllm-scaler/vLLM контейнер ~950 49 (20b MoE, теор.) · 7 (27B) ~100–150 слабый vRAM дешёвая, но serving-стек для продакшн-агентов сырой: vLLM только через контейнер Intel, llama.cpp — «roll of the dice»
Tesla P40FP16 = 1/64 FP32 240–350 ~30 (8B) катастрофа ❌ Нет для агентов: prefill без tensor cores, batch деградирует

* «до ~1,000»: замер syv-ai/qwen38-27b-rtx3090 (Qwen3.8-27B, W4A16+int8+FP8 KV+DFlash2) — 942 tok/s e2e / ~1,094 steady-state на 64 конкурентных. Это тюнинг-потолок одной 3090, не ванильная конфигурация. Числа батча для 5090/PRO 6000 — экстраполяция от полосы и A100-замеров, помечены «~».

06 · Архитектура

Четыре паттерна сборки: от простого к продакшн

Аппарат — половина решения; вторая половина — как разложены модель, кэш и агенты. Все конфиги ниже — на 2× RTX 3090, но паттерны переносимы.

A

Один инстанс, всё в одном

1–8 агентов

vLLM на одной карте, prefix caching включён, KV в FP8. Системный промпт и список тузов фиксированы байт-в-байт у всех агентов → повторная часть префикса не пересчитывается никогда. Проще некуда, чинить нечего.

⚠️ Любое изменение системного промпта (даже пробел) инвалидирует кэш всех агентов сразу.
vllm serve Qwen/Qwen3.6-27B-Instruct-GPTQ-Int4 \ --max-model-len 32768 \ --kv-cache-dtype fp8 \ # ×2 агентов на ту же vRAM --enable-prefix-caching \ # в vLLM V1 включено по умолчанию --max-num-seqs 16 \ # предел конкурентных последовательностей --gpu-memory-utilization 0.92 \ # отдаём vRAM под KV-пул --async-scheduling # +5–15% throughput на батче (GPUStack)
B

Два инстанса + prefix-aware роутер

8–40 агентов · рекомендую

Не TP=2, а два независимых модельных сервера — по одному на карту. Роутер (llm-d-стиль, или nginx с hash-by-session) прибивает сессию агента к «его» инстансу → KV-кэш конкретного агента всегда горяч. Ноль PCIe-синхронизации, отказоустойчивость (одна карта умерла — вторая работает), линейное масштабирование.

⚠️ TP=2 на 3090 через PCIe (~16–25 ГБ/с) отнимает 10–30% на тензор-коммуникациях — dual-instance почти всегда быстрее на двух картах без NVLink.
# инстанс 1 (порт 8001) и инстанс 2 (порт 8002) — идентичные конфиги CUDA_VISIBLE_DEVICES=0 vllm serve MODEL --port 8001 ... & CUDA_VISIBLE_DEVICES=1 vllm serve MODEL --port 8002 ... & # роутер: sticky по agent_id → кэш-локальность, llm-d даёт до 57× TTFT на таком роутинге
C

MoE-first: gpt-oss-20b как рабочая лошадка

20+ агентов на 24–32 ГБ

Для тул-коллинга и коротких ответов gpt-oss-20b (3.6B активных, Apache 2.0) — лучший агентный движок-модель: качество уровня 20B+, а батч-декод почти не делится между агентами, потому что активных весов мало. 12 ГБ весов оставляют огромный KV-бюджет. 120B-версия — когда есть 48+ ГБ.

⚠️ MoE-модель должна лежать в vRAM целиком: оффлоад экспертов в RAM убивает весь смысл батчинга.
D

Гибрид: маленькая + большая

роевые схемы, 50+ агентов

Классика мультиагентных фреймворков: 80% вызовов — рутина (парсинг, классификация, вызов тулзы) → маленькая модель на карте №1; 20% — синтез и рассуждения → 27B/120B на карте №2. Роутер по сложности запроса. На 2×3090: gpt-oss-20b (30+ агентов) + Qwen3.6-27B (6–10 «тяжёлых» агентов).

⚠️ Требует честной метрики качества: если маленькая модель путает тулы, роутер должен уметь отправлять на большую.
07 · Лестница

Сценарии по числу агентов: от 1 до 50+

Пять ступеней — с бюджетом и конфигом. Цены сентября 2026, США. «Агент» = сессия с контекстом 8–16K и короткими ответами.

1–4
личный swarm, dev
Хватит любой 16–24 ГБ карты и даже Ollama, но llama.cpp с --parallel 4 --cont-batching уже честнее: слоты не блокируются.
Та карта, что уже есть + llama.cpp
Апгрейд железа здесь ничего не даст — апгрейдните движок
5–16
рабочая команда агентов ★
Переход на vLLM обязателен (continuous batching), FP8 KV, prefix caching, модель по калькулятору: 27B на 24 ГБ → 3 агента, gpt-oss-20b → 28, качество+ёмкость = 14B → 6.
RTX 3090 (б/у) + vLLM — $1,150
Если агенты часто шлют промпты 20K+: присмотритесь к 4090/5090 из-за prefill
16–40
ферма, swarm-фреймворки
Горизонтальное масштабирование: два инстанса vLLM + sticky-роутер (паттерн B), либо MoE-first на одной широкой карте (паттерн C).
2× RTX 3090 dual-instance — $2,300
Альтернатива: 5090 + gpt-oss-20b (49 агентов @16K, лучший TTFT) — если бюджет $5K
40–95
MoE-конкурентность
Тут выигрывает big-MoE на unified-памяти: gpt-oss-120b держит десятки агентских контекстов, а активные 5.1B прощают узкую полосу на декоде. Prefill лечится prefix-кэшем.
Strix Halo 128 ГБ — $2,000–2,400
~95 агентов на 120B-модели (FP8 KV @16K) за цену одной 5090. TTFT — единственная цена вопроса
50+
продакшн-платформа
Тут локальное железо встречает экономику облака: 96 ГБ PRO 6000 (29 агентов на 120B + топ-prefill) или Mac Studio 192 ГБ; выше — аренда H100/B200 дешевле владения.
PRO 6000 ($16K) или аренда
Точка пересчёта: ~$2–3/час аренды против амортизации $16K — считайте свою утилизацию
08 · Итог

Вердикт части 2

Мультиагентный вердикт

Мультиагент — это другой спорт: сначала движок и KV-бюджет, потом полоса, и только потом TFLOPS.

Часть 1 выбирала карту по формуле «полоса за доллар», и RTX 3090 выигрывала вчистую. Часть 2 добавляет два независимых измерения: ёмкость по агентам (vRAM после весов, помноженная на дешёвый KV-кэш — FP8/Q4) и prefill/TTFT (compute). Победители не меняются — меняется расстояние: 5090 из «переплаты ×2.3» превращается в «обоснованную покупку, если TTFT и плотность агентов критичны».

Но самый большой вывод — про софт. Переход Ollama → vLLM/SGLang с prefix caching даёт больше, чем любой GPU-апгрейд: до 19× по throughput и до 57× по TTFT с cache-aware роутингом, против максимум ×2 между поколениями карт. Покупать карту «под мультиагент» до того, как движок настроен, — это покупать спорткар до водительских прав.

Практический чек-лист: (1) vLLM/SGLang + FP8 KV + prefix caching, системный промпт зашит байт-в-байт; (2) модель по калькулятору — gpt-oss-20b до 28 агентов на 24 ГБ (@16K FP8), 27B для качества до 3–7 агентов; (3) железо: одна 3090 ($1.15K) на 5–16 агентов, 2×3090 dual-instance ($2.3K) на 16–40 — лучший мультиагент-бокс сентября 2026, Strix Halo ($2K) на 40–95 через gpt-oss-120b, 5090 — если TTFT дороже денег.

Софт даёт
×2.8–19
Железо даёт
×1.5–2
Лучший бокс 16–40 агентов
2× 3090 · $2.3K
Агентов на 24 ГБ (gpt-oss-20b, @16K FP8)
28

🚫 Анти-паттерны мультиагента

Ollama на 5+ агентах — очередь prefill блокирует всех.
TP=2 на картах без NVLink для моделей, влезающих в одну карту, — теряете 10–30% зря.
Менять системный промпт между вызовами — инвалидирует весь prefix-кэш фермы.
P40/Arc для агентных ферм — prefill без tensor cores убивает TTFT; serving-стек Arc сырой.
Оффлоад MoE в RAM на батче — работает для одного агента, умирает на десяти.

🔮 Что следить до 2027

llm-d и cache-aware роутинг уже дают 57× TTFT — ждём зрелых релизов для single-box.
vllm-mlx (Apple): +21–87% к llama.cpp, continuous batching на MLX — Mac становится полноценным агентным сервером.
Спекулятивный декод в батче (DFlash2/MTP): 942→1,094 tok/s на одной 3090 — тренд переносится на все движки.
Q4-KV персистентный кэш (arXiv 2603.04428): KV на диск, 4× плотнее FP16 — выживание рестартов на edge.
NVFP4 на 5090: кванты KV/весов ещё плотнее — ёмкость агентов на 32 ГБ вырастет.

09 · Прозрачность

Методология и источники

Данные части 2 собраны 9 сентября 2026: 5 тематических прогонов (~170 страниц), чтение первичных бенчмарков, кросс-проверка ключевых цифр. Оценки помечены «~» в тексте.

Что измерено, что оценено

Измерено: движковые разрывы (Ollama vs vLLM), 3090-батч (syv-ai, 942 tok/s), gpt-oss-120b на A100 (GPUStack: 2276→5055 tok/s), SGLang +29% на prefix-heavy, KV-формула (5.37 ГБ @16K для 70B GQA FP16).
Оценено (помечено «~»): батч-числа 5090/PRO 6000 (экстраполяция полосы), KV на токен gpt-oss/35B-A3B (формула по архитектуре, без верификации), ёмкость Strix Halo.

Ограничения

• Конкурентность ≠ QPS: калькулятор считает память, не latency-бюджет.
• Числа батча зависят от длины промптов/ответов в тесте — сравнивайте профили запросов.
• SGLang vs vLLM: победитель зависит от модели (MoE ↔ dense) и версии — тестируйте на своей.
• Strix Halo/Mac числа — теоретическая ёмкость, реальная упирается в prefill-полосу.