Agent的架构之战:从Desktop到AI时代,架构决定平台的生死

架构不是技术选型,是产品能走多远、用户体验能做多好的根本约束

每一代平台级产品的竞争,最终都不是功能之争,而是架构之争。Windows赢了OS/2,不是因为功能更多,而是因为它的架构让第三方开发者能更容易地构建应用。iOS赢了Symbian,不是因为初期功能更强,而是因为它的架构从第一天就为触控交互和应用生态设计。Chrome赢了IE,不是因为它一开始更快,而是因为多进程架构让它在页面崩溃时不会拖垮整个浏览器。

现在,AI Agent正在成为从Desktop、Web、Mobile之后的第四代平台级产品。而历史正在重演:决定谁能赢的,不是谁的模型更强、谁的功能更多,而是谁的架构更对。

一、一个被忽视的事实:架构决定了产品的规模天花板和用户体验的交付成本

很多技术讨论把架构当作纯工程问题——选什么语言、用什么框架、数据库怎么分片。但对于平台级产品来说,架构是一个商业问题,因为它直接决定两件事:

第一,产品能做多大。

架构决定了系统的扩展方式。一个monolithic架构的Agent,把模型调用、工具执行、记忆管理、会话状态全部耦合在一个进程里,初期开发确实快。但当你要支持100个工具、10种模型、百万级用户时,你会发现每加一个功能都要改动核心代码,每次部署都是全量发布,每个bug都可能影响所有用户。

这不是"技术债",这是架构的物理极限。就像一栋楼的承重结构决定了它最多能盖多少层——不是你想加就能加的。

第二,用户体验的交付成本。

架构决定了你做一个功能改进需要花多大力气。好的架构下,加一个新工具可能只需要写一个插件,不碰核心代码;坏的架构下,加一个新工具可能要改三层抽象、更新五个接口、重新测试整个系统。

用户不关心你的架构,但用户能感知到架构的后果:为什么这个功能等了三个月还没上?为什么每次更新都会出新bug?为什么竞品已经支持了你们还没有? 这些问题的根源,往往都在架构上。

用一个公式来表达:

用户体验 = f(团队能力, 架构效率)

当团队能力相当时:
  好架构 → 快速迭代 → 持续优化体验 → 用户增长
  坏架构 → 迭代变慢 → 体验停滞 → 用户流失
# generated by hugo's coding agent

这就是为什么同样融了一亿美金的两家AI公司,一家能每周发新功能,另一家三个月才更新一次。不是人不够多,不是模型不够好,而是架构效率的差距在指数级放大。

二、平台演进简史:从Desktop到AI,每一代平台的胜负都取决于架构

回顾过去40年的平台演进史,有一个清晰的规律:每一代平台的早期竞争靠功能,中期竞争靠生态,而生态的繁荣程度取决于架构。

Desktop时代:架构决定了谁能建立软件生态

1980-90年代,PC操作系统混战。IBM的OS/2技术上比Windows更先进——支持真正的多任务、更好的内存管理、更稳定。但Windows赢了。为什么?

因为Windows的架构做了一个关键决策:向后兼容 + 开放的API + 低门槛的开发工具。任何一个小开发者都能用Visual Basic写一个Windows应用,而OS/2的开发门槛高得多。结果就是Windows上的应用数量爆发式增长,应用多→用户多→开发者更多,飞轮转起来了。

OS/2的架构更"正确",但Windows的架构更"开放"。在平台竞争中,开放性比正确性更重要。

Web时代:架构决定了谁能处理规模

2000年代,互联网平台崛起。Google能处理全球的搜索请求,不是因为它的算法一开始就比Yahoo强多少,而是因为它从第一天就设计了分布式架构——MapReduce、GFS、Bigtable。这套架构让Google能在廉价硬件上水平扩展,而当时的竞争对手还在用昂贵的大型服务器垂直扩展。

Facebook打败MySpace,一个关键因素是Facebook从早期就建立了数据中心级的架构能力,能够在不崩溃的前提下支撑指数级的用户增长。MySpace在技术栈上的选择(ASP.NET+SQL Server的单体架构)让它在用户暴增时不断宕机,用户体验急剧恶化。

Web时代的教训:你的架构决定了你能服务多少用户,而用户数量决定了你在网络效应驱动的市场里能走多远。

Mobile时代:架构决定了谁能拥有开发者

2007年iPhone发布时,它甚至不支持第三方应用。但苹果做了一个关键的架构决策:设计一套完整的应用沙箱架构和API体系(Cocoa Touch + App Store + 严格的审核机制)。这套架构让开发者能够在安全的环境里构建高质量应用,同时让用户能够信任和方便地安装这些应用。

