智能体设计模式

内容创作

讲清智能体常见的几种设计模式与落地选型思路,给开发者一套能直接照做的搭建顺序和边界判断。

你大概遇到过这种情况:想让大模型自己查资料、调工具、分几步把活干完,结果 Prompt 越堆越长,改一处崩一处。或者团队里有人喊要上多智能体,做出来却比单个模型还慢还贵。这篇不讲概念史,只按「一件活交给谁、怎么拆、在哪停」三个问题,把常见设计模式过一遍,并给出什么时候不该用它们的判断标准。

你大概遇到过这种情况:想让大模型自己查资料、调工具、分几步把活干完,结果 Prompt 越堆越长,改一处崩一处。或者团队里有人喊要上多智能体,做出来却比单个模型还慢还贵。这篇不讲概念史,只按「一件活交给谁、怎么拆、在哪停」三个问题,把常见设计模式过一遍。

先说清定位:设计模式不是架构图上的名词收藏,而是帮你做取舍的检查表。每引入一个模式,你都多付一笔代价——多一跳调用、多一份上下文、多一个出错的地方。所以下面每一节都配一条判断线和一个不适用情况,照着问自己,答不上来就先别上。

先判断要不要多个智能体

顺序很重要:先问「一个够不够」,答案是不确定就不要拆。单智能体加工具调用能覆盖的范围有明确边界——任务步骤可以提前枚举出来,单次决策不需要另一个角色来交叉验证。只要这两条都成立,先做单智能体,跑通了再谈拆。

判断维度单智能体够用值得拆多智能体
任务步骤能提前列清步骤依赖运行时结果动态变化
决策方式一次判断定结果需要两个以上角色互相挑错才敢交付
交付物一个角色能独立完成检索、执行、审核这类交付物天然分开
延迟敏感度对响应时间敏感允许跑几十秒甚至更久
失败代价错了重跑成本低错了要人工兜底,正确性优先
  • 多智能体的真实代价:上下文在角色之间传递会丢信息,每多一跳就多一次延迟和一次计费
  • 调试时很难复现是哪一环出的错,日志不全只能靠猜
  • 一条简单判断线:一个领域的专家能独立把活干完,就用单智能体;需要两个以上角色互相挑错才敢交付,才值得上多智能体
  • 不适用情况:流程本身很短、对延迟敏感的场景,拆成多智能体通常得不偿失,收益还不够付协调成本

角色划分与工具边界怎么定

拆角色的第一条规矩:按「职责」拆,不按「技能」拆。检索、执行、审核这种能各交出一份独立产物的角色,比「会写代码的」「会写文案的」稳定得多。后者本质是按能力切,模型换个说法就串岗。

  1. 写清三件事给每个角色定义输入什么、输出什么格式、什么时候算做完。三样里缺一样,说明这个角色还没拆干净,先回到上个问题重新想。
  2. 收紧工具清单每个角色只暴露它真用得上的工具。工具越长,选错工具的概率越高,而且你很难在日志里看出它是「不会用」还是「选错了」。
  3. 对照接口参数工具的参数名、可调模型别凭记忆写,到 /stacks/agent-apis 对照当时的说明,避免本地写通、线上报错。
  4. 做一次空跑验证每个角色单独跑一遍,只喂固定输入,看输出格式是否稳定。这一步能挡掉大部分后续联调问题。

循环、状态与终止条件

推进方式先选最简单的。常见三种:固定步数的流水线、带反馈的循环(做完检查不合格就退回)、按需分发的路由。能用流水线解决就别上循环,循环一多,排查成本指数上升。

流水线
步骤固定、顺序执行,最容易复现和估算成本
带反馈循环
有校验环节,不合格就回退重做,灵活但容易绕圈
路由分发
先判断任务类型再决定走哪条链,适合入口杂但链路相对固定的场景
  • 终止条件必须外置成可判断的规则:步数上限、连续两次没有新信息、工具返回明确失败,三者满足其一就停
  • 别只靠模型自己说「我完成了」,这句话在日志里不是证据
  • 状态存哪里提前定:临时任务放会话上下文,跨会话或多轮业务放外部存储
  • 排查顺序:先看是不是卡在循环里出不来,再看工具调用参数是否写错,最后才怀疑模型能力

成本口径与可观测性

多轮智能体是按量计费里最容易失控的一类:一次用户请求可能触发好几次模型调用,成本要按「每次任务的实际调用次数」估,不要按单次问答估。这个口径想错了,上线后账对不上会很难解释。

上线前先量延迟基线,再谈优化。站内 /tools/speed-test 可以先跑出你自己的接口延迟参考,拿这个数当基准,别用别人的体感数字做决策。

要留的日志为什么缺了会怎样
每步输入输出复现问题现场只能靠猜是哪一步崩的
用了哪个工具判断是选错还是参数错分不清模型问题还是配置问题
token 消耗按任务核算成本费用异常时找不到源头
终止原因区分正常完成和超限退出误以为效果稳定,其实一直在兜底
  • 成本口径和单价随时会变,具体数字到 /official-api 和 /tools/model-cost-calculator 按当时的价目算一遍
  • 想横向比价或看价格变动,可以到 /price-watch 跟踪一段时间再下结论
  • 日志三个人都看得懂才算合格:产品、开发、运维拿去都能对上号
下一步把上面的判断线和检查项对着你现在这个任务过一遍,再决定要不要拆角色、上循环。想看各家接口参数和当时价目,从 /stacks/agent-apis 进,再按需到 /tools/model-cost-calculator 算一遍。

常见问题

智能体设计模式有标准答案吗?

没有。同一个业务,用单智能体加工具调用和用多智能体编排都能跑通,差别在可维护性和成本。选型时优先看任务步骤能不能枚举、需不需要交叉验证、延迟能不能接受,这三点比追新架构重要得多。

多智能体一定比单智能体效果好吗?

不一定。多智能体擅长的是把一个复杂判断拆成几个独立角色互相挑错,代价是信息在多跳传递中会衰减,延迟和调用次数也会成倍上升。任务本身简单、步骤顺序固定时,单智能体反而更稳更便宜。

怎么判断一个智能体是不是该重构了?

看三个信号:提示词里条件分支越加越多、同一个工具反复被调错、出问题时说不清是哪一步坏的。出现其中两个,通常说明角色边界或终止条件没定清楚,该拆就拆,该收就收。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。