Validation: Flash LLM core evaluation
Окружение#
| Параметр | Фактическое значение |
|---|---|
| Дата проверки | 2026-07-26, Asia/Ho_Chi_Minh |
| Commit | 68582c97cb6b51804532cbd021290f07f4f74fa5; dirty working tree |
| OS и hardware | macOS 26.4 build 25E246, arm64 |
| Runtime | Node.js 24.14.0; npm 11.9.0; TypeScript 7.0.2 |
| Внешние сервисы | Comfy Cloud MCP public beta; OpenRouter partner node; Codex CLI 0.145.0 |
| Входные данные | run-3 protocol revision 3; 12-cell matrix, seed 20260726, original fixtures |
Результаты по критериям#
| ID | Проверка | Ожидалось | Получено | Evidence | Результат |
|---|---|---|---|---|---|
| AC-01 | Manifest/matrix/hash | 12 unique cells, fixed parameters and hashes | protocol revision 3; 12 prompts/workflows; logical manifest a758d221…0ebfb8; full preflight SHA 97805199…2d8f3 |
E-031 |
pass |
| AC-02 | Raw/telemetry audit | 12 raw responses with hashes; telemetry or explicit Unknown | 12/12 paid jobs ready, 0 failed; 12 valid JSON raw files + SHA-256; telemetry explicit Unknown 12/12 | E-033, E-034 |
pass |
| AC-03 | Scenario contract gate | each model passes both languages for role pass | Qwen 1/2 и DeepSeek 1/2; обе RU cells fail, обе EN cells pass structural-only gate | E-035, E-036 |
fail |
| AC-04 | Intent/rules gate | 4/4 cases per language, zero unsafe mutation, server roll only | обе модели 2/2 languages; каждый opaque-ID cell совпадает с hidden oracle и authoritative engine | E-035, E-036 |
pass |
| AC-05 | Narration continuity/privacy gate | 2/2 outcomes per language, no leak/contradiction, language pass | deterministic: обе модели 1/2; agent semantic audit: Qwen 1/2, DeepSeek 0/2. Human review missing | E-035, E-036 |
fail |
| AC-06 | Comparative outcome | at least one model passes all roles/languages for study pass | deterministic Qwen 4/6, DeepSeek 4/6; agent semantic Qwen 4/6, DeepSeek 3/6; ни одна модель не прошла bilingual 6/6 | E-035, E-036 |
inconclusive |
| AC-07 | Spend control | live billing + approved soft cap + sequential deltas | user-authorized paid execution был одним 12-job batch; per-job balance checks отсутствуют, billing audit missing, credit delta Unknown | E-032–E-034 |
not demonstrated |
Команды проверки#
Для preregistered preflight:
node --test RnD/technical/2026-07-26-flash-llm-core-evaluation/prototype/run.test.ts
node RnD/technical/2026-07-26-flash-llm-core-evaluation/prototype/run.ts prepare
npm run typecheck
npm run validate:technical
Для фактически сохранённых run-1 outputs default CLI:
node RnD/technical/2026-07-26-flash-llm-core-evaluation/prototype/run.ts evaluate
npm run check:all
Run-2 и run-3 оценивались exported function с отдельными raw/scorecard paths. Актуальный run-3 вызов:
node --input-type=module -e '
import { evaluateSavedResponses } from "./RnD/technical/2026-07-26-flash-llm-core-evaluation/prototype/run.ts";
await evaluateSavedResponses(
"RnD/technical/2026-07-26-flash-llm-core-evaluation/artifacts/raw/run-3",
"RnD/technical/2026-07-26-flash-llm-core-evaluation/artifacts/derived/run-3-scorecard.json",
);
'
Фактическая execution/audit evidence:
- Historical run-1/run-2 results сохранены в
RESEARCH.md; они не являются текущим run-3 model-selection evidence. - Parallel OAuth dry-run получил refresh-token race. Sequential retry прошёл 12/12 graphs, 0 failed, 0 credits.
- Paid execution: один
submit_batch, ready 12, pending 0, failed 0. - Run-3 evaluate: observed 12/12, missing 0; telemetry Unknown 12/12;
deterministic Qwen 4/6, DeepSeek 4/6; outcome
inconclusive. - Evaluator audit первоначально сохранил initial scorecard SHA/summary, но не
отдельную полную копию. После changes review полные serialized bytes
восстановлены в
run-3-scorecard-pre-amendment.json; SHA-256 совпадает с hash до regeneration. Это reconstruction, не original write-once snapshot. Raw SHA-256 заморожены. RED 18/2 expected failures, GREEN 20/0; provider rerun не выполнялся. - Independent agent semantic audit: Qwen 4/6, DeepSeek 3/6. Это не human naturalness review.
Fresh final verification выполнена после artifact/doc sync:
npm run check:allзавершился с exit 0: site 5/5, technical 61/61, strict typecheck, 11 studies без failures, build 101 docs, validation 272 HTML pages/28 099 local links/3 493 anchors/55 presentation links/0 failures, Bun 2/2;- live-target probe: reuse
http://127.0.0.1:8788сначала вернул connection failure, затем документированныйnpm run devподнял local preview; - isolated Playwright desktop flow выполнил два последовательных действия:
library → README → RESEARCH. После каждого клика сделан новый snapshot;
README показывает
Status: complete,Outcome: inconclusive, console errors/warnings = 0; - на 390×844 RESEARCH имеет
document.scrollWidth=390приinnerWidth=390; wide table остаётся внутри.table-scrollсclientWidth=356,scrollWidth=672,overflow-x:auto. После mobile click RESEARCH → README новый snapshot показывает тот же итог иdocument.scrollWidth=390; - bounded
impeccable detect --jsonдля built README/RESEARCH завершился. Findings advisory/non-blocking: generated-shell color, em-dash prose и порядковые evidence codes; verification blocker отсутствует.
Метрики#
| Метрика | Qwen3.6 Flash | DeepSeek V4 Flash | Допуск | Число прогонов | Вывод |
|---|---|---|---|---|---|
| Structured JSON artifacts | 6/6 | 6/6 | report exact rate | 6 cells/model | Формат не равен schema/role pass |
| Scenario structural pass, languages | 1/2 | 1/2 | 2/2 | 2 cells/model | Обе RU cells fail; EN pass structural only |
| Intent role pass, languages | 2/2 | 2/2 | 2/2 | 2 cells/model | Оба: 8/8 oracle cases across languages |
| Narration deterministic cells | 1/2 | 1/2 | 2/2 | 2 cells/model | Каждая модель fail в одном языке |
| Deterministic core | fail, 4/6 | fail, 4/6 | all 6 cells | 1 run-3 series | Ни одна модель не прошла 6/6 |
| Agent semantic audit | 4/6 | 3/6 | descriptive second axis | 6 cells/model | Не human review; Deep RU narration additional fail |
| Human language score | Unknown | Unknown | 2 per output for quality claim | 4 raw outputs | Human review не выполнена |
| Run-3 job failures | 0 | 0 | descriptive, no invented threshold | 6 paid jobs/model | Batch 12/12 ready |
| Latency p50/p95 | Unknown | Unknown | descriptive in one smoke | 6 cells/model | Telemetry Unknown 12/12 |
| Input/output tokens | Unknown | Unknown | provider telemetry or null |
6 cells/model | Telemetry Unknown 12/12 |
| Credit delta | Unknown | Unknown | within approved soft cap | 6 cells/model | Live billing status unavailable |
Ошибки и нестабильность#
Три бесплатных billing probes не дошли до get_billing_status:
- streamable HTTP initialization получил
GET returned HTTP 400, затем connection closed during initialize; - изолированный retry завершился
timed out awaiting tools/list after 30s. - после успешного повторного
codex mcp login comfy-cloudfresh child снова получил HTTP 400/init failure, а billing method отсутствовал:TypeError: tools.mcp__comfy_cloud__get_billing_status is not a function.
Это было transport/init failure, а не нулевой баланс. Позже generation tools
официального MCP стали доступны и run-1 был выполнен с явным согласием
пользователя, но get_billing_status в доступном toolset отсутствует.
Фактический credit delta поэтому Unknown, а не ноль.
В run-1 первый Qwen RU intent job не зарегистрировался. Подтверждённый retry
завершился job.empty_output; пустой raw artifact и error сохранены вместо
синтетического ответа. Остальные 11 ячеек дали raw provider output.
Measurement audit после run-1 обнаружил два under-specified prompts и одну
группу false negatives в RU narration matcher. Intent prompt не называл exact
CommandProposal; scenario prompt не задавал array/null requirements;
JavaScript \w и неполный список глагольных форм не покрывали корректную
кириллическую narration. Исправления прошли RED/green regression tests.
Критерии и v1 artifacts не переписывались: изменения оформлены датированным
protocol amendment до correction calls.
Historical correction run-2 не имел provider/job failures, а его scorer зафиксировал два Qwen scenario schema failures:
- RU:
storyFacts/1/visibility/kindне соответствовал допустимому union и для выбранной ветки отсутствовалplayerIds; - EN:
clocks/0/whenFullдолжен быть string.
Позднейший independent audit обнаружил в revision 2 answer leakage и scorer false positives, поэтому прежний вывод о DeepSeek 6/6 и practical candidate считается superseded, а не текущим.
Run-3 operational anomaly: parallel OAuth dry-run столкнулся с refresh-token race. Dry-run повторили строго последовательно; он прошёл 12/12 graphs. Paid execution был одним 12-job batch без per-job balance checks, поэтому это отклонение от AC-07, а не доказательство sequential billing control.
Текущие run-3 model failures:
- обе RU scenario cells fail structural contract: Qwen не указал
playerIdsдляplayersvisibility; DeepSeek использовал human-readable RussianlocationIdвместо lowercase ASCII kebab-case; - Qwen RU narration правильно отражает clock advancement, но выдумывает завершённую служебную запись;
- DeepSeek EN narration использует допустимый success synonym, но выдумывает ещё одну улику;
- agent semantic audit дополнительно отклоняет DeepSeek RU narration: «Юноша (Juno)» приписывает возраст и гендер, отсутствующие в projection.
Post-run evaluator audit обнаружил bounded vocabulary false negatives.
Initial scorecard SHA и diagnostic summary были записаны в audit до
regeneration. После changes review полная byte-exact версия восстановлена как
artifacts/derived/run-3-scorecard-pre-amendment.json; её SHA-256
08236755…bbf2665 совпадает с исходно записанным hash. Это reconstruction, не
original write-once snapshot. Raw files не менялись; provider rerun не было.
После RED/GREEN scorer amendment canonical scorecard пересоздан.
Residual measurement limits material: scenario compiler проверяет structure,
но не исполняет free-text exit.when и не оценивает coherence. Privacy gate
ищет exact hidden tokens, но не translated/paraphrased leakage. Open-ended
grounding hallucinations нельзя закрыть blacklist regex.
Первый полный check:all также выявил, что prompt templates с расширением
.md ошибочно попадали в research-site renderer и оставляли unresolved
double-brace placeholders. Templates переименованы в .txt; повторный полный
gate прошёл. Эта неуспешная попытка сохранена в RESEARCH.md, а не удалена из
истории.
Воспроизводимость#
Run-1 и run-2 artifacts сохранены как historical и не пересчитаны v3 evaluator. Run-3 имеет отдельные protocol, preflight, job log, raw root, telemetry, scorecard и evaluator audit. Все 12 provider cells выполнены заново, без reuse prior outputs.
Manifest schema v2 включает protocolRevision: 3. Logical manifest:
a758d221a63eb2f2600af570d8431764597bd8c3ae75d4960d94d8963e0ebfb8.
Полный preflight-v3 manifest file SHA, дополнительно связывающий все prompt и
workflow hashes:
9780519911a6c7fc2ed3d6efacf292899a321d8156c0c36ec71ff3c553c2d8f3.
Evaluator audit сохраняет все 12 raw SHA-256 и связывает два полных scorecard:
byte-exact reconstructed pre-amendment
run-3-scorecard-pre-amendment.json с SHA-256 08236755…bbf2665 и canonical
post-amendment run-3-scorecard.json с SHA-256 f9ac7092…e181408. Raw files
остались byte-identical, provider rerun не выполнялся. Provider output остаётся
stochastic даже при fixed seed, если backend не гарантирует deterministic
sampling.
Финальный исход#
- Outcome:
inconclusive. - Model comparison: practical winner отсутствует. Deterministic Qwen 4/6, DeepSeek 4/6; agent semantic audit Qwen 4/6, DeepSeek 3/6. Ни одна модель не прошла bilingual 6/6.
- Почему strict inconclusive: human naturalness review отсутствует 0/4, billing audit missing, credit delta Unknown. Telemetry Unknown 12/12.
- Что результат не доказывает: production reliability, all-genre/all-language quality, executable/coherent scenario branches, paraphrase-safe privacy, long-session continuity или authoring/runtime interop.