Skip to content

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 工程不是每次都调用最强模型、最多专家、最长流程。好的工程是把请求送到刚好够用的流程。

练习题

  1. Routing 结果应该允许模型自由生成,还是限制在枚举里?
  2. 一个请求同时像 CONCEPT_HELPSINGLE_REVIEW,应该怎么分?
  3. 你会把越界判断放在 Routing 前,还是 Routing 里?

Built with VitePress. Deployed on Cloudflare Pages.