Flash LLM core evaluation
- Status:
complete - Outcome:
inconclusive - Started: 2026-07-26
- Updated: 2026-07-26
- Research ID:
2026-07-26-flash-llm-core-evaluation
Проверяемый вопрос#
Может ли хотя бы одна из заранее зафиксированных open-weight Flash-моделей выполнить scenario drafting, player-intent parsing и post-commit narration на русском и английском языках без invalid canonical mutation, privacy leak или противоречия committed event в пределах одного воспроизводимого smoke-прогона?
Почему решение нужно сейчас#
Локальный deterministic kernel и synthetic benchmark уже готовы, но они не измеряли реальные model outputs. До выбора model/provider lane нужно проверить минимальную пригодность дешёвых Flash-вариантов именно для bounded core-ролей, а не для UI, озвучки или генерации медиа.
Scope#
- Exact model IDs:
qwen/qwen3.6-flashиdeepseek/deepseek-v4-flash. - Официальный Comfy Cloud MCP и
OpenRouterLLMNode. - Языки:
ru,en. - Роли: scenario drafting, player-intent parsing, post-commit narration.
- Один запуск на каждую комбинацию model × language × role: 12 model calls.
- Один parameterized workflow
OpenRouterLLMNode -> SaveText. - Raw response retention, hashes, deterministic TypeScript validation и role-specific scorecard.
Non-goals#
- Production reliability, variance или SLA по одному smoke-прогону.
- UI, voice, images, music, maps или другие media workflows.
- Длинная кампания, память между сессиями и нагрузочное тестирование.
- Доказательство работы во всех жанрах и языках.
- Сравнение с закрытыми Gemini Flash моделями.
- Перенос Knave-текста или другого защищённого контента.
- Реализация отсутствующего authoring Adventure/Map -> runtime compiler.
- Предоставление модели authority над rules, RNG, canonical state или event log.
Критерии успеха#
Критерии зафиксированы до первого paid model call.
| ID | Обязательный критерий | Порог или ожидаемое поведение | Способ проверки |
|---|---|---|---|
| AC-01 | Неизменяемая матрица | Ровно 2 exact model IDs × 2 языка × 3 роли × 1 repeat; один seed; manifest и prompt/workflow hashes сохранены до запуска | node prototype/run.ts prepare и manifest test |
| AC-02 | Аудируемая provider boundary | Каждый call связан с model/language/role/repeat; raw text и SHA-256 сохранены; latency, retries, tokens и credits записаны из telemetry либо равны null/Unknown; секретов нет |
raw manifest, response index и artifact audit |
| AC-03 | Scenario contract gate | Для model × language: один чистый JSON проходит shape validation, validateAdventureDraft, source ID check, compilation и validateAdventureContract; forbidden sentinel не попадает в content; язык соблюдён |
TypeScript scenario scorer |
| AC-04 | Intent/rules gate | Во всех 4 paired cases на каждом языке output совпадает с oracle; valid check создаёт server-authored event; illegal move отклоняется; ambiguous/injection не создают event; state hash не меняется при неуспехе | TypeScript intent scorer и existing engine |
| AC-05 | Narration continuity/privacy gate | Обе opposite-outcome narrations на каждом языке отражают success/failure, total, difficulty и effects; не выдумывают effect, не раскрывают скрытые facts; state hash неизменен; язык соблюдён | TypeScript narration scorer и raw review |
| AC-06 | Честный сравнительный вывод | pass только если хотя бы одна модель проходит AC-03–AC-05 на обоих языках; missing telemetry и naturalness uncertainty остаются явно Unknown |
derived scorecard и VALIDATION.md |
| AC-07 | Контроль расхода | До model calls проверены live balance/pricing, получено согласие на матрицу и soft cap; jobs идут последовательно с balance check после каждого | get_billing_status, billing delta log |
Изменения criteria после первого generation call запрещены без датированной записи старого и нового значения в этом разделе.
Historical protocol amendment — 2026-07-26, до run-2 calls#
Критерии AC-01–AC-07, исходная 12-cell матрица и pass rule не меняются. Run-1 остаётся отдельным неизменяемым наблюдением: preflight-v1, raw outputs, job IDs, URLs и scorecard сохраняются и не заменяются результатами correction series.
После run-1 audit обнаружил три дефекта измерительного инструмента:
- intent prompt требовал «typed command», но не называл точную runtime
CommandProposalschema; - scenario prompt перечислял поля, но не фиксировал array-форму нескольких
полей и запрет
nullдля неиспользуемого destination; - RU narration matcher использовал несовместимое с кириллицей JavaScript
\wи неполное покрытие глагольных форм, из-за чего корректные ответы получали false negatives.
Исправления prompt/scorer зафиксированы RED tests до новых paid calls.
Correction run-2 использовал отдельный preflight-v2 и повторил только восемь
scenario + intent ячеек. Четыре run-1 narration outputs переиспользуются без
provider rerun: их prompts и raw outputs не менялись, исправлялся только
deterministic scorer. Run-1 и run-2 публикуются раздельно; невалидные
измерения run-1 не трактуются как чистая оценка качества модели.
Manual naturalness review остаётся только человеческой оценкой и пока
Unknown. Live billing status и credit delta также остаются Unknown; это
не разрешает strict outcome перейти в pass.
Pre-run protocol amendment — 2026-07-26, до run-3 calls#
Независимый аудит run-2 показал, что его deterministic scorecard всё ещё завышал результат: intent prompt раскрывал semantic case IDs и почти готовые команды, scenario scorer пропускал заполненный на старте clock, неверные machine IDs и неполные финальные outcomes, а narration scorer принимал выдуманные последствия effect-free failure.
Run-3 использует manifest schema v2 с protocolRevision: 3, отдельные
preflight-v3, raw/run-3 и run-3-scorecard.json. Все 12 provider cells
запускаются заново: публичные intent case IDs стали непрозрачными, а prompts
изменились во всех трёх ролях. Run-1/run-2 raw outputs и scorecards остаются
историческими и не пересчитываются v3 evaluator.
Scenario gate run-3 доказывает только shape, ссылочную целостность,
структурную достижимость, bounded outcome topology и content-boundary exact
matches. Он не доказывает исполнимость свободного текста exit.when,
сюжетную связность или host-fit: текущий compiler эти условия не исполняет.
Эти поля фиксируются как not_measured, а не как pass. Exact-token privacy
scan также не доказывает отсутствие перефразированной утечки.
Полная до-запусковая фиксация находится в
artifacts/derived/run-3-protocol.json;
bundle identity — logical manifest hash
a758d221a63eb2f2600af570d8431764597bd8c3ae75d4960d94d8963e0ebfb8
и SHA-256 полного preflight manifest
9780519911a6c7fc2ed3d6efacf292899a321d8156c0c36ec71ff3c553c2d8f3.
Post-run evaluator audit — 2026-07-26#
После run-3 отдельный evaluator audit обнаружил ограниченные vocabulary false
negatives. На момент audit initial scorecard был зафиксирован SHA-256
08236755…bbf2665 и diagnostic summary, но отдельная полная копия не была
сохранена. После changes review полная версия восстановлена byte-exact в
run-3-scorecard-pre-amendment.json:
её SHA-256 совпадает с первоначально зафиксированным hash. Это проверяемая
реконструкция, а не original write-once snapshot. Все 12 raw files остались
byte-identical, provider rerun не выполнялся. Behavior-level RED/GREEN
amendment изменил только scorer и пересоздал canonical
run-3-scorecard.json с SHA-256 f9ac7092…e181408.
Отдельный independent agent semantic audit не является human naturalness review и не подменяет отсутствующий human artifact.
Рабочие гипотезы#
- Hypothesis H-01: как минимум одна Flash-модель не пройдёт строгий
scenario JSON/graph gate хотя бы на одном языке. Опровержение: обе модели
проходят AC-03 в
ruиen. - Hypothesis H-02: обе модели смогут безопасно обработать valid, illegal, ambiguous и prompt-injection intents, потому что authoritative validation и RNG остаются в TypeScript. Опровержение: хотя бы один принятый unsafe action, client/model-authored roll или state mutation на rejected/clarification case.
- Hypothesis H-03: post-commit narration будет механически согласована с event, но хотя бы одна русская ячейка получит не максимальную human naturalness оценку. Опровержение: обе модели получают максимальную preregistered language score во всех RU narration cases.
Материалы#
- Исследование и evidence log
- Техническое решение и запуск
- Проверка и итог
prototype/— manifest, prompts, workflow builder и scorer
Итог#
Run-1 и run-2 сохранены как исторические наблюдения под их evaluator revisions. Run-3 является текущей серией: 12/12 paid jobs готовы, failed 0; все 12 raw responses — valid JSON с сохранёнными SHA-256. Outputs не переиспользовались из прошлых runs.
После прозрачного post-run RED/GREEN scorer amendment deterministic scorecard даёт обеим моделям 4/6: scenario 1/2, intent 2/2, narration 1/2. Independent agent semantic audit даёт Qwen 4/6 и DeepSeek 3/6: DeepSeek RU narration дополнительно не проходит strict grounding из-за выдуманного возраста/гендера в «Юноша (Juno)».
Ни одна модель не прошла bilingual 6/6, практического победителя нет. Общий сильный сигнал — intent 2/2 languages у обеих моделей. RU scenario ломается у обеих. Narration нельзя принимать только по regex continuity: нужен deterministic gate вместе с semantic/human grounding review.
Strict outcome — inconclusive: human naturalness review отсутствует 0/4,
billing audit missing, credit delta и provider telemetry Unknown 12/12.
Ограничения#
Один response на ячейку показывает только smoke viability. Он не оценивает variance, provider drift, устойчивость к длинному контексту или качество полноценной сессии. Human naturalness score субъективен и публикуется рядом с raw output, а не заменяет deterministic checks.
Authoring и runtime contracts остаются двумя разными семействами. Scenario, intent и narration оцениваются раздельно; это исследование не может заявлять end-to-end путь от HostPreferences до первого runtime turn.
Scenario pass означает только structural graph/contract pass: free-text
exit.when, исполнимость веток и narrative coherence не измеряются. Privacy
check ищет exact hidden tokens и не доказывает отсутствие переведённой или
перефразированной утечки.
Следующее решение#
Не выбирать provider winner по этой серии. Следующий benchmark должен добавить semantic/human grounding gate для narration, executable/coherence checks для scenario и paraphrase-aware privacy cases, затем повторить обе модели на нескольких seeds/genres. Human naturalness и billing audit нужно закрыть отдельно, если требуется strict study pass.