4. 工具编排基础

在金融智能体里,单个函数调用只能完成一个原子动作,比如查汇率、算收益、拉行情。但真实业务几乎不会只做一件事:客户问“我持有的沪深300基金今天涨了多少,如果赎回要交多少税,到账后能买多少国债逆回购”,这一句话背后至少涉及持仓查询、行情获取、税费计算、资金测算四类工具。工具编排(Tool Orchestration)就是解决“多个工具按什么规则、什么顺序、由谁调度、失败怎么办”的系统能力。它决定了智能体是只能做问答,还是能真正完成一笔业务。

核心原理:编排器与执行器的职责分离

工具编排的本质是把“决策”和“执行”拆开。编排器(Orchestrator)负责理解意图、拆解任务、选择工具、决定调用顺序与依赖关系;执行器(Executor)负责真正发起调用、处理超时重试、解析返回结果。两者分离的好处是:编排逻辑可以随业务规则变化而调整,执行层则保持稳定,便于统一做鉴权、限流、审计和日志。

在金融场景中,这种分离尤其重要。因为金融工具调用往往有强合规要求:谁在什么时间、基于什么授权、调用了哪个数据源、返回了什么,都必须可追溯。如果编排和执行混在一起,审计链就会断裂。

编排器不直接持有数据源凭证,执行器不决定业务语义。凭证、权限、审计归执行器;意图、依赖、分支归编排器。这是金融级工具编排的基本边界。

四种编排模式:顺序、并行、条件与循环

工具编排模式可以归纳为四类,实际系统通常是它们的组合。

  • 顺序编排:工具按固定先后执行,前一个的输出是后一个的输入。例如先查客户风险等级,再根据等级筛选可售产品。
  • 并行编排:多个无依赖的工具同时发起,最后汇总。例如同时拉取股票、债券、外汇三个市场的行情,再统一计算组合净值。
  • 条件编排:根据中间结果决定走哪条分支。例如客户风险等级为保守型,则跳过衍生品估值工具,直接进入货币基金推荐分支。
  • 循环编排:对一组标的重复调用同一工具,直到满足终止条件。例如逐只计算持仓股票的VaR,直到覆盖全部头寸。

下面是一个条件编排的配置片段,用JSON描述“风险等级决定是否调用衍生品工具”的分支逻辑:

{
  "orchestration": "conditional",
  "steps": [
    { "id": "get_risk", "tool": "query_risk_level", "input": {"customer_id": "{{cid}}"} },
    { "id": "branch", "condition": "{{get_risk.level}} == 'conservative'",
      "then": { "tool": "recommend_money_fund" },
      "else": { "tool": "value_derivatives", "input": {"portfolio": "{{portfolio}}"} }
    }
  ]
}

金融场景中的编排需求与案例

金融业务对工具编排有四个典型需求:强依赖(后一步必须等前一步结果)、强合规(每一步都要留痕)、强时效(行情类工具必须在毫秒级返回)、强容错(某个数据源失败不能导致整笔业务中断)。

以“智能投顾调仓”为例:客户授权后,编排器先并行调用持仓查询和风险测评,再根据风险等级条件选择资产配置模型,然后顺序调用税费计算和交易约束检查,最后并行提交多个交易指令。整个过程中,任何一步失败都要有降级策略,比如行情源超时则使用上一交易日收盘价并标注数据时效。

编排模式金融场景示例关键风险应对策略
顺序风险测评→产品筛选→下单前序失败导致后续空转设置前置校验与短路返回
并行多市场行情同时拉取部分源超时拖慢整体超时熔断+降级数据
条件按风险等级走不同推荐分支条件判断错误导致越权推荐规则引擎+人工复核阈值
循环逐只持仓计算风险指标标的过多导致调用量爆炸批量接口+并发上限
金融智能体工具编排:编排器与执行器协作 编排器 Orchestrator 意图理解 / 任务拆解 依赖分析 / 模式选择 条件分支 / 循环控制 结果汇总 / 降级决策 顺序 / 并行 / 条件 / 循环 四种编排模式组合 执行器 Executor 鉴权 / 限流 / 重试 超时熔断 / 日志审计 结果解析 / 格式转换 凭证管理 / 数据脱敏 行情 / 持仓 / 税费 / 交易 多数据源统一接入 下发调用计划(工具名+参数+依赖) 回传结构化结果 / 异常状态 审计日志:调用链 + 授权 + 时效

误区与复盘:编排不是“把工具串起来”

初学者最常见的误区有三个。第一,把编排当成简单的顺序调用,忽略了并行和条件带来的效率与合规差异。第二,让编排器直接持有数据源凭证,导致权限边界模糊,一旦编排逻辑被篡改,风险直接穿透到数据层。第三,没有为每个工具定义清晰的输入输出契约,导致上游返回格式变化时,下游全部报错。

金融场景中,编排器绝不能绕过执行器直接访问行情或交易接口。所有外部调用必须经过执行器的鉴权、限流和审计,否则无法满足合规留痕要求。

复盘时建议检查四点:每个工具是否有明确的输入输出Schema;编排模式是否与业务依赖匹配;失败降级策略是否覆盖每个关键节点;审计日志是否记录了完整的调用链和授权上下文。把这四点做成清单,每次新增工具时逐项核对,就能避免大多数编排事故。

一个实用的判断标准:如果去掉编排器,执行器仍能独立完成单次工具调用并保证安全合规,说明职责分离是干净的;如果去掉编排器后执行器就不知道调什么、传什么,说明编排逻辑泄漏到了执行层,需要重构。

工具编排是金融智能体从“能对话”走向“能办事”的关键一步。掌握顺序、并行、条件、循环四种模式,明确编排器与执行器的边界,再结合金融场景的合规、时效和容错要求,才能设计出既灵活又可靠的智能体工具系统。