Cloudflare Computer:给AI Agent一台真正的电脑

当Agent需要"动手",而不是只"动嘴"

过去两年,大语言模型在"说"这件事上已经足够强:能写文章、能debug、能讲解复杂的系统设计。但一个尴尬的事实是,当用户说"帮我把这份报表整理好并发到Slack"时,大多数模型只能给出一串"你可以这样做……"的步骤说明,而无法真正去打开浏览器、登录系统、操作文件。模型会"说",却不会"做"。

这正是2026年AI基础设施赛道最热的方向之一:计算机使用能力(Computer Use)。2026年8月6日,Cloudflare在GitHub上发布了一个名为Computer的项目,口号简单直接——"Give your agent a computer"(给你的Agent一台电脑)。它在GitHub Trending上当天收获2,690 stars,累计4,743 stars、239 forks,由aron-cf、ndisidore、ghostwriternr等开发者构建,是一个TypeScript项目。同期Trending榜上还涌现了TencentDB-Agent-Memory、loopx、code-review-graph等多个Agent基础设施项目。

这些项目共同传递出一个信号:AI Agent的竞争焦点,已经从"谁的模型更聪明"转向"谁的Agent能记住更多、跑得更久、动手更稳"。本文将拆解Cloudflare Computer的设计,并把它放进整个Agent基础设施生态里做一次全景式梳理。

AI Agent计算机使用能力:从概念到刚需

所谓"计算机使用能力",指的是AI Agent像人类用户一样操作一台计算机的能力——浏览网页、点击按钮、填写表单、读写文件、执行命令行。它的本质是把"GUI/CLI交互"变成模型可以调用的工具集。

