Commit Graph
2 Commits
Author SHA1 Message Date
lzf_0626 1fa5fc7d03 refactor: 客服回答正文只保留固定免责声明
业务方要求客户侧只看到一句固定话术(不构成投资建议),因此从回答正文移除:
1. 中置信的「(以上信息可能不完整,具体以产品说明书与公司制度为准)」提示;
2. 「(依据:…)」出处行——原先它显示的是知识块标题,FAQ 的标题就是问题本身,
   展示为「(依据:公司什么时候成立的?)」并没有可读价值。

可追溯性不受影响:本次命中哪个知识块仍由审计(agent.tool_executed 的工具调用记录)
与消息表留痕,source_references(tool 类型)也照常返回,只是不再面向客户展示。
取舍已在代码注释中标明:中置信回答此后不再向客户标注不确定性。

若将来要把出处展示给客户,应当走 source_references 的 knowledge 类型
(前提是让 ToolExecutor 把工具返回的 doc_id 登记为本次可引用来源),
而不是继续往正文里拼字符串。

同时移除因此不再使用的 INCOMPLETE_NOTICE 常量、_source_note 方法,
以及提问工具里那句"正文没有依据行"的提示。

验证:ruff 通过、mypy 107 文件无错;customer_service_check 9/9 通过;
ask_customer_service 实测回答正文为「答案 + 免责声明」两行。
2026-09-10 20:33:13 +08:00
lzf_0626 a7fd02ec44 feat: 新增客服 Agent 手工提问工具 ask_customer_service.py
批量验收脚本(customer_service_check.py)只覆盖 8 个固定用例,手工试自己的问题时
需要自己签发 JWT、提交 run、驱动执行、解析结果,门槛太高。本工具把这条链路封成一条命令:

    python tools/ask_customer_service.py "基金赎回到账要多久"     # 单次提问
    python tools/ask_customer_service.py                          # 交互模式,同会话连续追问
    python tools/ask_customer_service.py --user 9003 "问题"        # 换身份提问

输出包含:运行状态、识别意图与置信度、处置判定(直接回答 / 引导人工客服)、回答正文、
来源引用,并在"给了答案但正文没有依据"时给出人工核对提示。

注意:脚本自己驱动这一条 run 执行(WorkerRuntime().execute),运行前需停掉常驻 Worker,
否则常驻 Worker 会从共享队列抢走任务,脚本将等不到结果。
2026-09-10 20:24:33 +08:00