muse-agent-example/tests/夹具/模型事件.json
zizi 50a5522014 W01 落实合同与逐用例工作清单:合同与逐用例工作清单落实(接口契约、文件设计与用例页)。
按 R2 串行阶段整理提交;包内文件为该阶段交付(含后续小增量),状态以工作包清单为准。
2026-09-10 19:25:40 +08:00

306 lines
7.6 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"schema_version": "muse-fixture-model-events-v1",
"来源": "合成样例(W01 首批保护夹具);provider/model 均为占位符,不指向真实服务",
"合同": "docs/系统架构/新版设计/接口契约/任务工具与事件.md",
"语义": "terminal_state 取 completed/truncated/failed/no_completion_basis;usage_state 取 known/unknown",
"scenarios": [
{
"scenario_id": "model-normal-completion",
"说明": "分片输出→finish(stop)→回执含用量:构成有效完成",
"events": [
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "夜色"
}
}
},
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "渐深。"
}
}
},
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "finish",
"reason": {
"kind": "stop"
}
}
}
},
{
"type": "assistant/message",
"data": {
"turn": 1,
"step": 1,
"message": {
"source": {
"provider": "synthetic",
"model": "fixture-model"
},
"content": [
{
"type": "text",
"text": "夜色渐深。"
}
]
},
"usage": {
"inputTokens": 100,
"outputTokens": 8,
"costUsd": 0.001
}
}
}
],
"expected": {
"terminal_state": "completed",
"finish_reason": "stop",
"usage_state": "known",
"final_text": "夜色渐深。"
}
},
{
"scenario_id": "model-truncated-by-length",
"说明": "finish(length):明确终态=截断,不是成功完成",
"events": [
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "长文未完"
}
}
},
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "finish",
"reason": {
"kind": "length"
}
}
}
},
{
"type": "assistant/message",
"data": {
"turn": 1,
"step": 1,
"message": {
"source": {
"provider": "synthetic",
"model": "fixture-model"
},
"content": [
{
"type": "text",
"text": "长文未完"
}
]
},
"usage": {
"inputTokens": 100,
"outputTokens": 4096
}
}
}
],
"expected": {
"terminal_state": "truncated",
"finish_reason": "length",
"usage_state": "known"
}
},
{
"scenario_id": "model-stream-close-without-finish",
"说明": "流关闭但无完成信号:无有效完成依据,不得判成功",
"events": [
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "半句"
}
}
},
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "话"
}
}
}
],
"expected": {
"terminal_state": "no_completion_basis",
"usage_state": "unknown",
"notes": "保留部分输出或失败,不得计为完成;文本片段不是完成事件"
}
},
{
"scenario_id": "model-midstream-error",
"说明": "分片后错误事件:终态=失败,错误可见",
"events": [
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "开始"
}
}
},
{
"type": "assistant/error",
"data": {
"turn": 1,
"step": 1,
"error": {
"code": "provider_unavailable",
"message": "合成错误:上游不可用"
}
}
}
],
"expected": {
"terminal_state": "failed",
"error_code": "provider_unavailable",
"usage_state": "unknown"
}
},
{
"scenario_id": "model-unknown-usage",
"说明": "finish(stop) 与回执均出现,但用量缺失:完成与用量未知分别表示",
"events": [
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "text",
"text": "完成句子。"
}
}
},
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "finish",
"reason": {
"kind": "stop"
}
}
}
},
{
"type": "assistant/message",
"data": {
"turn": 1,
"step": 1,
"message": {
"source": {
"provider": "synthetic",
"model": "fixture-model"
},
"content": [
{
"type": "text",
"text": "完成句子。"
}
]
}
}
}
],
"expected": {
"terminal_state": "completed",
"finish_reason": "stop",
"usage_state": "unknown",
"notes": "未知用量单独表示,不填 0、不猜测、不冒充已结算"
}
},
{
"scenario_id": "model-finish-after-message",
"说明": "回执先到、finish 信号后到(乱序容错反例):仍可判完成,但依据是两者齐备",
"events": [
{
"type": "assistant/message",
"data": {
"turn": 1,
"step": 1,
"message": {
"source": {
"provider": "synthetic",
"model": "fixture-model"
},
"content": [
{
"type": "text",
"text": "乱序。"
}
]
},
"usage": {
"inputTokens": 10,
"outputTokens": 2
}
}
},
{
"type": "assistant/chunk",
"data": {
"turn": 1,
"step": 1,
"chunk": {
"type": "finish",
"reason": {
"kind": "stop"
}
}
}
}
],
"expected": {
"terminal_state": "completed",
"finish_reason": "stop",
"usage_state": "known",
"final_text": "乱序。"
}
}
]
}