Android选择了另一条路:开源的Linux内核 + 开放的SDK + 宽松的应用分发。这让Android快速覆盖了中低端市场,建立了更大的设备安装量。

两种架构,两条路径,但共同点是:架构的核心设计决策都围绕"如何让开发者更容易在这个平台上构建应用"。Symbian、BlackBerry、Windows Phone的失败,根本原因都是架构不能有效地支撑第三方生态。

AI Agent时代:架构的赌注更大了

现在轮到Agent了。但Agent时代的架构挑战比前三代平台都大,因为:

  1. 不确定性是内生的。Desktop/Web/Mobile的底层是确定性的计算——给定输入,输出可预测。Agent的底层是大模型——给定输入,输出是概率性的。你的架构必须处理这种根本性的不确定性。

  2. 交互模式是开放的。前三代平台的交互模式相对固定:Desktop是WIMP(窗口、图标、菜单、指针),Web是页面+链接,Mobile是触控+手势。Agent的交互是自然语言——用户可以说任何话,Agent需要理解并执行。

  3. 能力边界是动态的。一个Mobile应用的功能在发布时就确定了。但一个Agent的能力取决于它能调用哪些工具、连接哪些服务、使用哪些模型——这些都可以动态变化。

这意味着Agent的架构不能简单地借鉴前三代平台的经验。它需要原生地解决三个前所未有的问题:概率性输出的可靠化、开放式交互的结构化、动态能力的可管理化。

三、Agent架构的五个关键决策

如果你在今天设计一个Agent产品的架构,有五个决策会决定你的产品能走多远。

决策一:编排方式——硬编码 vs. 动态规划

最基础的架构决策:Agent收到一个任务后,怎么决定"先做什么、再做什么"?

硬编码流程(Workflow):把任务分解成固定的步骤,用代码写死执行顺序。比如"用户问天气→调天气API→格式化输出→返回"。这种方式可控、可预测、容易调试,但灵活性差——每加一个新场景就要写新的流程代码。

动态规划(Autonomous Agent):让模型自己决定执行步骤。ReAct、Plan-and-Execute、Tree of Thoughts等框架都属于这一类。灵活性极高,但可控性差——你不知道模型会做出什么决策,成本不可预测,还可能陷入死循环。

正确答案是混合架构:关键路径用编排保证可靠性,长尾场景用动态规划保证灵活性。

┌────────────────────────────────────────┐
│              用户请求                    │
├────────────────────────────────────────┤
│         意图识别与路由(确定性)          │
├──────────────┬─────────────────────────┤
│ 高频已知场景  │     低频/复杂场景         │
│ (编排流程)  │   (动态规划)            │
│              │                         │
│ 步骤1→2→3   │  模型自主分解任务          │
│ 确定性执行    │  动态选择工具             │
│ 可预测成本    │  自我纠错                │
│ 快速响应      │  成本上限控制             │
└──────────────┴─────────────────────────┘

这个决策为什么关键?因为它直接影响了用户体验的一致性。全部用动态规划,用户会发现"同样的问题,有时回答得很好,有时答非所问"——这种不确定性在消费级产品中是致命的。全部用硬编码,用户会发现"这个Agent只能做几件固定的事"——那它和一个普通App有什么区别?

决策二:状态管理——无状态 vs. 有记忆

人类助理之所以好用,一个关键原因是他记得之前发生的事。你不需要每次开会都重新介绍自己的项目背景。

Agent的记忆架构决定了它能不能提供这种持续改进的体验:

  • 会话记忆:当前对话的上下文。最基础的能力,但受限于context window大小。
  • 短期记忆:跨会话但有时效的信息。比如"用户今天早上提到下午要开会"。
  • 长期记忆:用户的偏好、习惯、历史行为。比如"这个用户喜欢简洁的回答"“这个用户是Python开发者”。
  • 工作记忆:当前任务的中间状态。比如Agent正在执行一个多步骤任务,中间步骤的结果需要暂存。

大部分Agent产品只做了会话记忆,少数做了长期记忆,几乎没有人把工作记忆做好。但工作记忆恰恰是Agent从"聊天机器人"进化为"真正的助手"的关键——它让Agent能处理跨越时间的复杂任务,而不是只能回答即时的问题。

状态管理的架构选择还直接影响了成本结构。把所有历史对话都塞进context window是最简单的实现,但也是最昂贵的——每次请求都带上完整历史,token成本线性增长。好的记忆架构需要做到选择性召回:只把与当前任务相关的记忆注入上下文,而不是全量加载。

决策三:工具体系——封闭 vs. 开放

