# Research: LLM routing and cost-quality measurement ## Baseline Репозиторий содержит финансовые модельные CSV, но не измерения turn-level LLM payload, provider usage, retries, latency или quality на общем scenario corpus. Финансовая модель не является provider benchmark и не используется как measured baseline. ## Метод Один immutable benchmark case manifest прогоняется двумя strategies: 1. baseline: полный event history + полный state/content; 2. candidate: audience projection + relevant facts + state delta + deterministic route/cache. Три cases с seeds `20260725`, `20260726`, `20260727` повторяются 20 раз (60 observations на strategy). Fake adapter возвращает deterministic structured output. Usage маркируется `synthetic_proxy` с методом `ceil_utf8_bytes_divided_by_4`; это не provider tokenizer. Rule/privacy/replay metrics выводятся рядом. Реальные tokens/cost, provider latency, cache behavior и narration quality остаются Unknown. ## Реестр доказательств | ID | Тип | Описание | Источник, путь или команда | Дата или версия | |---|---|---|---|---| | E-001 | Fact | PRD требует измерять p50/p95 и cost, но не задаёт latency threshold | `RnD/docs/prd/2026-07-22-global-party-ai-rpg.md` | 2026-07-24 | | E-002 | Fact | Existing unit economics are modelled subtotal, not production COGS | `RnD/research/global-validation/03-unit-economics-and-profit.md` | 2026-07-23 | | E-003 | Fact | Paid API calls запрещены session brief без явного разрешения | attached `pasted-text.txt` | 2026-07-25 | | E-004 | Fact | Shared harness определяет 3 fixed cases/seeds, 20 repeats, fake structured output и два context strategies | `../2026-07-25-ai-gm-vertical-slice/prototype/src/benchmark.ts` | working tree at `68582c97…` | | E-005 | Measurement | Manifest hash совпал: `83cc1063970ef246a2e386236321c1aa59de4f234f7eb1d0ea4849dd8ad88f77`; case count 3 | `node RnD/technical/2026-07-25-llm-routing-cost-quality/prototype/run.ts` | 2026-07-25T01:38+07:00 | | E-006 | Measurement | Input bytes `650060 → 136640`; synthetic token proxy `162515 → 34160`; reduction `0.7898040180906378` | та же команда | benchmark 1.0.0; 2026-07-25 | | E-007 | Measurement | Fake in-process latency ms: baseline p50 `0.000458`, p95 `0.001708`; candidate p50 `0.000417`, p95 `0.000500` | та же команда, один local run | Node 24.14.0; 2026-07-25 | | E-008 | Measurement | Обе strategies: structured success/replay `1`; rule/state/privacy rates `0`; contradiction/fact-preservation/retry = `null` | та же команда | 2026-07-25T01:36+07:00 | | E-009 | Measurement | `fake_local`, 0 provider calls, cost fields `null`, quality `not_measured`, non-inferiority `not_tested`, explicit permission required | та же команда | 2026-07-25 | | E-010 | Measurement | Central suite 10/10 и strict typecheck exit 0 | `node --test RnD/technical/2026-07-25-ai-gm-vertical-slice/prototype/tests/*.test.ts`; `npm run typecheck` | TypeScript 7.0.2; 2026-07-25 | | E-011 | Measurement | Integrated benchmark status `pass`; proxy `162515 → 34160`; reduction `0.7898040180906378`; cost null; quality not measured | `npm run technical:benchmark` | 2026-07-25T01:41+07:00 | | E-012 | Measurement | Expanded technical suite: 41 tests passed, 0 failed | `npm run test:technical` | Node 24.14.0; 2026-07-25 | ## Журнал экспериментов | Время | Изменение или попытка | Наблюдение | Artifact или evidence ID | Вывод | |---|---|---|---|---| | 2026-07-25T01:10:00+07:00 | Baseline audit | Turn-level benchmark harness отсутствует | `E-001`, `E-002` | Нужен новый provider-agnostic harness | | 2026-07-25T01:38:00+07:00 | Strengthened wrapper run | Same manifest; 78.9804% synthetic input proxy reduction; measured guardrails не ухудшились | `E-004`–`E-008` | H-01 подтверждена только для local payload proxy | | 2026-07-25T01:31:00+07:00 | Проверена honesty boundary | 0 calls; cost null; quality/non-inferiority не измерены | `E-009` | Real cost-quality остаётся Unknown | | 2026-07-25T01:40:00+07:00 | Tests + typecheck | 10/10 tests; typecheck exit 0 | `E-010` | Harness/report contract проходит | | 2026-07-25T01:41:00+07:00 | Integrated benchmark CLI | Summary совпал с wrapper; artifact path выдан | `E-011` | Production-like entry point воспроизводит partial outcome | | 2026-07-25T01:44:00+07:00 | Expanded technical suite | 41/41 pass | `E-012` | Benchmark contract совместим со всеми study tests | ## Выводы - **Measurement:** один manifest позволяет mechanically compare context strategies; hash/case parity прошла. Основание: `E-004`, `E-005`. - **Measurement:** candidate уменьшил byte-derived input proxy на 78.9804% без ухудшения выведенных deterministic guardrails. Основание: `E-006`, `E-008`. - **Inference:** projection/delta — перспективный payload candidate, но non-inferiority и monetary savings нельзя утверждать без real provider usage и quality study. Основание: `E-003`, `E-007`–`E-009`. ## Рассмотренные альтернативы | Подход | Что проверили | Почему не выбран | Evidence | |---|---|---|---| | Сравнить разные prompts/cases | Reproducibility | Confounded comparison | `E-001` | | Оценить cost из characters | Provider boundary | Не является provider-reported tokens/cost | `E-003` | | Fixed manifest + explicitly synthetic adapter usage | Shared harness + wrapper | Выбран как local preflight; не заменяет real benchmark | `E-004`–`E-012` | ## Неизвестные - **Unknown:** real model structured-output rate, retry rate, narration quality, latency, tokens и USD cost. - **Unknown:** утверждённый non-inferiority threshold для человеческой оценки. - **Unknown:** provider prompt/cache hit rate; current harness не моделирует provider tokenization или cache billing.