为什么这件事在2026年变得刚需?有三个驱动力:

  • 模型推理能力跨越阈值:新一代推理模型已经能理解"先做A再做B"的多步规划,让"长链路操作"成为可能。

  • 企业自动化需求爆发:大量重复性办公流程(报销、数据录入、跨系统同步)无法靠API完全覆盖,必须借助GUI操作。

  • RPA的AI化升级:传统RPA脆弱、维护成本高,用Agent替代是明显的趋势。
  • 计算机使用能力的难点不在"看得见屏幕",而在"看得懂、点得准、错了能恢复"。这正是Cloudflare Computer这类项目要解决的核心工程问题。

    Cloudflare Computer项目深度解析

    项目定位与核心思路

    Cloudflare Computer的定位非常聚焦:为AI Agent提供一个可被程序化驱动的"虚拟计算机"环境。它不是又一个聊天框架,而是把"浏览器、文件系统、终端"这些计算机基本能力封装成Agent可调用的接口,让Agent从"只能输出文本"进化为"能操作环境"。

    Cloudflare做这件事有天然优势:它本身就是边缘计算与无服务器架构的大厂,Workers、R2、D1等产品构成了完整的基础设施栈。Computer项目很自然地能跑在Cloudflare的全球边缘网络上,这意味着Agent的"虚拟电脑"可以就近部署、低延迟启动,而不是依赖某台远端虚拟机。

    架构设计:边缘优先的工具化抽象

    从项目结构和设计理念推断,Cloudflare Computer的架构可以概括为三层:

  • 能力层(Capability Layer):把浏览器、文件系统、Shell、网络请求等抽象为一组标准化的"工具"(tools),每个工具有明确的输入输出schema。

  • 编排层(Orchestration Layer):负责Agent的循环——观察环境、调用模型决策、执行工具、回收结果、再决策。

  • 运行层(Runtime Layer):依托Cloudflare Workers等边缘运行时,按需启动沙箱化的执行环境,保证隔离性与可扩展性。
  • 这种分层的好处是:能力可以独立扩展(比如今天支持浏览器,明天加一个数据库操作工具),而编排逻辑保持稳定。对于开发者而言,这意味着接入成本低、可组合性强。

    核心功能与使用方式

    Cloudflare Computer面向开发者的核心价值,是让"给Agent加一台电脑"这件事变成几行配置。典型使用方式包括:

  • 浏览器自动化:Agent可以打开URL、读取页面内容、点击元素、截图回传给模型做视觉判断。

  • 文件读写:在沙箱文件系统中创建、读取、修改文件,适合代码生成、数据处理等场景。

  • 命令执行:在隔离环境中运行Shell命令,例如安装依赖、跑测试、构建项目。

  • 状态持久化:把Agent的中间产物(下载的文件、生成的代码)持久化到R2等存储,跨会话复用。
  • 下面的TypeScript示例展示了如何在一个Agent循环中集成Cloudflare Computer风格的能力调用。这是基于项目理念的示意代码,帮助理解接入模式:

    typescript
    // 基于 Cloudflare Computer 理念的 Agent 集成示例
    // 展示如何让 Agent 在一个循环中"观察-决策-执行"
    
    interface Tool {
      name: string;
      description: string;
      execute: (args: Record<string, unknown>) => Promise<ToolResult>;
    }
    
    interface ToolResult {
      success: boolean;
      observation: string; // 回传给模型的环境观察
      artifacts?: string[]; // 产生的文件/截图等产物
    }
    
    // 定义一组"计算机使用"工具
    const tools: Tool[] = [
      {
        name: "browser_navigate",
        description: "打开指定URL并返回页面文本内容",
        async execute(args) {
          const url = args.url as string;
          // 实际项目中调用 Cloudflare Computer 的浏览器能力
          const res = await fetch(url);
          const text = await res.text();
          return {
            success: true,
            observation: `已打开 ${url},页面长度 ${text.length} 字符`,
          };
        },
      },
      {
        name: "fs_write",
        description: "在沙箱文件系统中写入文件",
        async execute(args) {
          const path = args.path as string;
          const content = args.content as string;
          // 实际项目中调用 R2 或 Workers FS
          return {
            success: true,
            observation: `已写入文件 ${path},共 ${content.length} 字符`,
            artifacts: [path],
          };
        },
      },
      {
        name: "shell_exec",
        description: "在隔离环境中执行Shell命令",
        async execute(args) {
          const cmd = args.command as string;
          // 实际项目中调用 Cloudflare Workers 的命令执行能力
          return {
            success: true,
            observation: `$ ${cmd}
    [执行完成,退出码 0]`,
          };
        },
      },
    ];
    
    // Agent 主循环:让模型决定下一步动作,直到任务完成
    async function runAgentLoop(
      task: string,
      decide: (task: string, observation: string, tools: Tool[]) => Promise<{
        action: string;
        args: Record<string, unknown>;
        done: boolean;
      }>,
      maxSteps = 10
    ) {
      let observation = "任务已启动,环境就绪。";
      for (let step = 1; step <= maxSteps; step++) {
        const decision = await decide(task, observation, tools);
        if (decision.done) {
          console.log(`任务在第 ${step} 步完成。`);
          break;
        }
        const tool = tools.find((t) => t.name === decision.action);
        if (!tool) {
          observation = `错误:未找到工具 ${decision.action}`;
          continue;
        }
        const result = await tool.execute(decision.args);
        observation = result.observation;
        console.log(`[Step ${step}] ${decision.action} -> ${observation}`);
      }
    }
    
    // 示例:让 Agent 抓取一个页面并保存到文件
    await runAgentLoop(
      "抓取 example.com 首页内容并保存到 /tmp/page.txt",
      async (task, observation, available) => {
        // 这里 decide() 在真实系统中由 LLM 充当
        // 为演示,用简单状态机模拟模型的决策
        if (observation.includes("环境就绪")) {
          return { action: "browser_navigate", args: { url: "https://example.com" }, done: false };
        }
        if (observation.includes("已打开")) {
          return { action: "fs_write", args: { path: "/tmp/page.txt", content: observation }, done: false };
        }
        return { action: "", args: {}, done: true };
      }
    );

    这段代码的核心思想是:把"计算机"抽象成一组可组合的工具,让模型在一个"观察-决策-执行"的循环里自主推进任务。这正是Cloudflare Computer所倡导的范式。

    与OpenAI Operator、Anthropic Computer Use的对比

    Cloudflare Computer并非孤立存在,它处在"计算机使用"赛道的直接竞争中。理解它的差异化,需要与两大对标产品做对比。

    OpenAI Operator:产品化的"代操作"服务

    OpenAI的Operator更偏消费品定位——用户给出任务,Operator在云端代为操作浏览器完成预订、购物等流程。它的优势在于与OpenAI模型深度绑定、体验打磨细致;劣势在于相对封闭,开发者难以深度定制,且主要面向浏览器场景。

    Anthropic Computer Use:模型原生的"看屏幕"能力

    Anthropic的Computer Use走的是"模型原生"路线——直接让模型通过截屏+鼠标键盘坐标来操作图形界面,最大化通用性。它的优势是理论上能操作任何GUI软件;劣势是延迟高、易出错,且对模型视觉理解能力要求极高。

    Cloudflare Computer:开发者优先的"可编程电脑"

    Cloudflare Computer的差异化在于开发者优先 + 边缘运行时:它不试图做一个面向终端用户的产品,而是提供一套可被任意Agent框架集成的能力层,并依托Cloudflare的边缘网络实现低延迟、高并发的沙箱执行。这让它更适合需要大规模、可定制Agent部署的企业场景。

    | 维度 | Cloudflare Computer | OpenAI Operator | Anthropic Computer Use |
    |------|---------------------|-----------------|------------------------|
    | 定位 | 开发者基础设施 | 终端用户产品 | 模型原生能力 |
    | 交互方式 | 工具化API调用 | 浏览器代操作 | 截屏+坐标操作 |
    | 运行环境 | Cloudflare边缘沙箱 | OpenAI云端 | 客户端/云端虚拟机 |
    | 可定制性 | 高(开源、可组合) | 低 | 中 |
    | 主要场景 | 企业自动化、Agent编排 | 个人代办、购物 | 通用GUI操作 |
    | 延迟特性 | 边缘低延迟 | 中 | 较高 |

    三者并非绝对替代关系,更可能形成互补:Operator服务终端用户,Computer Use提供模型层通用能力,Cloudflare Computer则补齐"可编程、可规模化部署"这一环。

    Agent记忆系统:TencentDB-Agent-Memory的四种资产

    光有"手"还不够,Agent要真正有用,必须有"记忆"。同期GitHub Trending上的TencentDB-Agent-Memory项目(16,296 stars,当日新增1,053 stars)正是冲着这个痛点来的。它的定位是"AI Agent的团队级记忆中心",把对话、文档和代码转化为四种可复用的记忆资产。

    所谓"四种记忆资产",可以理解为对记忆的结构化分级:

  • 对话记忆(Conversational Memory):从多轮对话中提炼出的关键事实与偏好,让Agent"记得"用户的长期需求。

  • 文档记忆(Document Memory):对企业知识库、文档的结构化抽取与索引,支持跨会话检索。

  • 代码记忆(Code Memory):对代码库、代码片段的语义化表示,让Agent理解项目上下文。

  • 过程记忆(Procedural Memory):把"如何完成某类任务"的流程沉淀为可复用的操作模板。
  • 这种分级的价值在于解决长期记忆的"信噪比"问题。如果一股脑把所有原始对话塞进上下文,既昂贵又容易让模型迷失;而把它们蒸馏成结构化资产,则能在控制成本的同时大幅提升Agent的"经验积累"速度。"团队级"这个修饰词同样关键——它意味着记忆可以在多个Agent之间共享,避免每个Agent都从零学起。

    长时Agent状态管理:loopx的设计哲学

    另一个值得关注的趋势是"长时间运行Agent"的状态管理。Trending上的loopx项目(2,821 stars,当日新增854 stars)自我定位为"长时间运行AI Agent团队的轻量级循环工程状态内核"。

    长时间运行的Agent面临一个核心难题:状态会随着时间膨胀,最终拖垮系统。一个跑了几天甚至几周的Agent团队,中间产生的中间结果、待办事项、决策依据如果全部驻留在内存或上下文里,既不现实也不安全。loopx的思路是把"循环状态"工程化——把Agent的运行状态抽象成可检查点(checkpoint)、可恢复、可迁移的内核,让Agent团队能像分布式系统一样被调度与重启。

    这与记忆系统形成互补:记忆系统解决"记得什么",loopx解决"跑到哪了、怎么接着跑"。两者结合,才让"7×24小时常驻Agent"成为工程上可实现的命题。

    代码智能图:code-review-graph的MCP集成

    Trending上还有一个长寿明星——code-review-graph(28,996 stars,当日新增232 stars),定位是"本地优先代码智能图,为MCP和CLI构建代码库持久映射"。它的核心价值在于:把整个代码库预先构建成一张语义关系图(函数调用、类型依赖、模块引用等),然后通过MCP(Model Context Protocol)暴露给Agent查询。

    这对Agent的意义是质变的。传统方式下,Agent理解代码靠"读文件",效率低且容易遗漏跨文件依赖;而有了代码智能图,Agent可以直接查询"谁调用了这个函数""这个修改会影响哪些模块",把代码理解从"全文检索"升级为"图查询"。MCP的标准化则让这套能力可以被任何兼容MCP的Agent框架复用,降低了集成门槛。

    AI Agent基础设施生态全景

    把上面这些项目放在一起,我们能看到2026年AI Agent基础设施的一幅相对完整的全景图。它不再是"一个模型打天下",而是分层的、可组合的基础设施栈:

    | 项目 | 定位 | Stars | 核心解决的能力层 |
    |------|------|-------|------------------|
    | Cloudflare Computer | Agent计算机使用 | 4,743 | 执行层(浏览器/文件/Shell) |
    | TencentDB-Agent-Memory | 团队级记忆中心 | 16,296 | 记忆层(四类资产) |
    | loopx | 长时Agent状态内核 | 2,821 | 状态层(检查点/恢复) |
    | code-review-graph | 代码智能图 | 28,996 | 知识层(代码语义图) |

    这四层共同支撑起一个"会动手、有记忆、能长跑、懂代码"的Agent。值得注意的是,这些项目几乎都强调"本地优先""可组合""标准协议(如MCP)",反映出开发者社区对"避免被单一厂商锁定"的强烈共识。

    开发者实践指南:如何把这些能力串起来

    理解了生态,下一步是落地。下面给出一个把"计算机使用 + 记忆 + 代码图"串联起来的实践思路,依然用TypeScript示意:

    typescript
    // 把 Computer(执行)、Memory(记忆)、CodeGraph(知识)组合成一个增强型 Agent
    
    interface MemoryStore {
      recall(query: string): Promise<string>;       // 检索相关记忆
      remember(asset: MemoryAsset): Promise<void>;  // 写入记忆资产
    }
    
    interface MemoryAsset {
      type: "conversation" | "document" | "code" | "procedure";
      content: string;
      metadata?: Record<string, unknown>;
    }
    
    interface CodeGraph {
      // 通过 MCP 查询代码库语义关系
      query(cypher: string): Promise<unknown>;
    }
    
    class EnhancedAgent {
      constructor(
        private computer: Tool[],     // 来自 Cloudflare Computer 的能力
        private memory: MemoryStore,  // 来自 Agent-Memory 的记忆
        private graph: CodeGraph      // 来自 code-review-graph 的代码图
      ) {}
    
      async handle(request: string): Promise<string> {
        // 1. 先从记忆里检索相关上下文
        const recalled = await this.memory.recall(request);
    
        // 2. 如果涉及代码,查询代码智能图
        let codeContext = "";
        if (/代码|函数|调用|重构/.test(request)) {
          codeContext = JSON.stringify(await this.graph.query("MATCH (f:Function) RETURN f LIMIT 5"));
        }
    
        // 3. 组装上下文,交给模型决策要调用哪些计算机工具
        const context = `记忆: ${recalled}
    代码图: ${codeContext}`;
        console.log("增强上下文已就绪:
    ", context);
    
        // 4. 执行 Agent 循环(复用前文的 runAgentLoop 思路)
        // ... 调用 computer 工具完成任务 ...
    
        // 5. 把本次交互沉淀为记忆资产
        await this.memory.remember({
          type: "conversation",
          content: `用户请求: ${request}`,
        });
    
        return "任务处理完成,已更新记忆。";
      }
    }
    
    // 组装各层能力,启动增强型 Agent
    const agent = new EnhancedAgent(tools, memoryStore, codeGraph);
    await agent.handle("帮我重构 utils.ts 里重复的校验函数");

    这段代码的精髓在于"分层组合":执行、记忆、知识三个能力各自独立演进,通过标准接口拼装成一个比单层强大得多的Agent。这也是2026年Agent基础设施演进的范式——单体Agent正在让位于可组合的Agent基础设施栈

    未来展望:从"能用"到"可信"

    Cloudflare Computer及同期项目揭示的趋势很清晰:Agent基础设施正在快速成熟,"会动手、有记忆、能长跑、懂代码"已经从概念走向可工程化。但要从"能用"跨越到"可信",还有几道坎:

  • 安全沙箱:让Agent操作真实计算机,意味着必须解决命令注入、越权访问等风险,沙箱隔离的强度将直接决定企业敢不敢用。

  • 成本可控:长时运行Agent的token与算力消耗惊人,需要更精细的预算控制与缓存复用机制。

  • 可观测性:Agent的决策链路一旦变长,调试与审计就变得极难,需要配套的trace与replay工具。

  • 标准统一:MCP等协议正在收敛,但工具schema、记忆格式、状态检查点的标准化仍需时间。
  • 可以预见,2026年下半年,"Agent基础设施"会像当年的"云原生基础设施"一样,从少数先锋项目演进为成体系的工具链与最佳实践。Cloudflare Computer以"给Agent一台电脑"这个朴素却精准的口号切入,恰好处在这股浪潮的浪尖上。

    对开发者而言,现在正是下场的好时机:尽早把"执行、记忆、状态、知识"四层能力纳入自己的技术栈,理解它们如何组合,远比纠结"哪个模型最强"更有长期价值。因为当Agent真正能像人一样用电脑干活时,决定胜负的,从来不是大脑这一个部件,而是整套身体协调系统的成熟度。

    💬 评论区 (0)

    暂无评论,快来抢沙发吧!