微信扫码
添加专属顾问
云端 Agent 的便利性需要重新构建,这背后是架构设计的深刻挑战。 核心内容: 1. 云端 Agent 与桌面 Agent 运行环境的根本差异 2. 解决“变化快慢”耦合问题的核心思路 3. CREAO 在云端基建实践中的关键教训
大多数人接触 AI Agent 都是从桌面端开始的。
一个用户、一台电脑、一个进程。Agent 只在笔记本电脑打开时运行,读写本地文件,API 密钥直接塞在环境变量里,终端一关它就挂了。出问题了就手动重试,缺依赖了就 pip install,环境、密钥、生命周期全都封装在同一个可信任的边界内。
这一切在云端都不成立。
云端 Agent 跑在一个每次启动都"从零开始"的沙盒里,硬件与你毫无关系,触发者可能是你从未谋面的定时任务、HTTP 请求,或是另一个 Agent。用户可能在睡梦中,而代码正在运行。沙盒里的代码可能是恶意的,文件系统需要在多次部署中活下来,密钥绝不能跟 Agent 放在同一个地方。
桌面上唾手可得的便利——持久化、身份认证、网络信任、自动重试——在云端都需要重新构建为显式的系统能力。
过去几个月,我们在 CREAO 做的就是这件事。今天分享两条最深刻的体会。如果你曾经跑通过桌面 Agent,又好奇搬到云端会发生什么变化,这篇文章就是为你写的。
在桌面上,用户环境和 Agent 的运行时是同一个东西,比如你的 Python 环境既装了 numpy,也装了 Agent 框架。更新节奏一致,管理的人也是同一个。
云端完全不同。
Agent 应用会在平台侧积累状态。比如一位股票分析师安装了 matplotlib,下载了市场数据,写了绘图脚本。这个环境就是 Agent 的"肌肉记忆"。
我们的做法是:用户满意的那一瞬间,就把整个环境冻结成沙盒快照。 每一次运行都从同一个镜像启动,包版本一致,文件一致,脚本一致。周一的运行和周五的运行行为完全一致,因为底层没有漂移。
这是桌面框架给不了你的保证。今天 pip install 和六个月前的结果不同,而云端的快照永远指向相同的字节。
但耦合问题随之而来。
同一个快照里既冻结了用户环境,又包含了我们开发的 Runner 代码——也就是每次 Agent 运行时负责调度的那个小核心。用户希望环境固定不变,但我们每天可能要部署十几遍 Runner。一份产物,两个截然相反的需求。
第一个解决方案很粗暴:启动时检查快照里的 Runner 版本是否匹配最新版,不匹配就扔掉快照、从干净模板重新启动。
这招能跑,用户也没抱怨。但代价只在每次部署后的首次运行时体现出来。
真正致命的是无人值守场景。定时任务早上 9 点触发,结果你 8:55 刚部署完——用户的 Agent 环境就这样被扔了,仅仅因为我们在尝试升级几个内部文件。这破坏了一条隐含的契约:用户的环境应该冻结,直到用户自己决定改变它。
我们花了比预期更长的时间才看清问题本质:用户环境和 Runner 代码的变化节奏完全不同。 用户按自己的时间表编辑 Agent,平台一天部署多次。把它们当作同一个产物,每次部署都迫使你在"保留陈旧的 Runner"和"销毁用户明确要求冻结的环境"之间强行二选一。
最终方案借鉴了操作系统的更新思路:内核可以换,但个人数据不动。你不会为了打补丁就格式化硬盘。
我们也沿用了类似的边界。沙盒从用户冻结的快照启动,原封不动。然后我们只做一件事:热替换 Runner。
具体步骤是这样的:
node --check 验证语法,确保没有问题再碰线上的;chattr +i),然后把 chattr 命令本身藏起来,防止沙盒里的代码反向解除锁定;/home/user/.cache/v8-compile-cache/*),不然新文件可能被旧字节码覆盖;整个替换过程大约 300 毫秒。Runner 替换成功后,运行结束时会重新打快照,把更新后的 Runner 直接烘焙进用户镜像,下次启动时就能跳过替换步骤。
平台部署不再丢弃用户状态,而是把新 Runner 折叠进既有环境。用户的包、文件、自定义配置原样保留。
如果你只从这段经历中学到一件事,就是这个诊断问题:
对于云平台上任何持久化的东西,都先问一句:谁在控制这个东西的变更节奏?如果用户和平台共同拥有它,耦合的代价迟早会来。沿着所有权边界拆分产物,让双方各自按自己的时钟更新。
这条经验是云原生 Agent 架构区别于其他一切的核心差异。
桌面 Agent 以用户身份运行,用用户的密钥,在用户的机器上,访问用户的内网。而云端 Agent 以"无人"身份运行,在共享硬件上,面对开放互联网,执行的是 LLM 从 Prompt 里写出来的代码——而那个 Prompt 可能是被恶意注入的。
安全模型必须假设:沙盒里的代码已经被攻破,然后据此设计防御。
我们的铁律很简单:任何长生命周期凭证,绝不进沙盒。
当 Agent 需要调用受信服务(Slack、GitHub、用户自己的 API)时,它手里没有 Token。它只向沙盒外的一个 API Bridge 发送本地 HTTP 请求,Bridge 在主机侧附上 OAuth Token 后转发出去。响应回来时,Token 从未进入过沙盒的内存或环境变量。
更有趣的是 Bridge 如何确认这个沙盒"有权"请求。两层验证,每层都有用意。
第一层:IP 白名单。
Bridge 只接受来自内部网络区间的连接。外部请求——开发者的笔记本、泄露的 URL、公网流量——在到达应用层之前就被网络层丢弃。这就把 Bridge 绑定到特定的物理基础设施上,拿到外面毫无意义。
第二层:单次运行专属的短效 JWT。
沙盒启动时,平台为这个特定运行签发一个 JWT:绑定用户、绑定应用、绑定会话,有效期仅为运行窗口期。沙盒每次调用 Bridge 都携带这个 Token,Bridge 验证签名和有效期后才读取用户凭证并附加到请求中。
即便沙盒被劫持,攻击者拿到的也只是一个随运行结束而失效的短期 Token,且授权范围仅限于这一会话。没有主凭证可以偷。
Bridge 同时承载计费扣减、日志和指标输出,是唯二穿越沙盒边界的通道。沙盒内的其他一切,默认按已沦陷处理。
想象一下:明天的 Prompt 注入攻击诱导 Agent 把 process.env dumps 到外部 Webhook,攻击者拿到的是一个只能在内网使用、而且运行结束就失效的短效 JWT。正是这个属性,让我们敢于在共享基础设施上跑不受信任的代码,并且能安心入睡。
可靠的云原生 Agent 基础设施不是什么新发明,只是几条被无例外地坚持住的朴素原则:
最后一条是整个设计的点睛之笔。
同一个 executeAgent 函数处理 UI 点击、定时任务和 API 调用。计费、信用扣减日志、可观测信号——统统与触发方式无关。新增触发方式只是路由层面的改动,不是架构改动。Agent 不需要知道、也不关心是谁拉动了扳机。
这是桌面框架给不了你的,也是云原生版本值得被认真构建的原因。
笔记本电脑上的 Agent 被电脑绑定;云端 Agent 则是整个技术栈都可以调用的函数。用户只写一次,平台负责让它扛住部署、安全运行在多租户硬件上、接纳用户从未预料过的调用方。
Agent 是带有自然语言界面的函数。实现是属于用户的,触发面、运行时、安全边界属于平台。真正的功夫在于:把各层解藕到可以独立演进,然后花足够的时间去找到系统之间的裂缝——在被人利用之前。
这才是让下一个触发面既便宜又安全的秘诀。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-07-14
Claude Code 新浏览器实测:前端开发者真的离不开它了
2026-07-14
别再迷信 AI 经验模板:大模型应用真正缺的,是“条件可复现”
2026-07-14
GPT-5.6 Sol、Terra、Luna 怎么选?到底哪个档位适合你?
2026-07-13
GPT-5.6、ChatGPT Work 与 Codex 更新食用指南
2026-07-13
什么是智能体 Harness
2026-07-13
独立开发者做AI,先找交付缝隙
2026-07-13
如何做好AI Code Review工具
2026-07-13
Anthropic三位高管深度对谈Agent终极形态:从聊天进化成看不见的操作系统
2026-04-24
2026-04-17
2026-04-24
2026-05-19
2026-04-22
2026-04-24
2026-04-24
2026-04-16
2026-04-16
2026-04-20
2026-07-14
2026-07-06
2026-07-05
2026-06-30
2026-06-27
2026-06-26
2026-06-25
2026-06-18
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。