Skip to content

第九课:混合路由

目标

理解真实系统为什么不会把所有请求都直接交给通用 Agent。

源码:

运行:

bash
npm run lesson:09

路由全貌

正在绘制流程图…

四种路线

明确入口

按钮、表单或上游接口已经提供:

typescript
{
  explicitIntent: "weather",
  city: "杭州"
}

程序直接调用天气工具,不需要模型猜测。

规则和模板

“深圳现在多少度”是明确事实查询:

text
规则识别 → 查询工具 → 模板回答

不需要第二次模型调用。

工具和模型整理

“杭州适合划船吗”需要天气事实,也需要结合活动给出建议:

text
程序调用天气工具 → 模型分析工具结果 → 给出建议

课程为了离线运行,用确定性文字标记模型整理的位置。

通用 Agent

“写一首关于天气的诗”虽然包含“天气”,但不是查询天气。前面的确定性路线无法处理时,再交给通用 Agent。

路由优先级

具体规则必须放在宽泛规则前面。

“杭州天气适合划船吗”同时包含“天气”和“适合”。如果先匹配宽泛天气规则,就会错误地只返回温度。

正确顺序:

text
明确入口
→ 具体建议类意图
→ 宽泛事实查询
→ 通用 Agent

Router、Workflow 和 Agent

  • Router:选择走哪条完整路线。
  • Workflow:控制一条路线内部有哪些步骤。
  • Agent:在开放任务中自主选择行动。

本课结论

确定的问题用确定的程序解决;需要理解的局部交给模型;无法提前规定的任务才启动通用 Agent。

内容仅供学习参考 · 隐私说明与免责声明见“关于”页面