Agent的价值取决于它能做什么,而它能做什么取决于它能调用哪些工具。

封闭工具体系:所有工具由Agent平台官方提供和维护。质量可控,但覆盖面有限——你永远不可能预见所有用户的需求。

开放工具体系:提供标准化的工具接口(类似MCP这样的协议),允许第三方开发者构建和发布工具。覆盖面广,但质量参差不齐,安全风险增大。

这个决策本质上是在重演Mobile时代的App Store之争:iOS的封闭审核 vs. Android的开放市场。历史告诉我们,纯封闭和纯开放都不是最优解——你需要开放的接口 + 标准化的协议 + 分层的信任机制

# 一个好的工具架构需要分层
class ToolRegistry:
    """
    三层信任模型:
    - 内置工具(builtin): 平台提供,完全信任,无需用户确认
    - 认证工具(verified): 第三方开发,平台审核,首次使用需用户授权
    - 社区工具(community): 社区贡献,未审核,每次使用需用户确认
    """
    def execute(self, tool_call, trust_level):
        if trust_level == "builtin":
            return self._execute_directly(tool_call)
        elif trust_level == "verified":
            if self._user_has_authorized(tool_call):
                return self._execute_in_sandbox(tool_call)
            else:
                return self._request_authorization(tool_call)
        elif trust_level == "community":
            return self._execute_with_confirmation(tool_call)
# generated by hugo's coding agent

为什么这个决策是关键的架构选择而不只是产品决策?因为工具的接入方式、调用方式、权限模型、沙箱机制——这些都需要在架构层面设计好。事后改造的成本极高,而且很容易留下安全漏洞。

决策四:多模型协作——单脑 vs. 多脑

当前大多数Agent产品的架构是"单脑"——一个模型负责所有事情:理解用户意图、规划任务、调用工具、生成回答。这就像让一个人同时当CEO、工程师、客服和会计。

更高效的架构是多模型协作

  • 路由模型(小而快):快速判断用户意图,决定分发到哪个专项模型
  • 规划模型(强推理):分解复杂任务,制定执行计划
  • 执行模型(专项能力):代码生成用代码模型,图像理解用视觉模型
  • 验证模型(质量把关):检查输出质量,发现错误,决定是否需要重做
  • 摘要模型(低成本):压缩历史上下文,管理记忆
                    ┌──────────┐
                    │ 路由模型  │ (Haiku级, <100ms)
                    │ 意图分类  │
                    └────┬─────┘
            ┌────────────┼────────────┐
            ▼            ▼            ▼
      ┌──────────┐ ┌──────────┐ ┌──────────┐
      │ 简单问答  │ │ 复杂任务  │ │ 代码任务  │
      │ (Haiku)  │ │ (Opus)   │ │ (Sonnet) │
      └──────────┘ └────┬─────┘ └──────────┘
                   ┌────┴─────┐
                   │ 规划模型  │ (Opus级)
                   │ 任务分解  │
                   └────┬─────┘
                   ┌────┴─────┐
                   │ 验证模型  │ (Sonnet级)
                   │ 质量检查  │
                   └──────────┘

多模型架构的核心价值不只是省钱(虽然确实能省很多),更重要的是每个环节都用最合适的模型,整体效果好于用一个通用模型做所有事。这和人类组织的分工原理一样——专业化带来效率。

但多模型架构的实现难度远高于单模型。模型之间的信息传递、上下文共享、错误传播、延迟叠加——每一个都是工程挑战。这就是为什么它是一个架构决策而不是一个简单的优化:你必须从一开始就把多模型协作设计进架构里,否则后期改造的代价是推倒重来。

决策五:部署架构——云端 vs. 端侧 vs. 混合

Agent在哪里运行?这个看似基础设施的问题,实际上深刻影响着用户体验和商业模式。

纯云端:所有计算在服务器上完成。优点是模型能力不受设备限制,缺点是延迟高、隐私性差、离线不可用。

纯端侧:Agent运行在用户设备上。优点是低延迟、强隐私、离线可用,缺点是受限于设备算力,只能用小模型。

混合架构:端侧处理高频低复杂度请求(意图识别、简单回答),云端处理低频高复杂度请求(深度推理、多步任务)。这是用户体验和能力上限的最佳平衡点。

端侧 (手机/PC)                           云端
┌─────────────────┐                 ┌─────────────────┐
│ 小模型 (3B)     │                 │ 大模型 (Opus)   │
│ - 意图识别      │  ── 复杂请求 ──▶ │ - 深度推理      │
│ - 简单回答      │                 │ - 多步任务      │
│ - 上下文缓存    │ ◀── 结果回传 ── │ - 工具调用      │
│ - 隐私数据处理  │                 │ - 模型协作      │
└─────────────────┘                 └─────────────────┘
   延迟: <100ms                        延迟: 1-10s
   成本: 0                             成本: 按token
   隐私: 数据不出设备                    隐私: 需传输数据

