文章

AI 代理在云端沙箱运行的实测发现与工程踩坑记录

我们针对托管云沙箱平台进行了全面的实机探针测试:长连接 WebSocket 表现稳定,但彻底切断出网流量会导致代理瘫痪。架构随之调整为适应真实云平台的运行特性。

最初的设想曾认为运行代理的机器可以完全切断外网出站连接。真实的探针集群给出了截然不同的答案,驱动整个系统架构做出了务实的演进。

A sealed machine with one channel through its wall, carrying frames both ways, and a second attempt refused for want of a token.controlsandboxwith a token403without one
跨越边界的单一通道,承载双向数据帧传输,无有效 Token 时完全不可访问。

一切依托于 WebSocket 长连接

代理运行在交互式终端中,终端本质上是双向流。托管平台完美支持 HTTP 协议升级并在双向持续传递数据帧。

GET /?identifier=<id>&api-version=2024-02-02-preview
Authorization: Bearer <token>

101 Switching Protocols
  frames server to client, and client to server

未携带合法凭证的请求会直接被拦截为 403 Unauthenticated,确保执行机本身不存在未受保护的公开攻击面。

出站流量不可被硬性切断

切断出站网络会导致代理无法调用大模型 API、无法连接代码托管仓库,也无法与控制端通信。因此系统隔离必须来自机器内部持有的数据剥离,而非粗暴的网络切断。

云平台的物理约束比主观的架构设计更能决定系统的最终形态。

工程实测总结

在确立技术方案前必须先行验证基础设施的真实行为,将网络传输细节与上层应用协议解耦,以获得最大的架构灵活性。

相关架构设计请参阅 运行代理的机器不保留秘密,终端连接管理请参阅 观察不属于你的终端

直接回答

是否可以在托管云沙箱上运行 AI 编程代理?

可以。实测表明托管平台能够良好支持终端所需的持久 WebSocket 双向长连接。

为什么要实地探针测试而非仅查阅文档?

因为在代理出网需求、身份认证 Audience 和连接生命周期等关键细节上,实际运行表现与初步设想存在显著差异。

实测促成了哪些架构调整?

放弃了通过网络层硬切断出网的设想,转而在应用架构层面剔除数据库与解密密钥,保障安全的同时确保代理能正常访问大模型 API。