切换主题
14. Routing 分诊:轻问题轻处理,重问题进专家组
上一章练习参考答案
第一题,只问单笔交易是否遵守计划、只查风险计算、只补一个术语解释,这些请求通常不需要多智能体。
第二题,专家意见冲突时,主教练应该展示冲突依据,必要时进入人工确认,而不是强行编一个统一结论。
第三题,不可以。风险教练可以指出风险计划是否一致,可以建议“先固定单笔风险规则”,但不能给用户具体实盘加仓建议。
新问题:所有请求都进专家组,太重了
多智能体很强,但它也贵、慢、复杂。
如果用户只是问:
“这笔交易的盈亏比是多少?”
你让 PA 教练、风险教练、心理教练、数据教练全跑一遍,就很浪费。
所以第十四章引入 Routing 分诊。
路由要分什么
PA 复盘教练常见请求可以分成几类:
RISK_ONLY:只算风险收益。SINGLE_REVIEW:单笔完整复盘。NEEDS_CONTEXT:信息不足,先追问。EXPERT_PANEL:复杂复盘,需要多专家。BLOCKED:越界问题。CONCEPT_HELP:概念解释。
路由不是模型自由发挥,而是把请求送到合适流程。
先用规则也可以
早期可以先用规则:
java
if (guardrailService.isLiveAdviceRequest(question)) {
return Route.BLOCKED;
}
if (!trade.hasRiskPlan()) {
return Route.NEEDS_CONTEXT;
}
if (question.contains("盈亏比")) {
return Route.RISK_ONLY;
}
return Route.SINGLE_REVIEW;后期再把复杂意图识别交给 LLM Routing。即使用 LLM,路由结果也应该是枚举值,而不是一段自由文本。
Routing 和 Graph 的关系
Routing 决定走哪条路。Graph 承载每条路怎么走。
比如:
BLOCKED进入保护栏返回。NEEDS_CONTEXT进入中断节点。RISK_ONLY只调用风险工具。EXPERT_PANEL才启动多智能体。
这样系统不会因为功能变多就所有请求都走最重路径。
这一章真正解决了什么
Routing 解决的是“成本和复杂度控制”。
好的 AI 工程不是每次都调用最强模型、最多专家、最长流程。好的工程是把请求送到刚好够用的流程。
练习题
- Routing 结果应该允许模型自由生成,还是限制在枚举里?
- 一个请求同时像
CONCEPT_HELP和SINGLE_REVIEW,应该怎么分? - 你会把越界判断放在 Routing 前,还是 Routing 里?