打开网易新闻 查看精彩图片

2008年,一群工程师花了18个月拆散一个巨型单体系统。2026年,AI团队正用3个月把同样的巨石重新垒起来。

这不是怀旧,是数据。现代AI智能体(AI Agent,能自主决策并执行任务的AI系统)框架正在把推理、工具调用、记忆塞进同一个代码块——当年SOA架构(面向服务的架构,将应用拆分为独立服务的软件设计方法)要消灭的东西,正以"简化开发"的名义复活。

生产环境的崩溃不会给你发邮件预告。

当流量峰值到来时,耦合的系统像多米诺骨牌:推理层卡住,工具执行跟着僵死,记忆模块连带着把数据库连接池耗尽。拆,要三个月。不拆,每周凌晨两点收报警。

第一步:把状态管理踢出去

第一步:把状态管理踢出去

AI智能体的状态是毒药。对话历史、中间计算结果、工具调用轨迹——这些东西如果散落在业务代码里,扩容时你会体验什么叫"分布式系统的恐怖"。

Ali Muwwakkil在LinkedIn上写了一段被很多人跳过的真话:「团队往往忽视清晰接口定义的重要性,这会导致后期集成头痛。」他见过太多案例:前期省下的设计时间,后期以十倍偿还。

状态管理独立成服务,意味着你可以给记忆模块配SSD,给推理层配GPU,给工具执行配廉价CPU。资源不再互相绑架,账单也能分开看。

一个具体做法:用事件溯源(Event Sourcing,一种通过记录状态变更事件来重建系统状态的模式)代替直接状态存储。每次LLM(大语言模型,如GPT/Claude等生成式AI的核心组件)调用、每次工具返回,都变成不可变事件流。想回滚到三分钟前的决策点?重放事件就行。

第二步:模块之间只许传纸条

第二步:模块之间只许传纸条

事件驱动架构(Event-Driven Architecture,通过异步消息传递实现组件解耦的设计模式)不是新技术,但AI团队经常假装它是。同步调用链在demo里跑得漂亮,生产环境里是绞索。

想象一个场景:智能体调用搜索工具,等待3秒。这3秒里,推理线程被占用,内存被锁定,新的用户请求在队列里排队。三个并发请求就能把单实例压垮。

换成事件驱动:推理模块扔出"需要搜索"事件,立刻释放资源去处理下一个请求。搜索服务完成后回传事件,推理模块按需唤醒。中间可以加队列削峰,可以埋监控,可以插重试逻辑——这些在同步调用里都是噩梦。

关键指标:模块重启时,其他模块应该毫无感知。

如果你的工具执行服务挂了,推理层应该继续响应用户(哪怕暂时做不了某些事),而不是跟着500错误。这需要契约设计:每个事件携带足够上下文,接收方不依赖发送方的存活状态。

第三步:每个能力都是独立服务

第三步:每个能力都是独立服务

这是最反直觉的一步。团队本能地想复用代码,把"通用"逻辑抽成库。结果?库版本一升级,三个服务一起崩。

独立服务意味着独立部署、独立扩缩容、独立回滚。推理模块想换Claude 4?不需要工具执行团队配合测试。记忆模块要切向量数据库?推理层连配置文件都不用改。

代价是运维复杂度。但2026年的基础设施已经不同:容器编排、服务网格、可观测性工具链,这些在2008年需要专职团队维护的东西,现在几个YAML文件就能启动。

Ali Muwwakkil提到的「清晰接口定义」在这里是生死线。OpenAPI规范、JSON Schema、版本化契约——前期多写的100行文档,能避免后期200小时的联调。

一个检验标准:新成员能否在不看内部实现的情况下,调用你的服务并预测行为?如果不能,耦合已经偷偷发生。

为什么现在必须动手

为什么现在必须动手

模型迭代速度是倒逼因素。GPT-4到Claude 3.5到Gemini 2.5,能力边界、价格、延迟特性全在变。耦合系统换模型像换心脏,得停服、得全量回归测试。解耦系统换模型像换轮胎,拧几个螺丝,流量切过去,观察指标。

另一个隐性收益:测试。独立服务可以独立打桩(Stub,用预设响应替代真实依赖的测试技术),单元测试不用拉起整个LLM。CI/CD(持续集成/持续部署,自动化构建测试发布的工程实践) pipeline从20分钟压到2分钟,开发者愿意跑测试了,bug才能早发现。

2008年的教训被写进教科书,2026年的团队却需要重新学习。技术轮回的讽刺在于:每一代人都觉得自己面对的问题独一无二。

你的智能体框架现在是什么状态?如果今天要把推理层流量切到另一个模型,需要改几行代码、停服几分钟、协调几个团队?