1. 从单体应用到 Agent 架构:我们在聊的到底是什么
企业级应用走到今天,绝大多数业务系统已经从“前端页面 + 单机服务 + 数据库”的铁三角,跨进了“多模型协同、多工具编排、多业务线共享”的新阶段。过去一年里我接触了不少做智能客服、知识库问答、流程自动化平台的团队,大家不约而同地踩到同一个瓶颈:单一大模型调用已经撑不起真实业务——既做不到复杂的多步推理,也管不好权限、审计、限流这些企业级诉求。于是 Agent 架构开始从论文和 Demo 走向生产环境,成了技术圈讨论密度最高的关键词之一。
标题里那句“五组件、ReAct 循环与私有可控底座”,其实是从三个不同维度在回答同一个问题:企业级 Agent 到底是什么、怎么搭、凭什么敢上生产。五组件说的是 Agent 系统的静态构成,ReAct 循环说的是 Agent 的核心行为模式,私有可控底座说的是部署形态和合规边界。这篇文章我会把这三个维度串起来,结合我这几年在项目里实际搭 Agent 平台的经验,把从架构设计到落地踩坑的过程完整拆开来讲。
内容会覆盖几类读者:正在选型、准备把 Agent 引入业务的技术负责人;已经开始写 Agent 编排代码、想系统理解架构设计的一线开发;以及负责基础设施、关心私有化部署和数据安全的运维同学。读完你至少能回答三个问题:一个合格的 Agent 系统需要哪五类组件,ReAct 循环在企业场景里怎么调优,私有化底座到底要解决哪些“看不见但致命”的问题。
2. Agent 的五组件拆解:每个模块都在解决一类具体问题
先说结论:一个企业级 Agent 平台,按功能切分,核心组件只有五类——模型接入层、指令与规划层、记忆与上下文管理层、工具与插件层、安全与治理层。听起来跟网上很多人画的 Agent 架构图差不多,但真正落地的时候,每一层里的设计细节都比概念复杂得多。
2.1 模型接入层:不能只有一个模型的供应商绑定
模型接入层负责一件事:把各类大模型(包括开源模型、云厂商模型、本地微调模型)统一封装成标准接口,让上层应用不需要关心背后到底接的是哪家模型。
我在设计这层时把它进一步拆成了模型网关和模型路由两部分。模型网关负责统一鉴权、限流、计量、请求转发,本质上是一个 LLM 版的 API Gateway;模型路由则根据任务类型、成本预算、响应时延要求,将不同的请求分发到不同的模型上。比如简单意图识别走轻量开源模型,复杂多步推理走能力更强的大参数模型,硬件条件允许时甚至可以在高并发场景下做模型实例的横向扩容。
这层最容易犯的错误是过早做模型统一抽象。有些团队一上来就定义一个超级通用的 ChatMessage 接口,试图覆盖所有模型的能力差异,结果一个月后模型升级、功能扩展时,接口反而变成束缚。我的做法是先只抽象三个基础能力——文本生成、流式输出、工具调用,其余模型特性通过 capability 字典透传,等确有必要再收拢。
2.2 指令与规划层:Agent 的思维处理器
指令与规划层是 Agent 最核心的模块,负责理解用户意图、制定执行计划、调度后续动作,是整个 Agent 架构里“像人”的那部分。业界最常见的两种实现模式是 Plan-and-Execute 和 ReAct 循环,两者并不互斥,很多生产系统把它们叠在一起使用。
Plan-and-Execute 模式下,系统先基于用户请求生成一个完整的执行计划,再逐步执行;这个模式的好处是流程可控、可预测,适合业务流程稳定的场景,比如自动化工单处理、例行数据报表生成。ReAct 模式则把思考、行动、观察循环在一起,每一步都基于前一步的观察结果重新决策,适合开放域问题,比如故障排查助手、项目情报分析这类无法预先穷举步骤的场景。
在实际项目里,真正影响体验的不是到底选哪种规划模式,而是如何从自由文本中准确解析出任务目标,以及如何在执行中途目标发生变化时及时中断并重规划。这两种能力,前期如果不做针对性设计,后期基本都要返工。
提示:不要把 ReAct 当成万能药。企业内部流程类任务优先用 Plan-and-Execute,问题开放、依赖探索的任务才适合 ReAct。强行让 ReAct 跑固定流程,只会得到不稳定且难排查的结果。
2.3 记忆与上下文管理层:对话之外的状态空间
Agent 与普通问答的最大区别在于,它需要跨步骤、跨会话地维护状态。记忆层可以拆成短期工作记忆和长期持久记忆两类。
短期工作记忆在单轮任务内保存中间结果、临时变量和对话历史。长期持久记忆又分业务会话数据和用户画像数据:业务会话数据让 Agent 能接续用户上个礼拜没聊完的事,用户画像数据则帮助 Agent 在不同场景下保持口径一致。我在实际项目里习惯把所有记忆数据放进外部存储,比如结构化状态用 Postgres 或 MySQL,非结构化的向量片段用向量数据库。进程内直接保存状态在单机 Demo 里没问题,但到多实例部署时,Session 漂移会变成一场灾难。
记忆层的实现细节很考验基本功。上下文窗口有限,不可能把全部历史都塞进请求里,常见的做法是按重要程度做召回或摘要——最近几轮完整保留,更早的历史做摘要压缩,必要时再结合向量检索把相关片段找回来。这里没有标准答案,只有根据业务场景不断调优的过程。
2.4 工具与插件层:Agent 的手和脚
没有工具调用的 Agent 只是一个高级聊天机器人。工具层让 Agent 能够操作外部系统——查数据库、调 API、发邮件、执行脚本、生成文件,是企业级 Agent 产生实际业务价值的根本原因。
工具层的核心设计是统一的函数调用协议。我在项目中要求所有工具必须声明自己的名称、描述、输入参数 JSON Schema 和权限要求,模型通过结构化调用指令触发工具,平台负责参数校验、执行、结果返回。不要小看这套定义,工具描述写得清不清楚,直接影响模型能不能在正确时机选择正确工具;参数 Schema 定义得准不准,直接影响调用成功率。
工具层的第二个问题是“工具太多,选错工具”。当平台接入几十上百个工具时,模型在推理时根本无法保证选到最合适的那个。解决思路是给工具打标签、按业务域分组,并在选择阶段先用向量检索对工具做粗筛,再把候选工具描述交给模型做精排。这套方案已经被很多企业级 Agent 平台采用,属于工程界的标准解法之一。
2.5 安全与治理层:企业级和 Demo 的分水岭
五组件里安全治理层最容易被忽视,但也是企业级 Agent 与个人 Demo 之间最大的分水岭。Agent 比传统 API 服务多了一个大模型自主决策的能力,这意味着系统可能自己决定调用某些高权限工具、读取某些敏感数据。如果安全治理设计不到位,后果不是功能不可用,而是安全事故。
安全治理层至少要做四件事:身份与权限管理,确保每次工具调用都校验用户身份与授权范围;细粒度操作审计,记录 Agent 每一步的行动、调用、输入输出,让事后追溯成为可能;数据脱敏与合规,大模型请求里出现的敏感字段不落盘、不外传,在私有化场景尤其关键;内容安全过滤,既要拦截用户的恶意输入,也要过滤模型可能生成的违规输出。
身份与权限管理这块,最好不要把权限给到 Agent 自身,而是始终以用户身份去执行。考虑得极端一点:如果 Agent 被诱导产生了恶意工具调用,真正能做导弹拦截的,只有底层权限体系。
3. ReAct 循环实战:为什么推理、行动、观察是铁三角
ReAct 的全称是 Reason and Act,思想非常朴素——让模型先想一步(Reason),再动一步(Act),然后根据外部反馈(Observation)重新调整思考,循环往复直到完成任务。
这个循环最早来自关于大模型推理能力的学术探索,核心创新是把“思考过程”和“外部交互”轮流接入同一个上下文窗口。而 ReAct 在企业场景落地的真正意义在于:它把不可预测的大模型行为,放进一个可观测、可控制、可干预的工程框架里。
3.1 一个真实业务的 ReAct 循环是怎么跑起来的
拿我之前做过的一个企业采购流程助手举例。用户输入:“帮我比较一下这几款服务器配置,挑适合我们训练场景的便宜方案。”
这个需求如果交给传统 Chatbot,大概率只能搜索关键词返回一波文档。但在 ReAct 循环的 Agent 中,过程是这样的:
第一步,模型把任务拆解为几项,并在 Thought 阶段明确:需要先获取候选方案列表,再获取每款设备的规格与价格,最后进行比对。第二步,Agent 调用商品目录查询工具,返回三款服务器的型号和配置。第三步也是一次循环,Observation 告诉模型报价数据是基础配置价格,机型和扩展卡需要单独加钱。于是模型调用了报价爬虫类工具,重新抓取详细的附加配置账单。第四轮循环,所有数据齐全后,模型结合训练负载需求进行推理判断,划掉最大机型,保留最小够用配置,并输出对比表和推荐理由。
整个过程看似是模型在“自由发挥”,实际上每一个 Loops 的边界都被系统严格约束:循环步数上限、工具调用超时、单次观察内容长度限制。工程上,这些参数决定了 Agent 是“好用”还是“失控”。我一般把最大循环步数设为 8,超时设为 30 秒,超过自动进入兜底处理。
ReAct 循环迭代质量的关键在 Prompt 设计。每个模型的指令遵循能力和格式偏好不一样,Prompt 的思考格式、工具描述格式都需要针对模型微调。有些模型要求所有思考过程用 JSON 输出,有些模型更适应 markdown 括号格式。没有型号通吃模板,做工程的人必须有针对性地做适配。
注意:ReAct 是有状态循环,每一步都会把历史步骤重新放进上下文,导致请求越长越慢,成本也随之升高。生产环境必须设置循环步数上限,同时做好上下文压缩,否则一次复杂任务的 Token 消耗会让预算吓你一跳。
3.2 循环失控的六种常见信号
实战中 ReAct 循环不是每次都听话,甚至可以说失控是常态。以下归纳最常见失控信号,每次调试都可以对着检查:
- 重复调用同一工具并返回相同结果:说明模型陷入了循环套娃,应设置相同调用去重或步数上限。
- 在同一工具上反复报错但不停手:可能工具参数 Schema 描述与模型理解不一致,需要修正描述。
- 观察信息过长占据大量上下文:需要做截断或摘要,否则会稀释模型注意力。
- 模型过早停止循环,漏做后续步骤:需要补充“任务完成”判断条件,或在规划阶段额外强化步骤数。
- 模型在一步里同时做过多事,结果哪件事都没成:需要引导模型一次只执行一步工具行动。
- 模型开始输出与任务无关的“自由发挥”:比如在思考阶段写小作文,这种已不止是失控,往往说明 Prompt 的格式约束不够硬。
还有个在实战中很值得关注的问题是:模型对工具结果的信任度。真实场景中工具返回的数据可能为空、可能报 500 错误,模型往往不会主动意识到数据不可信,并对空结果展开大规模推理。我的经验是在工具返回结构里显式附加 status 字段,模型在 Observation 阶段首先检查 status,非成功状态直接进入重试或转人工流程,而不是继续幻想。
3.3 ReAct 循环的工程化增强方案
裸的 ReAct 在企业级场景只能算勉强可用,必须做工程化增强。这里给出几个我在项目中验证过的增强方式,参考价值比较明确:
第一,加显式状态追踪。把系统当前所处的任务阶段、已完成的步骤、剩余步骤用结构化的字段随对话历史传给模型。这相当于给模型一张任务流程图,避免它在长循环中忘记上下文。
第二,做步骤级重试与回退。某一步工具调用失败后,让 Agent 先基于失败原因自我修正参数再重试一次;重复失败则回退到上一步重新规划,而不是原地打转。
第三,注入人工干预入口。在 Agent 执行关键步骤(如发起支付、删除数据、外发敏感信息)之前,暂停循环把人请进来。这种 human-in-the-loop 在早期 Agent 落地上不是降低效率,反而是建立信任的必要成本。
第四,循环结束后的结构化总结。任务跑完,Agent 应输出结构化执行报告,包含执行摘要、调用工具清单、耗时与 Token 消耗。这对审计与成本分析至关重要。
4. 企业级 Agent OS:为什么把 Agent 做成操作系统,而不是一个脚本
单 Agent 能解决的问题始终有限。当组织需要同时跑几十个业务 Agent、共享一批数据源和工具、遵循统一权限规范时,就需要一个支撑多 Agent 运行的底座,这就是企业级 Agent OS 的定位。
4.1 Agent OS 的五个核心服务
我理解的 Agent OS,不是一个具体的软件产品,而是一套能力集合。它至少包含以下几类:
Agent 运行时服务是这个底座最核心的部分,负责完整执行 Agent 的基础推理循环,包括上下文构建、工具调用、状态持久化。运行时还有必备的确定性能力:支持 Agent 暂停、恢复、终止、重试,且任意时刻可中断。
工具注册与发现中心是支撑各种 Agent 能灵活调用内外工具的基础。所有工具都需要在中心注册、声明权限、支持测试与版本管理。这样做带来两个直接收益:Agent 每调一个新工具都要经过审核,避免新型连接随手乱建;平台也能统一对工具做稳定性监控,例如采购 API 的 SLA 一降级,相关 Agent 自动被降级。
记忆服务是跨 Agent 共享记忆的关键设计。比如客服 Agent 和质检 Agent 都应能读取同一份历史工单记录,而不是各自维护一份副本。记忆服务本身要把数据建模清楚,区分对话记录、业务实体、知识条目,并做好访问隔离。
可观测性与链路追踪服务,是 Agent OS 里最不性感但最重要的服务。Agent 的每次思考、每次工具调用、每次重试都要有 trace 记录,提供一个交互式回放界面,让研发能够重跑 Agent 的完整决策过程。没有这套链路,复杂 Agent 的行为基本不可排查。
最后是评测与沙箱服务。Agent 平台上线前必须搭配一套评测集,覆盖几百几百条典型任务;任何 Prompt 改动、模型切换、工具更新,都先跑一遍回归测试再发布。没有评测体系的 Agent 平台,本质上是在裸奔。
4.2 多 Agent 编排的第一个难点:会话与状态隔离
多 Agent 并发跑在同一个 Agent OS 上时,第一个爆炸的难点就是会话与状态隔离。每个会话都有独立上下文,而多个 Agent 又在不同会话间穿梭,共享状态时必须小心别串了。
我踩过的坑很典型:初期把上下文直接存进程内 Map,单机一切正常。一上多实例,Session 在不同容器间跳来跳去,状态全丢。后来改成外部 Redis 存短期状态,才解决了横向扩容问题。
共享状态的第二个风险是“串数据”。不同 Agent 通过记忆服务拉取共享数据时,如果不做隔离,A 任务的中间数据可能被 B 任务错误引用。这类 bug 不触发时岁月静好,一触发就是线上事故。所以 Agent OS 的记忆服务在设计时必须引入数据权限标签,每条记忆都写明归属用户、归属会话、可见范围,读取时按访问控制过滤。
4.3 与现有企业系统的集成方式
Agent OS 不会独立存在于真空中,它要跟企业的统一登录、消息队列、工单系统、监控系统对接。
这里我有几个明确的建议:用户身份与权限一律走企业已有的 SSO 和权限中心,Agent OS 内部不复制一套身份体系,而是做协议适配;异步任务走统一消息底座,比较重的任务不要同步等待,Agent OS 与业务系统只要通过消息队列做解耦即可;审计日志直接写入企业统一的审计平台,Agent 调用记录与工单、审批单据同源保存在一起,合规审计时就能把 Agent 行为放到整体业务链路里去看。
集成这件事的复杂度往往被低估。很多 Agent 项目死在最后一步的集成上,不是 Agent 能力不够,而是身份体系连通不了、审计日志进不了平台、消息格式对不上。所以在做架构设计时,第一周就该拉上运维同学把集成清单列出来,越早暴露厚障壁越好推进。
5. 私有可控底座:企业为什么不敢把 Agent 放公有云
标题里最扎眼的四个字是“私有可控”。几乎所有企业级 Agent 需求方的第一句话都是:能不能部署在我们自己的机房。这句话背后不是偏执,而是三条非常现实的约束:
数据主权与合规要求。业务数据在哪个地域、哪个物理设备上流转,是很多行业合规审计的红线。客户名单、内部价格、财务数据一旦经过第三方公有云服务,审计时拿不出“数据未出境”的证据。
供应链依赖的稳定性担忧。公有云大模型服务受政策、上游 API 价格、服务可用性影响,企业无法接受核心流程依赖一个变化剧烈的外部黑盒。
定制化与内部系统深集成。企业内部系统很多跑在专有协议上,网络环境与公有云隔离,Agent 不部署在内网根本无法调用这些内部工具。
私有可控底座需要解决的事情,比简单拉一台服务器跑模型多得多。
5.1 模型私有化部署:硬件资源是硬门槛
私有可控的底座,模型部署必须先落地。目前常见的选择有两条路:部署开源模型,在已有的 7B / 14B / 32B / 70B 系列中选合适的档位;或部署采购的商业模型私有版本。
模型参数档位选择要结合任务难度与硬件预算。内部简单知识问答,7B~14B 的模型已经够用;复杂多步推理和代码生成类任务,保守起见要用 32B 甚至 70B 以上的模型。以单卡 A 系列 80G 显存为例,7B 模型可以用 INT8 量化轻松负载;14B 模型也能跑,但并发要压低;70B 模型基本必须上多卡推理或专业加速方案。
量化在这里不是可选项而是必选项。模型量化后的精度损失在多数任务里可以接受,换来的是并发能力和成本的大幅改善。我自己实测下来,4-bit 量化之后 7B 模型在单项任务上的效果损失一般在几个百分点以内,而并发量和显存占用则能改善一个量级。对非核心任务,甚至可以考虑混合精度调度。
私有化部署的工程工作量在于稳定运行。模型服务需要支持自动扩缩容、优雅重启、版本平滑灰度、故障自动摘除。这些能力不是 GPU 厂商出厂标配,需要平台团队自己开发和打磨。经常有团队花两周把模型跑起来,再花两个月才把模型服务端到端稳定住,这是常态。
5.2 向量数据库与混合检索:私有底座里最容易低估的部分
私有化场景里,企业知识库的检索质量直接决定 Agent 的最终体验。而只靠向量检索是不够的——企业内部知识中大量内容由精确名词、型号、合同编号组成,纯向量检索在这种场景下召回不到事实细节。
我在项目中验证下来,最终效果最好的方案是混合检索:关键词检索保证精确匹配,向量检索解决语义相近召回,再由重排序模型把两者的候选结果重新排序,选出最优片段。这套流程能同时抓住“字面一致”和“语义相关”两类情况,但要注意避免检索结果长度过大,需要结合上下文窗口做动态截断。
5.3 私有化底座的网络与安全架构设计
私有可控底座的网络设计核心是“分区边界清晰”。多层网络策略把模型服务区、Agent 运行时区、业务工具区、用户接入区隔离开来,区与区之间仅放行白名单策略。模型服务区的网络管理往往最严格,因为内部数据都要过模型,任何非必要的对外连通都应主动禁止。
请求链路设计上,我建议外部请求先到 API 网关,经过认证、限流、内容安全检测后,再转发到 Agent 运行时,Agent 运行时通过内部服务发现去调用工具层,同时把完整审计日志写入独立日志域。这条链路每个环节都能做局部限流和熔断,任何一环出问题,都不会把故障放大到全网。
注意:私有化部署最怕的不是功能不会调,而是把公网权限开给模型服务区“方便调试”。只要模型服务所在区能直连外网,数据就谈不上完全私有可控。宁可把调试体验做得差一点,也要保持网络边界干净。
6. 本地 Agent 平台落地实录:从需求到稳定的完整过程
这部分我用一个模拟项目“某企业知识问答与自动化数据处理平台”来串讲,把这些架构思想落到一个具体项目里。项目目标是:让一线业务同事用自然语言查询内部知识库、自动生成周报数据,并能触发基础流程操作。硬约束是全部私有化部署。
6.1 第一步:盘点硬约束、定技术选型
项目启动的第一件事不是写代码,而是盘资源。客户机房只有 4 张专业级显卡可用,总显存 320G,机柜网络没有公网出口,已有系统是内部 OA 加传统关系数据库,无现成消息队列。
基于这些约束,选型方向很快锁定:基础对话模型选用 14B 档位开源模型,量化后部署,服务化框架选用主流推理引擎;向量库选用轻量级开源方案,单机部署完全够用;Agent 编排代码不做重框架,而是用通用编程语言自己写一套轻量 ReAct 运行时;知识库索引工具使用成熟的混合检索方案。
这里要强调一个选型原则:能用成熟开源组件就不自己造轮子,能精简组件数量就精简。私有化环境里运维成本比云上高三到五倍,每多一个组件都是长期负担。
6.2 第二步:最小可行闭环先跑通,再横向扩展
第一次交付我没有一次性搭建完整 Agent OS,而是先跑出一个最小闭环:用户输入问题 → 命中知识库混合检索 → 拼装上下文 → 模型推理 → 返回答案。
这个闭环跑通后,才逐步加入工具调用、多轮记忆、会话隔离。每加一层能力,都基于评测集跑回归,确认没有把已有功能改坏。这个顺序既是功能顺序,也是调试难度顺序——每一层出问题,都能明确锁定问题范围。
这里有一个很好的工程习惯:把检索质量、回答质量拆成两套指标分开评测。检索召回的片段准不准是一件事,模型基于片段生成的答案好不好是另一件事。两个环节的瓶颈独立定位,避免出现“反正模型答不好,那一定是模型不行”的笼统误判。我见过太多项目被这种误判带偏,白白烧了几个月优化方向。
6.3 第三步:Agent 日常运行的运维与成本控制
Agent 系统上线后真正拉开差距的是日常运维。私有化环境里的模型服务得手动盯显存,建议部署监控面板,实时观测推理吞吐、平均时延、显存占用。显存不够时模型服务会被 OOM 干掉,被干掉后不能自动拉起,整个 Agent 就瘫痪了,必须提前做资源预警。
Token 成本的控制在私有化部署中也很关键。本地模型的单位成本不直接花钱,但要占算力和显存。同样的卡,省着用可以同时跑 3 个并发任务,浪费着用只能跑 1 个。我在部署时强制开启上下文摘要压缩,短对话保留完整轮次,长对话做自动截断和摘要,实测能省下近三分之一的有效算力开销。
6.4 第四步:上线后的评估与迭代机制
我强烈建议每个 Agent 项目上线时都配一个“会话抽样 Review”机制。定期从生产环境随机抽取一定比例的会话,人工查看 Agent 的思考、调用、最终回答的质量,形成一份质量周报。这个动作看起来笨,但价值极大——它能发现评测集永远覆盖不到的边缘 Case,比如用户突然问一个不存在的物料编码、在深夜场景提出一个多条件叠加查询等。
7. 你可能会踩的坑:Agent 平台建设问题速查
把我在多个项目里的踩坑记录整理成一个问题速查表,你在部署、调优时可以直接对着排查。
| 问题现象 | 可能原因 | 排查方向 |
|---|---|---|
| Agent 反复调用同一工具 | Prompt 缺少终止条件或工具去重逻辑 | 检查循环上限设置,增加相同调用拦截 |
| 工具参数总传错 | 工具描述与模型理解偏差 | 优化工具描述,增加参数示例与类型说明 |
| 上下文越跑越长、耗时暴增 | 缺少循环压缩机制 | 加入历史摘要、截断,限制单次观察长度 |
| 多实例部署会话丢失 | 状态保存在进程内而非外部存储 | 改用独立缓存存储管理 Agent 状态 |
| 私有化回答质量与公有云差的远 | 模型参数档位过小或量化过度 | 评估当前模型档位,考虑升级或调整量化精度 |
| 工具调用权限被绕过 | 权限模型绑在 Agent 而非用户侧 | 改为用户身份鉴权,工具调用前强制校验 |
| 模型被用户诱导输出违规内容 | 缺少内容安全过滤层 | 增加输入输出双向过滤与敏感词校验 |
还有一个常见但隐蔽的坑:调试阶段为了让模型“更听话”,反复在 Prompt 里堆砌大量约束语句,导致 prompt 越来越长,模型反而抓不住重点。我的策略是核心约束不超过十条,每条一句话讲清,其他逻辑尽量下沉到代码层去实现,而不是靠模型自觉。
8. 给 Agent 架构选型的一些个人判断
做了这些项目以后,我的判断是:Agent 架构已经没有标准答案,但有一批工程实践已经从经验沉淀成了方法。
五组件是目前最稳定的静态架构框架,几乎所有 Agent 平台都可以按它来拆、按它来建设优先级;ReAct 是企业级 Agent 最主流的动态行为模式,配合循环控制、状态追踪和人工兜底,能在生产环境里稳定工作;私有可控底座是多数企业 Agent 项目的刚需,它不是高配,而是底线。
如果你正打算启动一个 Agent 项目,我的建议是:不要一上来就追求完全体。先把最小闭环跑通,再逐层加组件、加能力、加评测。过程中始终盯住三件事——链路可观测、状态可隔离、权限可追溯,只要这三件事没有垮,Agent 平台这栋楼就立得住。
最后分享一个小技巧:在每个工具返回结果里,都加上一个“数据可信度”字段,让模型在决定采信数据前先判断这个结果可靠不可靠。这一点细微到可能写不进任何架构文档,但在实战里减少的幻觉输出,比你换一个更大的模型都明显。Agent 工程的价值,往往就藏在这种不起眼的细节里。