Skip to content

验收场景与预期结果 ​

基准数据与口径 ​

使用独立演示数据库的初始样本。查询条件为 paid_on=2026-10-10、as_of=2026-10-11T12:00:00+08:00,授权店铺为 A。日期按上海时区,超时为严格超过 24 小时且订单当前状态为 paid。

订单基准判断报告应如何解释
A1001纳入异常当前可用库存不足,可能影响发货,仍需核实
A1002纳入异常存在 warehouse_hold 履约记录,需要核验拦截原因
A1003纳入异常现有证据不足,原因待确认
A1004排除尚未严格超过 24 小时
A1005排除当前已发货
A1006排除当前已取消
B1001不可见不属于 Agent 授权店铺

固定 as_of 用于计算超时,不代表系统提供历史数据回放。库存与订单状态均来自读取时的数据。

场景表 ​

写入场景使用独立测试数据库,或明确记录已有工单。每个新任务使用不同的 request_id;模拟同一任务重试时保留原编号。

编号场景与输入预期结果与核对点
S01基准条件查询订单total=3,集合为 A1001、A1002、A1003
S02limit=2, offset=0,再按 next_offset 查询首批 A1001、A1002;第二批 A1003,最终 next_offset=null
S03查询无订单的支付日期 2026-10-09,保持基准 as_oftotal=0、items=[]、next_offset=null;不解释成接口失败
S04请求 limit=0、limit=101 或负数 offsetHTTP 参数校验拒绝,不执行无限制查询
S05as_of 不带时区或使用错误日期HTTP 422;报告不擅自补出结果
S06无令牌或错误令牌查询HTTP 401,无订单数据泄露
S07使用 Agent 身份查询 B1001 证据HTTP 404,不返回其他店铺订单、库存或履约
S08校验样本中的正常记录valid=true,统计数量与输入一致
S09校验缺失字段或类型错误记录valid=false,issues 说明数据问题;与执行失败区分
S10基准条件启动工作流awaiting_approval,报告三单,工单为空
S11相同请求编号与相同参数再次启动返回相同 workflow_id,不创建第二个任务
S12相同请求编号改成不同日期HTTP 409,不能覆盖原任务的范围
S13未审批直接调用恢复工具HTTP 409,数据库无新增工单
S14Agent 令牌调用人工决策接口HTTP 403,不能自我批准
S15审批人批准后恢复completed;在没有已有工单、订单未变化时,创建 TK-A1001、TK-A1002、TK-A1003
S16S15 后再次恢复不增加工单数量,返回已有处理结果
S17新工作流处理同样订单,批准后恢复复用每单已有工单,结果可出现 outcome=existing
S18独立工作流被审批人拒绝,然后恢复rejected,此流程不创建工单
S19无异常日期启动工作流no_action,无报告条目和工单,不要求无意义审批
S20等待审批时停止 API,使用原数据库与检查点重启原 workflow_id 可查询,继续审批、恢复;不能生成新编号冒充恢复
S21审批后、恢复前,测试库中一单已发货该单 outcome=skipped_changed,不按旧报告创建工单
S22人工审批同一决定重复提交,再尝试相反决定同一决定可复用;改写已有决定被拒绝
S23API 无法连接或返回超时MCP 返回执行错误;不能声称没有异常订单或写入一定未执行
S24构造超过 100 单的独立样本启动工作流拒绝超限批次,不静默处理前 100 单并报告全部完成
S25将付款时间设置为恰好距基准时间 24 小时不纳入异常;更早一秒且满足其他条件时纳入
S26OpenAI、DeepSeek 分别运行同一自然语言请求分别核对三单、完整分页、证据、不确定性和审批;保存各自真实轨迹

S21、S24、S25 的数据变更只用于独立测试样本。可以通过测试夹具构造,不修改共享业务库来制造异常。

可执行验证入口 ​

在工程目录运行:

powershell
uv run --frozen pytest -q
uv run --frozen python -m app.smoke_mcp

已有业务 API 启动、初始化完毕,且当前终端设置了正确 Agent 环境变量时运行:

powershell
uv run --frozen python -m app.smoke_mcp --with-api

自动化测试的源码见 tests。场景表是完整验收目标,不能仅凭测试命令退出成功就认为所有场景、数据库和模型路线都已覆盖。实际覆盖项应以测试代码、运行记录及真实客户端证据为准。

模型侧请求 ​

text
使用 ecommerce-order-investigation。
查询店铺 A 在 2026-10-10 支付的订单,判断基准是
2026-10-11T12:00:00+08:00,筛选付款超过 24 小时仍未发货的订单。
每页 2 条,读取所有页,分别查询库存和履约证据。
输出订单、证据、可能原因、建议和待确认事项。先不要创建工单。

报告必须包含 A1001、A1002、A1003,明确所查日期、时区和超时口径。A1003 不能编造物流商故障;A1001 不能把当前库存快照写成已经证实的历史根因。没有审批记录时,模型不得声称工单已创建。

验收记录格式 ​

字段记录内容
场景场景编号、目的
环境操作系统、Python、锁文件版本、MySQL 或 SQLite、客户端版本
模型名称、接入路线;非模型测试填“不涉及”
输入样本版本、日期、时区、分页、请求编号
预期订单集合、状态、HTTP 结果、允许发生的写入
实际原始响应、工具轨迹、报告、工单查询结果
判定通过、失败或未执行;没有证据时不得填通过
复核问题原因、改动范围、再次执行结果

记录中隐藏令牌和真实客户信息。completed 是工作流结果,不是发货凭证;业务状态应以相应系统的实际记录为依据。

返回项目篇目录 · 工程运行说明

本站仅供学习交流