公司真题库

【阿里巴巴】画一下 Agent 系统的路由、管理、执行三层架构

91学AI·2026/7/26·9 阅读

考察点

这道题出自阿里巴巴 Agent 开发岗面试,是一道画图题。面试官想看的不是某个标准答案(业界没有唯一标准分层),而是你能不能把 Agent 系统拆成职责清晰的几层、讲清楚每层干什么、层与层之间怎么交互。真正加分的是讲出为什么这么分层——解耦、可观测、可替换。追问常往「每层用什么实现」「状态怎么管」「多 Agent 怎么协作」走。

参考答案

整体分层

我当时画的架构大致是这样:

用户请求
   │
┌──▼──────────── 路由层 ──────────────┐
│  意图识别 / 请求分发 / 会话接入        │
│  (小模型分类器 + 规则,毫秒级)        │
└──┬──────────────────────────────────┘
   │ 任务 + 会话上下文
┌──▼──────────── 管理层 ──────────────┐
│  规划 Planner:任务拆解、步骤决策      │
│  记忆 Memory:短期对话 / 长期画像      │
│  状态机:当前执行到哪一步、中间结果     │
│  反思:结果校验、是否需要重新规划      │
└──┬──────────────────────────────────┘
   │ 具体动作指令(调哪个工具、什么参数)
┌──▼──────────── 执行层 ──────────────┐
│  工具网关:鉴权 / 限流 / 超时 / 重试   │
│  工具集:搜索、数据库、内部 API、代码执行 │
│  执行结果校验与结构化返回              │
└──┬──────────────────────────────────┘
   │ observation 回传管理层,进入下一轮循环

管理层和执行层之间是一个循环:管理层每轮决定下一步动作,执行层执行并把结果(observation)回传,管理层据此继续规划,直到任务完成或达到步数上限。这就是 ReAct 循环在工程上的落法。

各层职责和设计要点

路由层解决「这个请求该谁处理」。用户请求先进路由:简单寒暄走闲聊模型,FAQ 类走 RAG 链路,复杂任务才进 Agent 管理层,明确的人工诉求直接转人工。这一层必须快且便宜——用小模型分类器或微调过的意图识别模型,毫秒级返回,不能让大模型逐条判断,否则每个请求还没开始干活就先花一笔。路由层还负责会话接入和身份鉴权。

管理层是大脑,包含几块:

  • Planner:把「帮我订下周去上海的行程并同步给团队」这类任务拆成子步骤,决定每步调什么工具。简单场景由主模型直接逐步决策(ReAct),复杂场景先一次性生成完整计划再执行(Plan-and-Execute),后者可控性好但灵活性差,常混合用。
  • Memory:短期记忆就是当前会话的上下文窗口,要注意压缩——历史轮次做摘要、中间工具返回的大段结果用完即弃;长期记忆(用户偏好、历史结论)落向量库或 KV 存储,按需检索注入。
  • 状态机:记录任务执行到第几步、每步的中间结果、失败次数。这是可恢复性的关键——Agent 跑到一半崩了,能从状态机续跑而不是从头再来。
  • 反思/校验:关键步骤后检查结果是否符合预期,不符合就调整计划,而不是一条道走到黑。

执行层是手和脚,核心设计是工具网关:管理层不直接调工具,统一走网关。网关做鉴权(这个会话有没有权限调这个工具)、限流、超时控制、重试、结果的结构化封装,以及全量审计日志。好处有三:管理层逻辑干净,不用关心工程细节;工具的增删改不动大脑;安全管控有一个统一收口,危险工具在这里加人工确认闸。

为什么这样分层

分层的动机我在面试里会主动讲:一是解耦,路由策略、规划 prompt、工具实现可以独立迭代,换规划模型不影响工具层;二是可观测,每层独立打日志和指标,线上问题能快速定位到层——是路由分错了、规划跑偏了、还是工具挂了;三是成本分层,路由用小模型、规划用强模型、工具执行不用模型,钱花在刀刃上。

多 Agent 的扩展

单 Agent 管理能力到顶后,管理层可以演化成「主 Agent + 专职子 Agent」:主 Agent 只负责规划和分发,检索、数据分析、写作各有子 Agent 执行,子 Agent 内部有自己的小循环。A2A(Agent-to-Agent)协议解决的就是这种跨 Agent 协作的通信标准化问题。但我会强调:多 Agent 是复杂度显著上升的架构,编排成本和调试难度都翻倍,单 Agent + 工具能解决就不要急着拆。

可能的追问

  • Planner 用 LLM 还是 Workflow? 答:看任务的开放性——流程可枚举的用 Workflow 编排(确定性强、可测试),开放任务用 LLM 规划,混合场景是 Workflow 骨架里嵌 LLM 决策节点。
  • 状态机用什么存? 答:会话内状态放 Redis(带 TTL),长任务的持久化状态落数据库,关键是要支持断点续跑和人工介入改状态。
  • 执行层工具出错怎么上报给管理层? 答:错误结构化返回(错误类型 + 模型可读的描述),让 Planner 决定重试、换工具还是终止;网关层只对瞬时错误做有限重试,业务错误一律上交决策。

评论 (0)

暂无评论,快来抢沙发吧!

91学AI

© 2026 91学AI · 按岗位学 AI 与大数据. All rights reserved.