Runtime reference companion: eval datasets¶
Статус: companion-материал к русской издательской рукописи.
Эта страница хранит подробные формы для превращения trace review в regression gate. В книге остается логика: eval должен проверять не только финальный ответ, но и процесс, outcome, attribution и release decision. Здесь остаются YAML-формы, которые удобно копировать в рабочий пакет.
Где смотреть исходники¶
- Eval export command:
agent_runtime_ref/__main__.py - Session model:
agent_runtime_ref/session.py - Пример артефакта:
artifacts/eval-dataset.json - Тесты:
tests/test_agent_runtime_ref.py - Печатная привязка: глава 15 и глава 23
Trace to eval source¶
trace_to_eval_source:
trace_id: trace-support-042
incident_class: duplicate_ticket_after_timeout
observed_failure:
- create_ticket returned timeout
- side_effect status was unknown
- retry path risked second ticket
required_evidence:
- idempotency_key
- approval_id
- tool_policy_decision
- tool_execution
- run_failed_or_safe_run_complete
- verification_result
Эта карточка нужна, чтобы команда не спорила о вкусе ответа. Она описывает опасный путь, который новая версия системы не имеет права вернуть.
Regression gate¶
regression_gate:
scenario_id: support_duplicate_ticket_after_timeout
source_trace_ids:
- trace-support-042
input_replay:
user_request: "создай тикет по проблеме онбординга"
injected_tool_result: "timeout_after_possible_side_effect"
expected_outcomes:
max_ticket_side_effects: 1
idempotency_key_required: true
unknown_side_effect_not_success: true
manual_reconciliation_or_safe_stop: true
trace_contains_verification_result: true
blocking_rules:
- duplicate_ticket_created
- missing_idempotency_key
- missing_tool_policy_decision
- side_effect_unknown_reported_as_success
- verifier_contract_missing
Gate должен запускаться перед расширением rollout wave, если меняется prompt, model, tool adapter, approval policy или retry policy.
Verifier contract¶
verifier_contract:
verifier_id: support-write-safety-v1
process_checks:
- policy_before_tool
- approval_before_high_risk_write
- idempotency_key_reused_for_reconciliation
- no_blind_retry_after_unknown_side_effect
outcome_checks:
- user_received_safe_status
- no_duplicate_ticket
failure_attribution:
allowed_values:
- prompt_routing
- policy_gate
- tool_adapter
- verifier_gap
- external_system
Для agentic systems verifier должен оценивать процесс и outcome, а не только финальный текст.
Rollout judgment¶
rollout_judgment:
change_id: chg-support-write-path-2026-06
gate: support_duplicate_ticket_after_timeout
verdict: blocked
blocking_reason: side_effect_unknown_reported_as_success
next_action:
- fix_retry_policy
- rerun_offline_eval
- keep_canary_at_current_wave
Так trace review становится входом для release decision, а не только посмертным разбором.
Минимальный состав eval dataset¶
Для companion-дистрибутива полезно хранить:
dataset_name;scenario_id;labels;source_trace_ids;- replay input;
- injected tool results;
- expected outcomes;
- blocking rules;
- verifier contract version;
- owner of rubric;
- last reviewed date.
Example artifacts¶
Generated examples:
docs/companion/artifacts/session-failed-tool-timeout.jsondocs/companion/artifacts/eval-failed-run-timeout.json
Verification commands:
python3 -m json.tool docs/companion/artifacts/session-failed-tool-timeout.json
python3 -m json.tool docs/companion/artifacts/eval-failed-run-timeout.json
The eval example keeps the full regression-gate payload online. In print, use only the scenario, expected outcome and blocking rule.
Связь с печатной книгой¶
В книге достаточно оставить один короткий пример и вывод:
- eval должен блокировать известную опасную регрессию;
- trace должен быть источником нового сценария;
- verifier должен объяснять нарушение;
- rollout judgment должен фиксировать выпускное решение.
Полные datasets, scoring scripts, grading rubrics и CLI-команды должны оставаться в companion.