Повторяемый бенчмарк scripts/bench_triage.py: 8 реальных кейсов триажа, детерминированная рубрика качества, GLM через 9router (цена по токенам, тарифы откалиброваны МНК по usageHistory 14-18.10: $0.51/M вх + $8.46/M вых), Haiku через claude -p как движок тика. Итог: качество паритет (0.993 vs 0.983), GLM быстрее (4.45с vs 6.09с), но Haiku cash=0 по подписке. Рекомендация: Haiku на мин-тике, конфиг не менялся. Тесты: tests/test_bench_triage.py (9 passed).
84 lines
6.7 KiB
Markdown
84 lines
6.7 KiB
Markdown
# Бенчмарк минутного триажа: GLM 5.3 vs Haiku 5.5
|
||
|
||
Задача t-261018213319-5a165e · прогон 2026-10-18 22:14–22:19 UTC · автор: часовой поток (Коди)
|
||
|
||
## Постановка
|
||
|
||
Один и тот же батч триажа входящих TG на обеих моделях, сравнить качество ответов,
|
||
время и стоимость. Цифры — только из измерений. Конфиг тика не менялся (ждёт
|
||
решения Alex). Рекомендация — по фильтру AUM: цена полезного ответа, не цена токена.
|
||
|
||
## Методика
|
||
|
||
- **Корпус**: 8 реальных входящих Alex 17–18.10 (факт-запрос пароля, сравнение
|
||
моделей, «предложи улучшения себя», «чем занимаемся», реплика-ack «Гуд»,
|
||
инцидент 401 панели, «померить что лучше», служебное «тест»). Источник — стор
|
||
харнеса, классы покрывают весь спектр триажа.
|
||
- **Промпт**: одинаковый для обеих — выжимка мандата мин-тика (Коди, кратко,
|
||
по-русски, честность, не делать задач из служебных) + контекст-факты тика +
|
||
входящее. Формат ответа: `{"reply": "..."}`.
|
||
- **Движки**: GLM 5.3 — `glm/glm-5.3` через 9router (`/v1/chat/completions`,
|
||
наш ключ); Haiku 5.5 — `claude -p --model claude-haiku-5-5` (тот же вызов, что
|
||
движок тика cc_backend.py, подписка Claude Code).
|
||
- **Качество**: детерминированная рубрика `score_case()` — обязательные паттерны
|
||
по кейсу + анти-паттерны + правила тика (краткость, честность, не создавать
|
||
задачи из служебных). Без LLM-судьи, воспроизводимо. Скрипт:
|
||
`scripts/bench_triage.py`, тесты `tests/test_bench_triage.py` (9 passed).
|
||
- **Стоимость GLM**: по токенам вызова × тарифы роутера, откалиброванные МНК по
|
||
суточным суммам usageHistory 14–18.10 (остатки ±0.3 у.е. на 30–90 у.е./сут):
|
||
**$0.51/1M вход + $8.46/1M выход**. Cost-окно по времени не годится — ловит
|
||
параллельный трафик флота.
|
||
- **Стоимость Haiku**: подписка → cash 0; для сопоставимости фиксируем list-цену
|
||
из `total_cost_usd` CLI (как если бы платили по прайсу).
|
||
- 3 раунда × 8 кейсов × 2 модели = 48 вызовов, 0 ошибок.
|
||
|
||
## Результаты
|
||
|
||
| Метрика | GLM 5.3 (роутер) | Haiku 5.5 (подписка) |
|
||
|---|---|---|
|
||
| Качество (рубрика, среднее) | **0.993** | 0.983 |
|
||
| Провалов по кейсам | c8 «тест» 0.944 (1 раунд лишнего вопроса) | c3 «улучшения» 0.867 (отложила список «беру в работу» вместо ответа) |
|
||
| Задержка, среднее | **4.45 с** | 6.09 с |
|
||
| Задержка, p95 | **5.95 с** | 7.60 с |
|
||
| Токены: вход / выход | 54 396 / 5 851 | 48 (+667K кэш-эфф.) / 11 197 |
|
||
| Токены выхода на ответ | **244** | **466** (×1.9 — длиннее, thinking) |
|
||
| Cash-цена батча (24 отв.) | **$0.077** | $0 (подписка); list-эквивалент $0.012* |
|
||
| Цена 1000 ответов (cash) | **$3.2** | $0 (лимиты подписки) / $0.51 list* |
|
||
|
||
\* list-цена Haiku ниже НЕ потому, что Haiku дешевле токен, а потому что GLM в
|
||
нашем роутере тарифицируется дорого по выходу ($8.46/M — выше прайса GLM API);
|
||
Haiku идёт по подписке с кэшем. Cash-строка — то, что реально уходит из AUM.
|
||
|
||
## Выводы
|
||
|
||
1. **Качество на триаже практически одинаковое** (0.98–0.99 оба): факты не
|
||
теряет ни одна, пароль/контекст обе называют, служебное «тест» не разделяют
|
||
в задачу. Разницы, которую заметил бы Alex, нет.
|
||
2. **GLM быстрее на ~27%** (4.5 с vs 6.1 с): для минутного тика «сначала ответ»
|
||
это ощутимо.
|
||
3. **Деньги**: GLM-ответ стоит ~$0.0032 cash; Haiku — $0 cash под лимитами
|
||
подписки. 1440 мин-тиков/день × даже пустой тик — экономия подписки
|
||
прямолинейна: перевод минуты на Haiku убирает ~$3–5/день burn роутера.
|
||
4. **Риск Haiku**: часовой/дневной тики и Claude Code уже завязаны на подписку
|
||
(claude -p), мин-тик на Haiku — тот же стек, меньше точек отказа. Риск GLM:
|
||
роутер — наш сервис, но единственный для всего флота; degradation роутера
|
||
кладёт и минутный тик.
|
||
|
||
## Рекомендация
|
||
|
||
**Оставить Haiku 5.5 на минутном тике** (как есть), GLM 5.3 держать в роутере
|
||
для остальных агентов. Обоснование по фильтру AUM: cash-burn — прямой минус к
|
||
AUM; качество равное, GLM быстрее, но $3.2/1000 ответов против $0 не окупают
|
||
1.6 с задержки на ответах, которые никто не ждёт с секундомером. Конфиг НЕ
|
||
менял — решение за Alex.
|
||
|
||
Если Alex захочет скорость: точечная опция — GLM на мин-тик при живом роутере
|
||
даст −1.6 с/ответ за +$3.2/1000 ответов; переключение одной строкой
|
||
(`SIMBIOT_CC_MODEL_MIN` не трогаем — это про claude-стек; возврат на strands
|
||
обсуждаем отдельно).
|
||
|
||
## Артефакты
|
||
|
||
- `artifacts/bench_triage_glm_vs_haiku.json` — полный прогон, per-case checks
|
||
- `scripts/bench_triage.py` — повторяемый бенчмарк (`--rounds N`, `--only id`)
|
||
- `tests/test_bench_triage.py` — 9 тестов рубрики/корпуса/парсера (passed)
|