Вопрос, который рано или поздно задаёт каждый покупатель мини-ПК на 128 ГБ, — не «сколько токенов в секунду он выдаёт», а «сможет ли им пользоваться моя команда из пяти человек». Опубликованные бенчмарки почти никогда на него не отвечают: они меряют один поток и рапортуют скорость декода. Здесь та же коробка под одновременной нагрузкой, измеренная так, как её чувствуют пользователи.
Что мерили
Один Beelink GTR9 Pro (Ryzen AI Max+ 395, 128 ГБ unified) с llama.cpp server на сборке Vulkan, запиненной по digest образа, обслуживающий Qwen3.6-35B-A3B Q4_K_M, запиненный по хэшу артефакта. Ворклоад — замороженный корпус повседневных человеческих запросов: сообщения, письма, объяснения, планы, а не бенчмарк-промпты. Reasoning выключен; каждый запрос судят гейты формата, языка и повторов, отказавшие запросы остаются в знаменателе.
Между тремя ячейками меняется ровно одна переменная: сколько запросов находится в полёте одновременно — один, четыре, восемь.
Ожидание, измеренное
На одном потоке ассистент отвечает за 210мсunit_replicated. При четырёх одновременных чатах медианное ожидание становится 338мсrepeated, при восьми — 865мсrepeated.
Форма кривой важнее любой отдельной цифры: первый токен остаётся в пределах секунды на всей лестнице, но рост не бесплатный — переход от четырёх к восьми одновременным пользователям стоит дороже, чем от одного к четырём. Решение о размере команды, принятое по одной однопоточной цифре, ошибётся в ту сторону, которая бьёт больнее.
Что не сломалось
Завершаемость держалась на каждой ступени: 100.0% запросовunit_replicated на одном потоке, 100.0% запросовrepeated на четырёх, 100.0% запросовrepeated на восьми. Ни один запрос не был отброшен, обрезан или возвращён пустым из-за конкурентности. Что бы эта коробка ни делала под нагрузкой, она не отказывает молча.
Чего это НЕ говорит
- Это не заявление о ёмкости. «Восемь одновременных запросов» — не «восемь сотрудников»: реальные команды работают рывками, простаивают между сообщениями и вставляют длинные документы. Человек — не запрос.
- SLO заранее не согласовывался, поэтому operating envelope здесь нет. Честный результат — форма ожидания, а не число поддерживаемых пользователей.
- Один юнит, один артефакт, одна сборка runtime, один корпус. Нагрузка с доминирующим префиллом (вставленные документы, RAG-контексты) ведёт себя иначе — это работа по long-context и doc-session, а не эта.
- Reasoning выключен. С включённым блоком рассуждений ожидание уже на одном потоке больше на два порядка — см. отчёт про thinking-модель.
Как этим пользоваться при выборе размера
Определите ожидание, которое ваши пользователи стерпят до первого видимого слова, и читайте лестницу в обратную сторону. Если предел — полсекунды, эта коробка обслуживает небольшую команду на таком ворклоаде; если нужно меньше 250 мс — одного-двух человек одновременно. Дальше меряйте свой корпус: харнесс открыт, а бандлы прогонов запечатаны и доступны для скачивания.
У каждой цифры выше есть постоянная страница со скоупом, ограничениями и сырыми доказательствами: реестр клеймов.