Agent 的架构、多智能体与落地:从 Demo 到生产系统
从单 Agent 架构到多智能体协作再到评估体系与落地路线图给出一个完整的生产级 Agent 路线图。一、单 Agent 架构先给 Agent 装上“护栏”1.1 自由 Agent Loop 的问题第一篇的伪代码展示了一个最朴素的 Agent 循环while not finished: response model(messages) if response.tool_calls: result execute_tool(response.tool_calls) messages.append(result) else: finished True这种方式最大的优势是灵活但问题恰恰来自这种自由度。想象一下你让 Agent 帮你处理一份合同。它读文件、查数据库、调用审批 API——看起来很顺畅。但服务突然重启了。Agent 不知道任务执行到了哪一步不知道已经调用了哪些工具不知道哪些结果已经拿到了。它只能从头再来或者直接崩溃。这就是自由 Agent Loop 在生产环境中的典型问题维度自由 Agent Loop状态机 Agent下一步由谁决定模型动态判断State 和 Edge 限定执行路径开放、动态显式、可预测中断恢复需要额外实现天然适合 Checkpoint人工审批需要嵌入 Loop可以成为正式 Node适合场景探索性任务业务流程1.2 状态机给 Agent 装上“流程骨架”生产级 Agent 的基本设计原则是状态机负责控制任务如何流转Agent 负责解决节点内部无法完全写死的智能问题。用一个生活化的比喻状态机就像公司的审批流程——请假需要先填单、再主管审批、再 HR 备案每一步都有明确的先后顺序。Agent 就像每个环节的经办人负责在给定的步骤内完成具体的智能工作。以需求分析 Agent 为例先定义真正影响流程的状态字段from typing import TypedDict class RequirementState(TypedDict): raw_requirement: str # 用户原始需求 extracted_data: dict # 已提取的结构化信息 missing_fields: list[str] # 仍然缺少什么 requirements: list[dict] # 当前生成的需求条目 quality_score: int # 当前质量得分 revision_count: int # 已经自动修改多少次 human_decision: str # 人工最终决策最大的变化不是多定义了几个变量而是任务的业务状态被显式建模了。即使模型上下文重新组装系统仍然知道任务执行到了哪里。然后把需求分析过程拆成几个职责明确的 Nodeextract、check、generate、evaluate、revise、human_review。每个 Node 内部可以自由使用 LLM 推理、RAG 检索、工具调用但流程的流转由状态机控制。1.3 LangGraph让状态机“活”起来LangGraph 是当前最主流的 Agent 编排框架之一。它的核心思想是把 Agent 工作流建模为一张图。LangGraph 的持久化机制Checkpointer在每个节点后自动保存状态快照支持Human-in-the-loop人工审核、Time Travel回放调试和Fault-tolerance容错执行。如果某个节点执行失败可以从上一个成功节点重新开始不需要重跑已经成功的节点。1.4 代码示例一个带人工确认的状态机 Agent下面是一个简化版的需求审核流程展示了状态机的核心机制from langgraph.graph import StateGraph, END from langgraph.checkpoint.memory import MemorySaver from typing import TypedDict, Literal class ReviewState(TypedDict): content: str quality_score: int revision_count: int human_decision: str def generate(state: ReviewState) - dict: content llm.invoke(f生成方案{state[content]}) return {content: content} def evaluate(state: ReviewState) - dict: score llm.invoke(f给以下内容打分(0-100){state[content]}) return {quality_score: int(score)} def revise(state: ReviewState) - dict: content llm.invoke(f改进以下内容{state[content]}) return { content: content, revision_count: state[revision_count] 1 } def human_review(state: ReviewState) - dict: return {human_decision: approved} def route_after_evaluate( state: ReviewState ) - Literal[revise, human_review]: if state[quality_score] 80: return human_review elif state[revision_count] 3: return human_review else: return revise builder StateGraph(ReviewState) builder.add_node(generate, generate) builder.add_node(evaluate, evaluate) builder.add_node(revise, revise) builder.add_node(human_review, human_review) builder.set_entry_point(generate) builder.add_edge(generate, evaluate) builder.add_conditional_edges(evaluate, route_after_evaluate) builder.add_edge(revise, evaluate) builder.add_edge(human_review, END) checkpointer MemorySaver() graph builder.compile(checkpointercheckpointer) config {configurable: {thread_id: task-001}} result graph.invoke( {content: 用户需求..., revision_count: 0}, configconfig )这个例子体现了生产级 Agent 的三个核心特征流程可控条件边限定路径、状态可恢复Checkpoint、人工可介入human_review 节点。二、多智能体什么时候需要怎么协作2.1 多智能体不是“越多越好”单 Agent 能完成很多任务但面对以下场景时多智能体更有优势角色分工明确研究员、程序员、审核员各司其职并行处理多个子任务同时执行交叉验证一个 Agent 的输出由另一个 Agent 审核。但代价也很明显。CrewAI 的多 Agent 协作会产生35 倍的 Token 膨胀AutoGen 的 Group Chat 消息广播也有类似问题。这直接决定了 LLM 账单的规模。2.2 三个主流框架一句话定位框架一句话定位最适合CrewAI角色分工的“团队模拟”内容流水线、研究任务AutoGen群聊式的“圆桌讨论”需要多轮对话协商的任务LangGraph图结构的“流程编排”需要精确控制流程的任务2.3 混合架构可能是最优解IEEE 发表的一项系统性评估论文使用 CREW-WILDFIRE 基准对三个框架做了量化对比并提出并验证了一个LangGraph-CrewAI 混合架构用 LangGraph 做流程编排用 CrewAI 做角色分工。结果显示相比纯 CrewAI 实现混合架构在 17 个任务级别上达到了96.1% 的成功率同时将 Token 消耗降低了 76.2%决策延迟降低了 14.5 倍。这说明没有单一框架在所有维度上都最优混合架构可以取长补短。三、评估体系Agent 上线前必须回答的四个问题3.1 为什么 Agent 评估比传统测试难传统软件测试是确定性的给定输入预期输出是固定的pass 或 fail 一目了然。Agent 评估面临三个新挑战指标定义模糊“好的回答”是什么准确率怎么量化结果不确定性高同一个问题两次运行可能给出不同答案线上表现波动大离线评测通过线上可能因为用户输入分布不同而表现迥异。但最隐蔽的问题是“静默失败”Agent 可能通过错误的流程产出了正确的结果。比如一个财务审计 Agent 准确报出了 120 万的利润但它的执行轨迹显示它读错了文档只是由于“数字巧合”撞上了正确答案。这种“逻辑断层下的静默失败”正是目前 Agent 大规模落地的最大死敌。因此Agent 评估不能只看最终输出必须分析执行轨迹。3.2 三支柱评估框架参考 Google Gemini Agent Eval API 的评估实践结合行业通用框架可以从三个支柱来评估 Agent支柱一任务质量Agent 是否完成了用户的目标最终回答是否准确、有用支柱二过程与轨迹Agent 的决策过程是否正确工具选择是否合理步骤是否高效关键指标包括步骤效率最优路径需要 3 步Agent 走了 10 步效率就是 0.3。工业级建议 ≥ 0.8。错误恢复率API 报错后Agent 能否自我修正生产级要求 90%。死循环率连续用相同错误参数尝试 ≥ 3 次。生产级红线 2%。支柱三信任与安全Agent 在异常情况下是否可靠能否抵御提示注入攻击是否会产生偏见3.3 评估的核心原则从目标出发先定义“成功是什么”再定义度量指标。轨迹比结果更重要静默失败是最大的陷阱必须分析执行过程。离线 线上闭环离线评测保证质量准出线上监测驱动持续迭代。自动化 人工结合LLM-as-Judge 做规模化评估人工评估建立 ground truth。四、生产落地的关键设计4.1 五层架构模型一个生产级 Agent 通常由五层组成-------------------------------- | User Interface | 用户界面 -------------------------------- ↓ -------------------------------- | Agent Orchestrator | 流程编排状态机 / LangGraph -------------------------------- ↓ -------------------------------- | Agent Runtime | 运行时Planner | Executor | Memory -------------------------------- ↓ -------------------------------- | Tool Layer | 工具层API | Database | MCP -------------------------------- ↓ -------------------------------- | Infrastructure | 基础设施Redis | MQ | Logs --------------------------------Orchestrator 是系统的大脑负责流程控制Runtime 负责执行Tool Layer 提供能力Infrastructure 提供持久化和可观测性。4.2 状态持久化与中断恢复生产级 Agent 必须支持中断恢复。当长任务执行到一半时服务重启系统需要知道任务执行到哪了已经调用了哪些工具下一步该做什么LangGraph 的 Checkpointer 机制在每个节点后自动保存状态快照配合thread_id可以随时从中断点恢复执行。4.3 人机协同高风险动作必须人工确认不是所有操作都能让 Agent 自主执行。支付、删除、发送——这些高风险动作必须人工确认。在状态机架构中人工审核可以是一个正式的 Node而不是临时嵌入的检查点。LangGraph 的 Interrupt 机制允许在指定节点暂停执行等待外部输入后继续。4.4 一个真实案例神州租车神州租车将 Agent 推向服务1.8 亿注册用户的生产环境。核心挑战并非能否实现对话而是如何融入既有复杂线上架构确保端到端时延、召回质量与可观测性达到生产级要求。其整体方案分为两层端到端请求链路Agent 作为请求链路末端的执行单元复用现有网关鉴权、限流及 WAF 策略和 Agent 内部实现架构采用阿里云函数计算 Agent Sandbox 作为运行时底座。Agent 服务与其他业务 API 复用同一套安全治理能力但每接入新工具仍需在网关侧更新路由配置。因此二期计划引入主子 Agent 架构由超级 Agent 统一路由和调度子 Agent。五、落地路线图从 0 到 1 的五个阶段阶段时间关键动作准出标准1. 验证价值12 周选 12 个高频、低风险场景用最简单的单 Agent 验证人工评估确认能带来实际价值2. 建立工作流24 周引入状态机定义 State / Node / Edge加入 Checkpoint流程可中断恢复关键节点有人工确认3. 引入记忆与工具24 周实现三层记忆通过 MCP 接入外部工具建立权限控制工具调用成功率 95%权限隔离到位4. 评估与迭代持续建立离线评测集引入 LLM-as-Judge上线后建立监测步骤效率 ≥ 0.8错误恢复率 90%5. 多智能体按需按需只在确实需要角色分工或并行处理时引入优先混合架构相比单 Agent 有明确的性能提升六、总结生产级 Agent 的五条铁律回到主线Agent 从 Demo 到生产核心不是“让它更聪明”而是“让它更可控”。五条落地铁律确定性骨架 概率性智能状态机控制流程LLM 负责节点内部的不确定问题。不要把所有决策权交给模型。可观测是底线每一步都要有日志、有轨迹、能回放。没有可观测性就无法调试就无法迭代。评估驱动迭代先定义成功再定义指标。轨迹比结果更重要静默失败是最大的陷阱。人机协同是常态高风险动作必须人工确认。人工审核应该是正式的流程节点而不是临时嵌入的检查。能单不多混合优于单选先做单 Agent 状态机按需引入多 Agent。多框架混合架构可以取长补短。最后说一句技术成长不只是写代码职业规划和自我包装同样重要。我整理了一份简历、面试和职业规划的学习资料适合想在职场上走得更远的朋友看看。资料展示下面是我整理的AI大模型学习资料和工具包预览适合收藏后按主题逐步学习。如果你想看完整资料目录可以在评论区留言「资料」也欢迎告诉我你更关注AI大模型里的哪类内容。