苹果的Apple Intelligence选择了混合架构,端侧用3B模型处理简单请求,云端用更大的模型处理复杂请求。这个架构决策很可能为整个行业定下了基调——未来的Agent产品大概率都会走向端云混合架构,区别只在于端侧和云端的能力分界线画在哪里。

四、架构是市场竞争的乘数效应

前面讨论了架构的五个关键决策,但还没有回答一个根本问题:为什么说架构是竞争的关键因素,而不仅仅是工程效率的问题?

因为架构产生乘数效应

迭代速度的乘数

好架构让团队的迭代速度更快。在Agent领域,迭代速度是生死线——模型在进化、用户需求在变化、竞争对手在追赶。一个月发布一个新能力的团队和一周发布一个新能力的团队,一年后的差距不是4倍,而是可能是几十倍——因为快速迭代带来的用户反馈又会加速下一轮迭代。

成本结构的乘数

Agent产品的边际成本不是零——每次调用都消耗模型token。架构决定了你的成本结构:单模型架构下,成本随用户数线性增长(甚至超线性,因为上下文越来越长);多模型+缓存+路由架构下,成本增长曲线可以被压平。

当你的竞争对手每个用户每月花$5的模型成本,而你只需要$1,你就有4倍的空间来做免费增长或者提供更好的体验。这不是一个小优势——在烧钱换增长的阶段,成本效率决定了谁能活到盈利。

能力扩展的乘数

开放的工具架构让你的Agent能力呈指数增长——不是你自己的团队在增加能力,而是整个开发者社区在为你增加能力。就像App Store让iPhone从"一部手机"变成了"一个无限可能的平台",开放的Agent工具生态可以让一个Agent从"一个聊天机器人"变成"一个能做任何事的数字助手"。

但这种生态效应只有在架构支持的前提下才能发生。如果你的工具接入方式是硬编码的、非标准化的,每接入一个新工具都需要改核心代码——那你永远建不起生态。

五、当前Agent市场的架构分野

看看今天的Agent市场,可以清晰地看到不同玩家的架构选择正在塑造竞争格局:

ChatGPT/Claude:从对话界面起步,逐步增加工具调用能力。架构的核心优势是强大的基座模型,挑战是如何从"对话产品"演进为"平台产品"——这需要根本性的架构重构,而不只是加功能。

Cursor/Claude Code/Windsurf:以代码为核心场景的Agent。架构的核心创新是把IDE作为Agent的执行环境,让Agent能直接读写文件、运行命令、操作开发工具。这个架构选择极大地降低了Agent在编程场景下的"最后一公里"成本。

Manus/Devin:定位为通用/专项自主Agent。架构赌注是高度自主的任务执行——用户给一个目标,Agent自主完成。这个架构的挑战在于可靠性——自主度越高,失败的爆炸半径越大。

Apple Intelligence:端云混合架构的先行者。架构赌注是隐私为先的本地化处理。这个选择牺牲了一部分能力上限,但赢得了用户信任——在隐私敏感的市场里,这可能是决定性的优势。

每一种架构选择都在押注不同的未来:对话范式 vs. 工具范式,云端 vs. 端侧,封闭 vs. 开放,通用 vs. 垂直。这些赌注不能在产品上线后轻易改变——因为它们是架构级的决策。

六、结语:架构是写给未来的承诺

总结这篇文章的三个核心观点:

1. 架构决定了产品的规模和用户体验的交付成本。 好架构不是让你现在更强,而是让你未来能更快地变强。坏架构不是让你现在更弱,而是让你未来越来越慢、越来越脆弱。

2. Agent是继Desktop、Web、Mobile之后发展最快的平台级产品。 但它面临的架构挑战比前三代都大——因为它必须在概率性的模型之上构建确定性的用户体验,在开放式的交互中提供结构化的价值。

3. Agent的架构是市场竞争的关键乘数。 它放大(或缩小)团队的迭代速度、成本效率、生态扩展能力。在一个技术快速变化的市场里,这种乘数效应会随时间累积,最终决定谁能胜出。

对于正在构建Agent产品的团队,我的建议是:在前三个月,花至少一个月的时间在架构上。 不是画漂亮的架构图,而是认真回答那五个关键决策,并且在每个决策上做出有意识的选择——而不是无意识地滑入最容易的实现方式。

因为架构是你写给未来的承诺。它决定了当市场机会来临时,你能不能接得住。


See also