simbiot-harness/docs/digests/bench-glm53-vs-haiku55-2026-10-18.md
Simbiot Harness 80b98f4f68 bench: GLM 5.3 vs Haiku 5.5 на триаже TG (t-261018213319)
Повторяемый бенчмарк 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).
2026-10-19 09:32:32 +00:00

84 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Бенчмарк минутного триажа: 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)