你的代理需要一台电脑,而不是一个容器——介绍 @cloudflare/computer
内容提要
Cloudflare发布开源库@cloudflare/computer,为AI代理提供虚拟文件系统和执行环境,支持隔离环境与容器两种后端。代理可自动选择高效计算方式,减少容器依赖,实现水平扩展,旨在解决代理系统对计算资源的高需求问题。
延伸解读
为什么代理需要“电脑”而不是“容器”
文章指出,给每个代理分配一个容器在计算资源上不可行,因为全球没有足够的算力支持数十亿并发代理。Cloudflare 提出用隔离环境(isolates)作为更高效的替代,它们能快速启停、休眠,并支持水平扩展。代理的“电脑”抽象让平台自动选择在隔离环境还是容器中执行任务,从而优化成本和性能。
代理如何自动选择执行环境
@cloudflare/computer 提供统一的文件系统和执行接口,代理可以根据任务需求选择后端:简单的文件操作或数据处理在隔离环境中运行,需要完整 Linux 环境或原生二进制时则使用容器。文章提到,前沿模型在测试中能很好地做出正确选择,仅在必要时才使用容器,这有助于降低资源消耗。
开源实验与未来方向
Cloudflare 将 @cloudflare/computer 作为开源库发布,旨在与客户共同探索代理运行时的最佳实践。目前已有代理仅用隔离环境就能完成构建、测试和部署 JavaScript 应用等任务。未来目标是让容器使用率低于 10%,大部分工作由隔离环境处理,以支持更大规模的代理系统。
Q&A
什么是 @cloudflare/computer?
@cloudflare/computer 是 Cloudflare 发布的一个开源库,为 AI 代理提供虚拟文件系统和执行环境,支持隔离环境和容器两种后端,让代理可以自动选择高效的计算方式。
@cloudflare/computer 解决了什么问题?
它解决了 AI 代理系统对计算资源的高需求问题,通过提供比传统容器更高效的隔离环境,减少对容器的依赖,实现水平扩展,从而支持大规模并发代理。
@cloudflare/computer 如何工作?
它通过一个虚拟文件系统(由 SQLite 支持)和可选的执行运行时(隔离环境和容器)工作。隔离环境使用 just-bash 将 shell 代码转换为 JavaScript,容器则通过 FUSE 挂载文件系统。代理可以通过工具选择适合的运行时。
@cloudflare/computer 支持哪些执行后端?
目前支持两种后端:基于隔离环境的运行时(使用 just-bash 将 shell 代码转换为 JavaScript)和基于 Cloudflare Containers 的容器运行时(提供完整的 Linux 环境)。用户也可以编写自定义后端。
如何使用 @cloudflare/computer?
可以通过 npm 安装(npm install @cloudflare/computer),然后在 Durable Object 上实例化 Workspace,提供虚拟文件系统和工具给代理。示例代码展示了如何与 @cloudflare/think 集成,以及如何配置容器后端。
@cloudflare/computer 的虚拟文件系统有什么特点?
它由 SQLite 支持,可以从 git 仓库、存储桶等来源填充,支持读写、编辑文件,所有操作都有审计和观察,提供细粒度的控制。
@cloudflare/computer 的未来计划是什么?
Cloudflare 的目标是让容器在代理工作中占比低于 10%,大部分任务(如编码、音视频处理、文档创建)由隔离环境处理。目前提供早期预览,并希望与客户合作改进。