外观
第九课:混合路由
目标
理解真实系统为什么不会把所有请求都直接交给通用 Agent。
源码:
运行:
bash
npm run lesson:09路由全貌
正在绘制流程图…
四种路线
明确入口
按钮、表单或上游接口已经提供:
typescript
{
explicitIntent: "weather",
city: "杭州"
}程序直接调用天气工具,不需要模型猜测。
规则和模板
“深圳现在多少度”是明确事实查询:
text
规则识别 → 查询工具 → 模板回答不需要第二次模型调用。
工具和模型整理
“杭州适合划船吗”需要天气事实,也需要结合活动给出建议:
text
程序调用天气工具 → 模型分析工具结果 → 给出建议课程为了离线运行,用确定性文字标记模型整理的位置。
通用 Agent
“写一首关于天气的诗”虽然包含“天气”,但不是查询天气。前面的确定性路线无法处理时,再交给通用 Agent。
路由优先级
具体规则必须放在宽泛规则前面。
“杭州天气适合划船吗”同时包含“天气”和“适合”。如果先匹配宽泛天气规则,就会错误地只返回温度。
正确顺序:
text
明确入口
→ 具体建议类意图
→ 宽泛事实查询
→ 通用 AgentRouter、Workflow 和 Agent
- Router:选择走哪条完整路线。
- Workflow:控制一条路线内部有哪些步骤。
- Agent:在开放任务中自主选择行动。
本课结论
确定的问题用确定的程序解决;需要理解的局部交给模型;无法提前规定的任务才启动通用 Agent。