Stage 2 завершён: problem-first ответы и follow-up continuity - ассистент переведён от entity-heavy логики к problem-first ответам с problem-unit слоем, удержанием контекста в follow-up и очисткой пользовательского ответа от сырых технических ссылок.

This commit is contained in:
2026-03-26 14:53:52 +03:00
parent ece1abed76
commit 96353cfd48
2474 changed files with 21678 additions and 3292445 deletions
@@ -0,0 +1,175 @@
{
"suite_id": "assistant_stage2_canonical",
"suite_version": "0.1.0",
"schema_version": "assistant_stage2_suite_v0_1",
"scenario_count": 9,
"case_ids": [
"S2-51-WRONG-CLOSE-TYPE",
"S2-60-SUPPLIER-TAILS",
"S2-97-LIFECYCLE-ANOMALY",
"S2-OS-CARD-VS-CHARGES",
"S2-VAT-CROSS-DOMAIN-CONTRADICTION",
"S2-PERIOD-CLOSE-IMPACT",
"S2-MULTI-INTENT",
"S2-TRANSLIT-QUERY",
"S2-FOLLOWUP-INVESTIGATION"
],
"cases": [
{
"case_id": "S2-51-WRONG-CLOSE-TYPE",
"scenario_tag": "51_wrong_closure_type",
"question_type": "direct",
"broadness_level": "low",
"turns": [
{
"user_message": "Проверь счет 51 за 2020-06: где закрытие выполнено неверным типом документа и как это влияет на риск закрытия периода?"
}
],
"expected_hints": {
"expected_reply_type": "factual_with_explanation",
"expected_degraded_to": null,
"expected_problem_first": true,
"expected_problem_unit_types": ["document_conflict", "period_risk_cluster"]
}
},
{
"case_id": "S2-60-SUPPLIER-TAILS",
"scenario_tag": "60_supplier_tails",
"question_type": "direct",
"broadness_level": "medium",
"turns": [
{
"user_message": "Покажи хвосты поставщиков по счету 60 за 2020-06 и сгруппируй, где это уже разрыв цепочки документов."
}
],
"expected_hints": {
"expected_reply_type": "partial_coverage",
"expected_degraded_to": "partial",
"expected_problem_first": true,
"expected_problem_unit_types": ["unresolved_settlement_cluster", "broken_chain_segment"]
}
},
{
"case_id": "S2-97-LIFECYCLE-ANOMALY",
"scenario_tag": "97_lifecycle_anomaly",
"question_type": "direct",
"broadness_level": "medium",
"turns": [
{
"user_message": "Найди по счету 97 за 2020-06 зависшие узлы жизненного цикла и неполные переходы списания."
}
],
"expected_hints": {
"expected_reply_type": "partial_coverage",
"expected_degraded_to": "partial",
"expected_problem_first": true,
"expected_problem_unit_types": ["lifecycle_anomaly_node", "broken_chain_segment"]
}
},
{
"case_id": "S2-OS-CARD-VS-CHARGES",
"scenario_tag": "os_card_vs_charges",
"question_type": "direct",
"broadness_level": "medium",
"turns": [
{
"user_message": "По ОС за 2020-06 сравни карточку объекта и начисления, где нарушена связность между документом и проводкой."
}
],
"expected_hints": {
"expected_reply_type": "partial_coverage",
"expected_degraded_to": "partial",
"expected_problem_first": true,
"expected_problem_unit_types": ["document_conflict", "cross_branch_inconsistency_cluster"]
}
},
{
"case_id": "S2-VAT-CROSS-DOMAIN-CONTRADICTION",
"scenario_tag": "vat_cross_domain_contradiction",
"question_type": "broad",
"broadness_level": "high",
"turns": [
{
"user_message": "Проверь НДС за июнь 2020: где есть противоречия между документами, проводками и регистрами с риском отчетности."
}
],
"expected_hints": {
"expected_reply_type": "clarification_required",
"expected_degraded_to": "clarification",
"expected_problem_first": true,
"expected_problem_unit_types": ["cross_branch_inconsistency_cluster", "document_conflict"]
}
},
{
"case_id": "S2-PERIOD-CLOSE-IMPACT",
"scenario_tag": "period_close_impact",
"question_type": "broad",
"broadness_level": "high",
"turns": [
{
"user_message": "Что из текущих аномалий сильнее всего ударит по закрытию периода, если оставить как есть?"
}
],
"expected_hints": {
"expected_reply_type": "clarification_required",
"expected_degraded_to": "clarification",
"expected_problem_first": true,
"expected_problem_unit_types": ["period_risk_cluster", "broken_chain_segment"]
}
},
{
"case_id": "S2-MULTI-INTENT",
"scenario_tag": "multi_intent_question",
"question_type": "multi_intent",
"broadness_level": "high",
"turns": [
{
"user_message": "Проверь 60 и 62 за июнь 2020, отдельно риски по НДС и влияние на закрытие периода."
}
],
"expected_hints": {
"expected_reply_type": "clarification_required",
"expected_degraded_to": "clarification",
"expected_problem_first": true,
"expected_problem_unit_types": ["broken_chain_segment", "period_risk_cluster", "cross_branch_inconsistency_cluster"]
}
},
{
"case_id": "S2-TRANSLIT-QUERY",
"scenario_tag": "translit_query",
"question_type": "direct",
"broadness_level": "medium",
"turns": [
{
"user_message": "Prover schet 60 za 2020-06, gde taili postavshikov i gde est razryv mezhdu oplatoy i dokumentami."
}
],
"expected_hints": {
"expected_reply_type": "partial_coverage",
"expected_degraded_to": "partial",
"expected_problem_first": true,
"expected_problem_unit_types": ["unresolved_settlement_cluster", "broken_chain_segment"]
}
},
{
"case_id": "S2-FOLLOWUP-INVESTIGATION",
"scenario_tag": "followup_investigation",
"question_type": "followup",
"broadness_level": "medium",
"turns": [
{
"user_message": "Разложи хвосты по поставщикам: где разрыв между оплатой и документами выглядит системным."
},
{
"user_message": "Сузь до периода 2020-06 и счета 60, оставь только кластеры с максимальным риском закрытия."
}
],
"expected_hints": {
"expected_reply_type": "partial_coverage",
"expected_degraded_to": "partial",
"expected_problem_first": true,
"expected_problem_unit_types": ["unresolved_settlement_cluster", "period_risk_cluster"]
}
}
]
}
@@ -0,0 +1,173 @@
{
"suite_id": "assistant_stage2_duplicate_probe",
"suite_version": "0.1.0",
"schema_version": "assistant_stage2_duplicate_probe_v0_1",
"scenario_count": 1,
"case_ids": [
"S2-DUP-COLLAPSE-PROBE-01"
],
"cases": [
{
"case_id": "S2-DUP-COLLAPSE-PROBE-01",
"scenario_tag": "duplicate_collapse_probe",
"route": "hybrid_store_plus_live",
"expected_duplicate_collapses_min": 1,
"input": {
"result_type": "chain",
"summary": {
"semantic_profile": {
"relation_patterns": [
"failed_edge:payment_to_settlement"
],
"anomaly_patterns": [
"tail_risk"
]
}
},
"risk_factors": [
"tail_risk"
],
"raw_entities": [
{
"source_entity": "Document",
"source_id": "DOC-1",
"relation_pattern_hits": [
"failed_edge:payment_to_settlement"
],
"anomaly_patterns": [
"tail_risk"
]
}
],
"evidence": [
{
"evidence_id": "ev-1",
"claim_ref": "requirement:R1",
"source_type": "retrieval_item",
"source_ref": {
"schema_version": "evidence_source_ref_v1",
"namespace": "snapshot_2020",
"entity": "Document",
"id": "DOC-1",
"period": "2020-06",
"canonical_ref": "evidence_source_ref_v1|snapshot_2020|document|doc-1|2020-06"
},
"pointer": {
"fragment_id": "F1",
"route": "hybrid_store_plus_live",
"source": {
"namespace": "snapshot_2020",
"entity": "Document",
"id": "DOC-1",
"period": "2020-06"
},
"locator": {
"field_path": "risk_score",
"item_index": 0
}
},
"evidence_kind": "mechanism_link",
"mechanism_note": "failed_edge=payment_to_settlement",
"confidence": "medium",
"limitation": null,
"payload": {
"source_entity": "Document",
"source_id": "DOC-1",
"relation_pattern_hits": [
"failed_edge:payment_to_settlement"
],
"anomaly_patterns": [
"tail_cluster_a"
]
}
},
{
"evidence_id": "ev-2",
"claim_ref": "requirement:R1",
"source_type": "retrieval_item",
"source_ref": {
"schema_version": "evidence_source_ref_v1",
"namespace": "snapshot_2020",
"entity": "Document",
"id": "DOC-1",
"period": "2020-06",
"canonical_ref": "evidence_source_ref_v1|snapshot_2020|document|doc-1|2020-06"
},
"pointer": {
"fragment_id": "F1",
"route": "hybrid_store_plus_live",
"source": {
"namespace": "snapshot_2020",
"entity": "Document",
"id": "DOC-1",
"period": "2020-06"
},
"locator": {
"field_path": "risk_score",
"item_index": 1
}
},
"evidence_kind": "mechanism_link",
"mechanism_note": "failed_edge=payment_to_settlement",
"confidence": "medium",
"limitation": null,
"payload": {
"source_entity": "Document",
"source_id": "DOC-1",
"relation_pattern_hits": [
"failed_edge:payment_to_settlement"
],
"anomaly_patterns": [
"tail_cluster_b"
]
}
},
{
"evidence_id": "ev-3",
"claim_ref": "requirement:R2",
"source_type": "retrieval_item",
"source_ref": {
"schema_version": "evidence_source_ref_v1",
"namespace": "snapshot_2020",
"entity": "Document",
"id": "DOC-2",
"period": "2020-06",
"canonical_ref": "evidence_source_ref_v1|snapshot_2020|document|doc-2|2020-06"
},
"pointer": {
"fragment_id": "F1",
"route": "hybrid_store_plus_live",
"source": {
"namespace": "snapshot_2020",
"entity": "Document",
"id": "DOC-2",
"period": "2020-06"
},
"locator": {
"field_path": "risk_score",
"item_index": 2
}
},
"evidence_kind": "anomaly_signal",
"mechanism_note": null,
"confidence": "low",
"limitation": {
"reason_code": "missing_mechanism",
"note": null
},
"payload": {
"source_entity": "Document",
"source_id": "DOC-2",
"relation_pattern_hits": [
"failed_edge:payment_to_settlement"
],
"anomaly_patterns": [
"tail_cluster_c"
]
}
}
]
}
}
]
}