相关新闻

Botpress Freshdesk 集成实战:从工单生命周期事件到完整动作集的全指南

Botpress Freshdesk 集成实战:从工单生命周期事件到完整动作集的全指南

AI 应用后端 【免费下载链接】botpress The open-source hub to build & deploy GPT/LLM Agents ⚡️ 项目地址: https://gitcode.com/gh_mirrors/bo/botpress 点击查看 免费下载 Botpress Freshdesk 集成(hub.md,当前版本 0.1.1&#x…

2026/10/7 8:16:05 阅读更多 →
落地页转化率优化教程:5 个细节从 0 到 1 落地

落地页转化率优化教程:5 个细节从 0 到 1 落地

很多新手做落地页,框架搭得挺像样,转化率就是上不去。问题往往不在大方向,而在 5 个小细节。这篇是手把手教程,每一步都写清楚“怎么做、做到什么程度算合格”。 准备工作:先装一个数据看板 给落地页接上统计工具&…

2026/10/7 8:16:05 阅读更多 →
基于Zynq的高精度多通道数据采集卡完整解决方案(工业振动/高速采集/边缘传输)

基于Zynq的高精度多通道数据采集卡完整解决方案(工业振动/高速采集/边缘传输)

摘要:在工业高速数据采集、设备状态监测、振动分析、精密测控等场景中,传统纯FPGA采集卡运维拓展弱、纯ARM采集卡实时性差的痛点愈发突出。本文基于Xilinx Zynq 7000异构SoC,推出一套软硬件协同的高精度数据采集卡解决方案,依托PL…

