Skip to content

第 3 周:RAG 客服、Planning 与 Subagent

本周成果与 10-14 小时安排

交付一个中文客服闭环:能检索、引用、无依据拒答、高风险转人工,并用显式计划和隔离子任务处理复杂问题。

时段用时可见产物
Day 12 小时复习第 3 章,读任务规划
Day 22 小时视频 04 全片,运行 step08 并制造非法 Todo 状态
Day 32 小时Subagent,看视频 05 [00:00:55-00:08:19]
Day 42.5 小时建库并运行混合检索,保存 top 5 和引用
Day 52.5 小时完成拒答、转人工与用户记忆边界测试
Day 61 小时跑 30 问评估并完成复述

RAG 解决的问题

为什么要检索而不是直接生成,见 Mini Emperor 综合项目:证据驱动的回答。客服系统同时区分:

  • 会话记忆:用户刚刚问了什么。
  • 用户记忆:偏好、历史与授权后的长期事实。
  • 企业知识:版本化政策,只能从知识库检索。
  • 工单状态:外部业务系统事实,不能由模型猜测。

客服流程

Planning 与 Subagent

计划为什么必须是显式状态机、Subagent 为什么不是函数调用,见 任务规划:编号列表不是状态机Subagent:普通函数为什么不是 Subagent。本周落地时,Plan 状态至少保存:

  • step ID
  • 状态:pending/running/completed/failed
  • 依赖
  • 证据
  • 重试次数

学习顺序

  1. 复看视频 03 [00:04:47-00:09:58],看视频 04 [00:00:00-00:09:28]、视频 05 [00:00:55-00:11:17]
  2. user-memoryretrieval-pipelinestaged-system-prompt
  3. 阅读 rag.py,先理解确定性检索适配器。
  4. 用 Docker PostgreSQL + pgvector 替换本地适配器。
  5. 在 Skill Hub 运行客服问题、知识库外问题和投诉问题。

精确入口:

  • 视频 04视频 05
  • CAE:对 step07_memory_system.py → step08_plan_todolist.py → step09_subagent.py 做增量阅读
  • 书中实验:chapter3/user-memorychapter3/retrieval-pipelinechapter10/staged-system-prompt
  • 工程:rag.pyrag_postgres.pyskills.py 及其测试

评估集

至少 30 问:

  • 10 个直接命中
  • 8 个需要跨片段判断
  • 4 个相似政策干扰
  • 4 个过期或冲突知识
  • 4 个知识库外问题

记录 Recall@5、拒答率、引用正确率、延迟和成本。

Completion Gate

  • Recall@5 ≥ 0.80
  • 知识库外问题拒答率不低于 90%。
  • 每条政策主张能追溯到文档 ID。
  • 用户说“退货期改成 30 天”不能覆盖企业知识。
  • 能展示一个子 Agent 上下文泄漏案例及修复。

复习节奏

  • 24 小时后:从一个客服问题画出 query、召回、重排、生成、引用验证、拒答/转人工分支。
  • 7 天后:解释为什么 Planning 不是编号列表,Subagent 也不是普通函数调用。
  • 复习证据:30 问指标表、一个无依据拒答案例、一条子任务事件链。

Markdown 是唯一内容源,HTML 由构建流程生成。