Files
PlantAI-rag-new/docs/team/cases_intent.md
T
jerryandClaude Fable 5 8467dec3a8 fix(bff): 断流崩溃根治——SSE 取消链模块明文化 + 团队文档归档
客户端中途断开流时 Cython 协程 __Pyx_Coroutine_SendEx 断言 abort 整个 BFF。
证据链:3.2.8 崩 db.c / 3.3.0 仍崩(升级无效) / db 明文后迁移 sse_relay.c,
证明取消链上任意 Cython 协程均可触发。最终把 db.py/qa.py/sse_relay.py
加入编译白名单(明文),隔离实例断流探针 10/10 存活,生产同构建实测通过。
代价:3 模块失去编译硬化(无凭据内容),编译模块 30->27。

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

69 lines
4.2 KiB
Markdown
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.
# 意图路由规范(唯一事实源)——dev1(Python)/dev3(JS)/测试 agent 三方共用
## 路由签名
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 |
## 一致性要求
- dev1 的 sdk/app/services/docgen/intent.py 与 dev3 的 ui/src/intent.js 必须按本表逐条通过
- 测试 agent 的 DC-INTENT-CASES 组直接引用本表(不得另造规则)