Appearance
第 04 课 · 提示链与路由:网校最常见解法
模式篇开篇:先把最常用的两种 Workflow 吃透。 网校 / 教材里八成的「多步 AI 功能」,用 提示链 + 路由 就能干净利落地做完。
本课要解决的问题
第一篇决策篇解决了「要不要上、用什么结构、RAG 还是工具」。从本课起进入 第二篇 · 模式篇,把六种设计模式落到真实代码结构。
第 02 课列过六种模式,本课先讲 最高频的两种:
- 提示链 Chaining —— 固定几步串起来
- 路由 Routing —— 先分类再分流
以及二者 怎么组合成网校功能的主干。
一、提示链 Chaining:把一件事拆成固定几步
本质: 上一步的输出,当下一步的输入。步骤 你写死,模型只负责每一步的生成。
典型场景:AI 出题
① 生成大纲(按知识点列考点)
↓ 大纲文本
② 按大纲生成题干
↓ 题干
③ 生成参考答案
↓ 题干 + 答案
④ 生成解析为什么拆链、不用一个大 prompt:
| 一个大 prompt 全做 | 拆成提示链 |
|---|---|
| 容易漏步骤 / 格式乱 | 每步职责单一,质量稳 |
| 出错难定位 | 哪一步坏了一眼看出 |
| 无法中途校验 | 每步可加校验 / 重试 |
关键工程:每步之间加「关卡」
每一步产出 → 结构化输出(JSON / 固定格式)
→ 程序校验(字段齐不齐、数量对不对)
→ 不合格则重试该步(而非整链重来)提示链的可靠性,来自「步与步之间的校验」,不是来自「模型更聪明」。
何时用提示链
任务能拆成「先…再…然后…」的固定顺序 → 提示链
每步都要看上一步结果、但顺序固定 → 提示链
顺序会因结果而变 → 那不是提示链,回看路由 / Agent二、路由 Routing:先分类,再分流
本质: 先用一步判断「这是什么类型」,再把它送到对应的处理分支。
典型场景:智能答疑分类
用户问
↓
分类器:概念题 / 实操题 / 闲聊 / 要查后台
├─ 概念题 → RAG 检索教材 → 答 + 出处
├─ 实操题 → RAG + 步骤模板
├─ 闲聊 → 轻量 prompt,不检索(省钱)
└─ 查后台 → 单次 Function Calling(带审批)分类器怎么做(三档,由轻到重)
| 做法 | 成本 | 适用 |
|---|---|---|
| 关键词 / 规则 | 最低 | 类型边界清晰(含「作业」「进度」等词) |
| 小 / 快模型分类 | 低 | 语义分类,类别固定(默认选它) |
| 大模型分类 | 高 | 类别多、边界模糊,才值得 |
口诀: 分类这一步 越轻越好 —— 它只是「分流开关」,别用旗舰模型杀鸡。
路由的价值
- 稳定质量:每类走专门优化过的 prompt,而不是一个 prompt 应付所有
- 控成本:闲聊不检索、简单问题走小模型
- 好扩展:加新类型 = 加一条分支,不动其它
三、组合拳:路由 + 提示链(网校主干)
真实功能常是两者叠加 —— 路由分流,每条分支内部再走提示链:
用户请求
↓
路由(判断类型)
├─ 「帮我出一套测验」 → 提示链(大纲→题→答案→解析)
├─ 「讲讲这个知识点」 → RAG 单步答疑
└─ 「我的进度如何」 → 单次工具查询伪代码结构(示意):
type = route(userInput) // 路由:一步分类
switch (type) {
case '出题': return chain([outline, questions, answers, analysis])
case '答疑': return ragAnswer(userInput)
case '查询': return callTool('getProgress', {...})
}这仍然全是 Workflow —— 路径你定死,没有一处交给模型自主循环。
常见翻车与纠正
| 翻车 | 症状 | 纠正 |
|---|---|---|
| 一个 prompt 干所有类型 | 质量飘忽、难优化 | 前置 路由 分流 |
| 提示链步间不校验 | 一步坏,后面全崩还不知道 | 每步 结构化输出 + 校验 + 单步重试 |
| 分类用旗舰模型 | 贵、慢,得不偿失 | 分类降到 关键词 / 小模型 |
| 该并行却串成长链 | 批量任务超时 | 独立子任务改 并行(第 05 课) |
本课结论
- 提示链 = 固定顺序拆步,靠「步间校验」保证可靠,不是靠模型更强。
- 路由 = 先分类再分流,分类步越轻越好。
- 路由 + 提示链 是网校多步 AI 功能的主干,全程 Workflow、可控可测。
- 分支要专:每类走各自优化的 prompt,别一个 prompt 打天下。
课后自检(3 分钟)
- [ ] 我的多步任务顺序是固定的(否则不该用提示链)
- [ ] 提示链每步都有结构化输出 + 校验 + 单步重试
- [ ] 我的路由分类步用了尽量轻的模型 / 规则
- [ ] 每条路由分支都有专门优化的处理,而非共用一个大 prompt
- [ ] 我能画出这条「路由 → 分支」的固定流程图
下一课预告
第 05 课 · 编排-执行与评估-优化 —— 处理「子任务数不定」和「要反复打磨」的两种进阶 Workflow,以及并行怎么用。
延伸阅读
© 曹宇春