通过提示链进行顺序处理,是利用大语言模型执行确定性、线性工作流的一项基础技术。然而,在需要自适应响应的场景中,其适用性存在局限。现实世界中的智能体系统常常需要根据环境状态、用户输入或前序操作结果等动态因素,在多个潜在行动方案之间进行权衡选择。这种动态决策能力,即控制流程转向不同的专门功能、工具或子流程的能力,正是通过名为“路由”的机制来实现的。 路由机制将条件逻辑引入智能体操作框架,使执行路径从固定模式转变为可动态评估特定标准,并从后续多种行动中自主选择的模式。这不仅让系统行为更具灵活性,也使其能够更好地感知并适应上下文环境。 举例来说,一个用于处理客户咨询的智能体,若配备了路由功能,就可以首先对传入的查询进行分类,以识别用户意图。基于用户意图的分类结果,系统能够将查询导向专门的问答智能体、用于账户信息检索的数据库,或针对复杂问题启动升级流程,而不是局限于单一的预设响应路径。具体而言,一个具备路由功能的智能体可以实现以下决策流程:
  1. 分析用户查询意图。
  2. 根据查询意图进行路由:
    • 如果意图是“查询订单状态”,则将该查询路由至与订单数据库交互的子智能体或工具链。
    • 如果意图是“查询产品信息”,则将该查询路由至搜索产品目录的子智能体或链。
    • 如果意图是“技术支持”,则将该查询路由至故障排除指南或转接人工渠道。
    • 如果意图不明确,则将该查询路由至用于澄清意图的子智能体或提示链。
路由模式的核心是一种执行评估并引导流程的机制。该机制可以通过以下几种方式实现:
  • 基于大语言模型的路由:可以通过引导大语言模型对输入进行分析,并输出特定标识符来指示下一步操作。例如,提示词可能会要求大语言模型“分析以下用户查询,并仅输出类别:‘订单状态’、‘产品信息’、‘技术支持’或‘其他’”。智能体系统根据输出结果引导工作流方向。
  • 基于嵌入的路由:将输入查询转换为嵌入向量(参见第 14 章关于检索增强生成的内容),然后将这个嵌入向量与代表不同路由或功能的嵌入向量进行对比。查询会被路由至与其嵌入向量最为相似的路径。这种方法特别适用于语义路由场景,路由决策依赖于输入内容的深层含义,而不是仅依赖关键词匹配。
  • 基于规则的路由:使用预定义的逻辑规则(如 if-else 语句)进行路由决策,依据的是从输入中提取的关键词、模式或结构化数据。尽管这种方法较基于 LLM 的路由响应更快、确定性更强,但在处理细微差异或新颖输入时灵活性较差。
  • 基于机器学习模型的路由:该方法采用一个判别式模型(例如分类器)。该模型在少量标注数据上进行过专门训练,以执行路由任务。虽然它在概念上与基于嵌入的方法有相似之处,但其关键特征在于监督微调过程,该过程通过调整模型参数,以形成一个专用的路由功能。此技术与基于 LLM 的路由也不同,因为其决策组件并非一个在推理时执行提示词的生成式模型。相反,路由逻辑被编码在微调后模型所学得的权重之中。尽管 LLM 可能被用于预处理步骤(例如生成合成数据以扩充训练集),但它们并不参与实时的路由决策本身。
路由机制可以在智能体操作周期的多个环节中实施。它既可用于初始阶段对主要任务进行分类,也可在处理链的中间节点动态决定后续操作,还可在子任务执行过程中从预设工具集中选择最合适的工具。 当前主流的计算框架(如 LangChain、LangGraph 与 Google ADK)为定义和管理此类条件逻辑提供了明确的结构。其中,LangGraph 凭借其基于状态的图架构,特别适用于决策依赖于整个系统累积状态的复杂路由场景;同样,Google ADK 则为构建智能体的核心能力与交互模型提供了基础组件,这些组件正是实现路由逻辑的重要基础。借助这些框架提供的执行环境,开发者能够明确定义系统中所有可能的操作路径,并基于函数或模型评估机制,决定计算图中不同节点之间的流转。 通过引入路由机制,系统得以突破传统确定性顺序处理的限制,构建出更具适应性的动态执行流程。这种设计使系统能够对多样化的输入和不断变化的状态做出更加灵活、准确的响应。