2026/10/7 8:16:05 阅读更多 →

最新新闻

STM32F103驱动AT24C02 EEPROM实战:硬件接线、I²C时序与HAL库避坑指南

STM32F103驱动AT24C02 EEPROM实战:硬件接线、I²C时序与HAL库避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 8:52:33 阅读更多 →
HTTP/2帧解析实战:hyperframe逐字节拆解帧头与十种帧类型

HTTP/2帧解析实战:hyperframe逐字节拆解帧头与十种帧类型

1. 从一次"帧边界错乱"的排障说起:hyperframes 到底解决什么问题说到 hyperframes,圈内一般指的是 HTTP/2 里那一整套二进制帧(frame)的统称,而在 Python 生态里,它对应一个具体到不能再具体的库…

2026/10/7 8:52:33 阅读更多 →
Open-Shell详解:让Win10/11找回经典开始菜单与高效操作

Open-Shell详解:让Win10/11找回经典开始菜单与高效操作

Windows 10/11自带的开始菜单不好吗?为什么还有那么多人特意去装一个“复古”的开始菜单?这个问题我在给客户装机、帮朋友调电脑时被问过无数次,每次都要从头解释一遍Open-Shell到底是个什么玩意。一句话说清楚:Open-Shell&#x…

2026/10/7 8:52:33 阅读更多 →
MCP 智能客服中的人机协作平滑流转:低置信度下的自动转工单机制

MCP 智能客服中的人机协作平滑流转:低置信度下的自动转工单机制

MCP 智能客服中的人机协作平滑流转:低置信度下的自动转工单机制在搭建基于 Model Context Protocol(MCP)的自动化客服系统时,许多独立开发者容易走向两个极端: 极端一:过度自信,完全不留人工通道…

2026/10/7 8:52:33 阅读更多 →
LLM 网关健康检查探针:基于微测试 Prompt 的后端节点实时可用性嗅探

LLM 网关健康检查探针:基于微测试 Prompt 的后端节点实时可用性嗅探

LLM 网关健康检查探针:基于微测试 Prompt 的后端节点实时可用性嗅探在生产环境运维大模型推理集群(vLLM、TGI、TensorRT-LLM)时,传统基于 HTTP 状态码的 /healthz 或 TCP 端口探测存在致命盲区。很多时候,Web 服务进程…

2026/10/7 8:52:33 阅读更多 →
高速PCB差分信号与时钟同步优化:从原理到调试的实战指南

高速PCB差分信号与时钟同步优化:从原理到调试的实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 8:51:33 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 7:15:40 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 5:29:09 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 6:26:51 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 8:21:32 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 4:21:51 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 1:18:13 阅读更多 →