Files
jerryandClaude Fable 5 5888e1d5c1 test(docgen): 测试治理资产——131 条验收用例 + 三轮留痕 + E2E/回归套件
- tests/docgen/:DC-UNIT/API/CONF/E2E/UI/REGRESSION/PERF 分组用例与可复跑脚本,报告逐条留痕(R1-R3 全记录)
- 意图 30 条前后端同表双跑(pytest + node)
- Playwright headless:docgen-ui/docgen-regression spec + b3 benchpanel 第 5 TAB 断言更新

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-03 21:13:47 +08:00

4.5 KiB

意图路由对照表(30 条)—— 测试 agent 执行用副本

来源与一致性要求:本文件直接复制自 docs/team/cases_intent.md(唯一事实源,已冻结),供 DC-INTENT-CASES-01~30 执行引用。 一致性命中规则:若 docs/team/cases_intent.md 更新,必须同步复制本表;两文件不一致时以 docs/team/cases_intent.md 为准。 不得自造词典、不得自造用例。本表由后端(sdk/app/services/docgen/intent.py)与前端(ui/src/intent.js)双实现共用,测试双跑。

路由签名

route(text, has_attachments, has_active_artifact) -> "qa" | "docgen" | "edit" | "export"

判定顺序(按优先级从上到下,命中即返回)

  1. export(需 has_active_artifact == True):text 含任一 EXPORT_WORD 且含任一 FORMAT_WORD
    • EXPORT_WORD = [导出, 转成, 转为, 转换成, 下载成, 输出为, 存为, 转pdf, 转word]
    • FORMAT_WORD = [pdf, docx, doc, word](英文不区分大小写;"doc" 是 "docx" 的子串,判定时 FORMAT_WORD 逐一 contains 即可)
    • 无活动文档时不命中本规则,继续向下判定。
  2. edit(需 has_active_artifact == True):text 含任一 EDIT_WORD
    • EDIT_WORD = [改, 修改, 调整, 删, 删除, 加一段, 补充, 润色, 缩写, 扩写, 重写, 改写, 优化, 加个, 增加一段]
    • 无活动文档时不命中本规则,继续向下判定。
  3. docgen(写文档意图):text 含任一 WRITE_VERB 且含任一 DOC_TYPE
    • WRITE_VERB = [写, 撰写, 拟, 起草, 编制, 生成, 编写, 拟定, 草拟, 制定]
    • DOC_TYPE = [论文, 报告, 通知, 通告, 公告, 请示, 批复, 函, 申请书, 申请, 申报书, 标书, 合同, 协议, 方案, 计划, 总结, 汇报, 讲话稿, 致辞, 证明, 纪要, 简报, 材料, 说明书, 指南, 文档, 申报材料, 工作总结, 调研报告, 可行性报告, 项目书, 策划书, 演讲稿, 新闻稿, 文案, 简历, 制度, 规定, 办法, 细则, 章程, 声明, 邀请函, 感谢信, 慰问信, 介绍信, 推荐信, 倡议书, 述职报告, 开题报告, 结题报告, 实验报告, 分析报告, 会议纪要]
    • 明确排除(不属于 DOC_TYPE,防误判):介绍, 内容, 代码, 诗, 作业, 问题, 建议, 想法
  4. docgen(附件信号):has_attachments == True 且 text 含任一 WRITE_VERB
  5. 其余一律 "qa"(漏判安全原则:不命中绝不进 docgen)

用例表(30 条,前后端实现与测试共用同一张表)

# 输入 text 附件 活动文档 期望
1 给我写一篇关于小麦育种的论文 否 否 docgen
2 帮我写一个关于疫情防控的通知,参考xxx文档的格式 否 否 docgen
3 你来帮我起草一份项目总结报告 否 否 docgen
4 拟一份关于安全生产的通知 否 否 docgen
5 写一个基金申请文档,参考xxxx和xxxx资料,你来润色 否 否 docgen
6 根据这个文档,帮我写一篇申报材料 是 否 docgen
7 写一段水稻基因的介绍 否 否 qa
8 水稻基因是什么?介绍一下 否 否 qa
9 帮我总结一下这个问题的要点 否 否 qa
10 写一首关于秋天的诗 否 否 qa
11 帮我写代码实现一个排序函数 否 否 qa
12 这个方案你怎么看? 否 否 qa
13 通知今天下午开会 否 否 qa
14 导出成PDF 否 是 export
15 把文档转成word发给我 否 是 export
16 导出成PDF 否 否 qa
17 第2段改正式一点 否 是 edit
18 把标题改成黑体 否 是 edit
19 润色一下第二段 否 是 edit
20 第2段改正式一点 否 否 qa
21 帮我写个方案,参考上次上传的材料 否 否 docgen
22 写一份年度工作计划 否 否 docgen
23 起草会议纪要 否 否 docgen
24 帮我生成一个市场分析报告 否 否 docgen
25 写一篇演讲稿,要有感染力 否 否 docgen
26 帮我写一份劳动合同 否 否 docgen
27 转成PDF 否 是 export
28 帮我写个会议通知模板 否 是 docgen
29 给这个通知加个结尾 否 是 edit
30 增加一段关于风险的描述 否 是 edit

一致性要求(与 docs/team/cases_intent.md 相同)

  • dev1 的 sdk/app/services/docgen/intent.py 与 dev3 的 ui/src/intent.js 必须按本表逐条通过
  • 测试 agent 的 DC-INTENT-CASES 组直接引用本表(不得另造规则)