跳转到内容

意图分类系统(Intent Gate)

意图分类系统(Intent Gate)

什么是意图分类

意图分类(Intent Gate)是一种在 AI Agent 执行任何操作之前,先对用户请求进行真实意图识别的设计模式。它回答的核心问题不是「用户说了什么」,而是「用户真正想让我做什么」。

为什么需要:用户的自然语言请求往往存在表层形式与真实意图的不匹配。例如:

  • 「这个函数返回 null」表面是陈述,真实意图可能是请求调试帮助
  • 「把按钮改成蓝色」表面是修改请求,但可能涉及更深层的设计问题
  • 「有没有更好的方案」表面是提问,真实意图可能是请求架构咨询

不进行意图分类直接行动,是 Agent 系统中最常见的失败模式之一。

意图类型

实践中常见的意图类型包括:

意图类型用户行为Agent 策略
research(研究)了解代码、寻找模式、分析架构只读操作,不修改代码
implementation(实现)添加功能、修改代码、创建文件读写操作,需要验证
investigation(调查)调试问题、查找 bug、分析错误诊断性操作,多步骤
fix(修复)修复已知问题、消除警告精确修改,最小变更

实现模式

模式一:系统提示内嵌

最常见且开销最低的方式——将意图分类指令内嵌在系统提示中,要求 Agent 在每次回复前明确声明意图分类。

## Phase 0 - Intent Gate (apply to EVERY message)
Before classifying the task, identify what the user actually wants.
Map the surface form to the true intent, then announce your routing decision.

优点:零额外延迟、无独立组件、与 Agent 决策融为一体 缺点:依赖模型遵循指令的能力,不同模型家族表现差异大

模式二:独立分类组件

将意图分类作为独立的第一步,在 Agent 循环之外运行。

用户请求 → [IntentGate] → 分类结果 → Agent 循环(带分类上下文)

优点:可独立验证和测试、分类逻辑可与 Agent 模型解耦 缺点:增加一次额外调用和延迟、上下文传递增加 token 消耗

模式三:Hook 驱动的意图监控

通过生命周期 Hook 持续监控意图是否与当前行为一致,发现偏差时触发重新分类。

意图分类与 Category 路由的区别

这是两个不同层次的决策:

维度Intent GateCategory 路由
决策内容「做什么类型的工作」「用哪个模型做」
触发时机每条消息每次委托/任务
输出research/implementation/investigation/fixvisual-engineering/ultrabrain/deep/quick 等
关系意图分类 影响 Category 选择Category 决定模型/温度/提示词

协作流程

用户请求 → IntentGate 分类意图 → Agent 根据意图选择策略 → 委托任务时指定 Category → 路由到具体模型

陷阱与规避

陷阱 1:意图漂移

问题:Agent 在对话中自动携带上一轮的意图分类,即使用户已提出新的请求。

规避:在系统提示中明确约束:

Reclassify intent from CURRENT message ONLY. NEVER auto-carry intent from prior turns.

陷阱 2:过度分类

问题:意图类型过多(10+ 种),Agent 难以准确区分相邻类型。

规避:保持意图类型精简(4-6 种),用明确的行为差异区分,而非语义差异。

陷阱 3:分类错误的级联效应

问题:错误意图导致错误工具选择 → 错误操作 → 用户不满。例如将「研究」分类为「实现」后直接修改代码。

规避

  • 研究类意图严格限制只读工具
  • 实现类意图强制先创建 todo 列表
  • 提供意图确认机制,对高风险操作显式确认

与多模型环境的集成

在多模型编排系统中,意图分类直接影响模型选择:

  • 研究/调查:可选择成本较低的模型(阅读和分析不需要最高推理能力)
  • 实现/修复:需要最强的代码理解和生成能力
  • 架构咨询:需要深度推理能力

意图分类为多模型路由提供了第一层决策信号,Category 系统在此基础上细化。