Стабилизировать денежные ответы и прибыль 1С-ассистента

This commit is contained in:
2026-05-23 13:14:22 +03:00
parent b18613961c
commit 473cdc3a9b
17 changed files with 1184 additions and 27 deletions
@@ -0,0 +1,266 @@
{
"schema_version": "domain_truth_harness_spec_v1",
"scenario_id": "agent_cashflow_profit_directness_20260523",
"domain": "autonomy_business_answer_contract",
"title": "AGENT | Cashflow vs profit directness pack",
"description": "Targeted AGENT replay for cashflow-vs-profit directness: colloquial earnings questions must produce a compact money answer, while broad overview remains available only when explicitly requested.",
"bindings": {
},
"steps": [
{
"step_id": "step_01_direct_money_earned_explicit_shape",
"title": "Direct money earned question asks for compact cashflow shape",
"question": "Сколько денег Альтернатива заработала за 2020 год? Ответь коротко: получили, заплатили, денежное нетто, это прибыль или нет.",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_all": [
"47[\\s.]*628[\\s.]*853",
"43[\\s.]*763[\\s.]*351",
"3[\\s.]*865[\\s.]*501"
],
"forbidden_answer_patterns": [
"Учтено строк",
"Первая найденная дата",
"runtime_",
"planner_",
"query_movements",
"primitive",
"7\\s*136\\s*815|7136815",
"Комитет государственных услуг"
],
"criticality": "critical",
"semantic_tags": [
"cashflow_vs_profit",
"direct_answer",
"colloquial_earnings"
]
},
{
"step_id": "step_02_colloquial_money_earned",
"title": "Colloquial earned wording stays cashflow, not broad overview",
"question": "скока денег альтернатива заработала за 20 год?",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_all": [
"47[\\s.]*628[\\s.]*853",
"43[\\s.]*763[\\s.]*351",
"3[\\s.]*865[\\s.]*501"
],
"forbidden_answer_patterns": [
"Учтено строк",
"Первая найденная дата",
"runtime_",
"planner_",
"query_movements",
"primitive",
"7\\s*136\\s*815|7136815",
"Комитет государственных услуг",
"Что проверить дальше"
],
"criticality": "critical",
"semantic_tags": [
"cashflow_vs_profit",
"slang_wording",
"no_overview_substitution"
]
},
{
"step_id": "step_03_profit_followup_after_cashflow",
"title": "Clean profit follow-up keeps distinction",
"question": "а это чистая прибыль?",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_all": [
"7\\s*136\\s*815|7136815",
"90|91|99"
],
"forbidden_answer_patterns": [
"Учтено строк",
"Первая найденная дата",
"runtime_",
"planner_",
"query_movements",
"primitive"
],
"criticality": "critical",
"semantic_tags": [
"profit_vs_cashflow",
"followup_context"
]
},
{
"step_id": "step_04_money_plus_or_minus_followup",
"title": "Money plus/minus follow-up returns cashflow net",
"question": "а по деньгам тогда плюс или минус?",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_all": [
"\\+",
"47[\\s.]*628[\\s.]*853",
"43[\\s.]*763[\\s.]*351",
"3[\\s.]*865[\\s.]*501"
],
"forbidden_answer_patterns": [
"Учтено строк",
"Первая найденная дата",
"runtime_",
"planner_",
"query_movements",
"primitive",
"7\\s*136\\s*815|7136815"
],
"criticality": "critical",
"semantic_tags": [
"cashflow_polarity",
"followup_context",
"no_profit_substitution"
]
},
{
"step_id": "step_05_explicit_business_overview_allowed",
"title": "Explicit adult overview may include business structure and next steps",
"question": "Теперь дай взрослый обзор за 2020 по компании: входящие, исходящие, нетто, топы, но банк в топах отдельно объясни как финансовый поток.",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_all": [
"47[\\s.]*628[\\s.]*853",
"43[\\s.]*763[\\s.]*351",
"3[\\s.]*865[\\s.]*501",
"12[\\s.]*792[\\s.]*194",
"12[\\s.]*093[\\s.]*465",
"9[\\s.]*612[\\s.]*904"
],
"forbidden_answer_patterns": [
"Учтено строк",
"Первая найденная дата",
"runtime_",
"planner_",
"query_movements",
"primitive"
],
"criticality": "high",
"semantic_tags": [
"business_overview",
"bank_flow_boundary",
"next_steps"
]
},
{
"step_id": "step_06_return_to_short_money_after_overview",
"title": "Short money follow-up after overview keeps 2020 context",
"question": "а если коротко, сколько заработали деньгами без топов?",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_all": [
"2020",
"47[\\s.]*628[\\s.]*853",
"43[\\s.]*763[\\s.]*351",
"3[\\s.]*865[\\s.]*501"
],
"forbidden_answer_patterns": [
"Учтено строк",
"Первая найденная дата",
"runtime_",
"planner_",
"query_movements",
"primitive",
"285[\\s.]*819[\\s.]*547",
"147[\\s.]*855[\\s.]*827",
"Комитет государственных услуг",
"Что проверить дальше"
],
"criticality": "critical",
"semantic_tags": [
"compact_after_overview",
"temporal_carryover",
"no_all_time_leak"
]
},
{
"step_id": "step_07_plain_money_in_out_net",
"title": "Plain money request suppresses broad overview",
"question": "не обзор, просто деньги: пришло, ушло, нетто за 2020",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_all": [
"47[\\s.]*628[\\s.]*853",
"43[\\s.]*763[\\s.]*351",
"3[\\s.]*865[\\s.]*501"
],
"forbidden_answer_patterns": [
"Учтено строк",
"Первая найденная дата",
"runtime_",
"planner_",
"query_movements",
"primitive",
"Комитет государственных услуг",
"12[\\s.]*093[\\s.]*465",
"12[\\s.]*792[\\s.]*194",
"Что проверить дальше"
],
"criticality": "critical",
"semantic_tags": [
"direct_money_only",
"ranking_suppression"
]
},
{
"step_id": "step_08_direct_clean_profit_2020",
"title": "Explicit clean profit goes to accounting result, not cashflow",
"question": "какая чистая прибыль по Альтернативе за 2020?",
"allowed_reply_types": [
"partial_coverage",
"factual_with_explanation",
"factual"
],
"required_answer_patterns_all": [
"7\\s*136\\s*815|7136815",
"90|91|99"
],
"forbidden_answer_patterns": [
"Учтено строк",
"Первая найденная дата",
"runtime_",
"planner_",
"query_movements",
"primitive",
"получили\\s+47[\\s.]*628[\\s.]*853",
"денежное\\s+нетто\\s+3[\\s.]*865[\\s.]*501"
],
"criticality": "critical",
"semantic_tags": [
"clean_profit",
"profit_route",
"no_cashflow_substitution"
]
}
],
"acceptance": {
"min_score": 80,
"max_unresolved_p0": 0,
"require_all_critical_steps_pass": true
}
}