# Cloudflare 将更多智能体框架引入平台，以 Flue 为首

- 来源：Cloudflare Blog
- 作者：Thomas Gauvin
- 发布时间：2026-06-18 03:35
- AIHOT 分数：64
- AIHOT 标记：精选
- AIHOT 链接：https://aihot.virxact.com/items/cmqimp36k02crsl5w124pcg7q
- 原文链接：https://blog.cloudflare.com/agents-platform-flue-sdk

## 精选理由

Cloudflare 将 Agents SDK 开放为中性运行时，Flue 首个接入，本质还是为 Workers 拉流量，非 Cloudflare 用户不必费心。

## AI 摘要

Cloudflare Agents SDK 现已成为任何智能体框架均可构建的运行时。Cloudflare 开放了 Agents SDK 原语，Flue 成为首个针对该 SDK 的框架，同时仪表盘中已推出智能体功能。

## 正文

2026年是智能体套件走向生产环境的年份。控制模型外部访问的软件——如Codex、Claude Code、OpenCode、Pi和Project Think等套件——已经成熟到团队能够将智能体部署为实际承载负载的基础设施，而不仅仅是原型。

但构建能在生产环境中存活下来的智能体非常困难。

我们在构建Project Think作为第一方智能体套件时亲身学到了这一点。在与客户合作将智能体部署到生产环境的过程中，我们发现了一套分布式系统问题，每个智能体在云端运行时都会遇到这些问题。当智能体中断时，如何自动、优雅地从中断处恢复，同时不丢失上下文或浪费模型token？智能体如何安全地运行不可信代码？智能体如何使用它们所训练的工具？

套件本身无法解决这些问题。它们与状态、存储和计算紧密相关——这意味着它们依赖于智能体运行的平台。这就是为什么我们将Project Think在生产环境中加固的经验带到Cloudflare Agents SDK中作为基础层。持久执行、动态代码执行、持久文件系统和动态工作流——现在任何基于Agents SDK构建的套件都可以使用这些能力。

与此同时，在套件之上出现了一个新层级。像Flue这样的框架用项目结构、约定、集成和开发者体验来包装套件，让智能体的构建变得高效。

为了解决这些扩展挑战，一个新的三层技术栈正在涌现，用于构建生产级AI。以下是各组件如何结合在一起，从面向用户的开发者体验到底层平台原语：

框架（Flue）——项目结构、约定、集成、CLI和用于构建智能体的开发者体验。

套件（Pi、Project Think）——智能体循环，负责调用工具、读取结果、管理上下文并持续执行直到任务完成。

运行时/平台（Cloudflare Agents SDK）——上层所有组件所依赖的计算、状态和存储原语。

Agents SDK 就是底层这一层：它让任何运行环境（harness）和任何框架都能使用持久化执行等基础原语。Flue——我们基于 Astro 团队开发的新的开源框架——是第一个基于它构建的框架。具体方式如下。

Flue

Flue 在本周发布了 1.0 Beta 版本，它构建在 Pi 运行环境（Pi harness）之上，OpenClaw 同样也基于这个运行环境。作为智能体框架，它的不同之处在于方法：你不是去编写智能体执行什么脚本，而是去描述它知道什么。定义智能体所需的上下文——它的模型、技能、沙箱和指令——它就会自主解决你交给它的任何任务。无需编写编排循环。

正是这种声明式模型让编写智能体变得简单：这里有一个分类智能体（triage agent），它能拦截错误报告，在沙箱中复现该错误，并在不到 25 行代码内诊断问题。

Flue 开发者体验

Flue 的强大之处在于，智能体并非孤立存在。它们被设计成存在于用户已有的工作环境中，并与你偏好的工具链集成：

随处部署的智能体：将智能体放入 Slack、GitHub、Linear 或 Discord，使用预配置的 Channels 来自动处理事件验证和分发样板代码。

无头但已就绪 UI：智能体不应置身于黑盒之中。Flue 智能体可以完全以无头模式运行后台任务，而 @flue/react 提供了原生前端钩子，能够将智能体的状态、工具执行情况以及实时消息流式传输到你的前端应用中，无需你自己从头构建自定义实时通信管道。

生态就绪：Flue 让你通过 `flue add channel slack` 等命令轻松添加和升级集成，生成一份 Markdown 蓝图，你自己的编码智能体可以读取、修改，并干净地直接集成到你的代码库中。

为生产环境设计，而非仅仅原型

将智能体从本地终端迁移到生产生态系统，会引入传统的分布式系统故障。主机崩溃、来自大语言模型提供商的 API 超时以及意外重启，都可能抹掉正在运行的智能体对话轮次（agent turn）的短期记忆。

Flue 通过 Durable Streams 解决了这一问题。执行历史中的每个事件都会被添加到一个仅追加日志中。通过将每个提示词、工具响应和模型选择都作为不可更改的账本进行处理，AI 智能体的状态永远不会变得不稳定。如果某个进程崩溃，另一个进程只需拾取日志，并从它离开的确切步骤继续执行即可。

可部署到包括 Cloudflare 在内的任何位置

Flue 是一个多云框架。在 Node.js 上，每个 AI 智能体都作为一个长生命周期进程运行。你可以将其部署到任何虚拟机或容器中，在 GitHub Actions 中运行，或嵌入到现有服务器上。但当目标平台为 Cloudflare 时，每个 AI 智能体都会变成一个 Durable Object。

通过在每个 Durable Object 内部运行 Flue 的 AI 智能体，Cloudflare 能自动按需伸缩到任意数量的 AI 智能体，每个智能体都拥有独立的存储和计算资源。你无需配置服务器、管理粘性会话或担心邻居干扰。当 Flue 的 AI 智能体部署到 Cloudflare 时，它们会利用 Agents SDK 的 runFiber()、stash() 和 onFiberRecovered() 方法实现持久化执行。此外，Flue 还使用 @cloudflare/codemode 和 @cloudflare/shell 在持久化工作空间中执行沙箱代码。

一个智能体平台需要什么样的管控框架

Flue 的 Cloudflare 目标之所以如此高效，是因为它清晰地对接到我们在 Agents SDK 中构建的核心原语。你甚至可以深入研究 Flue 的源代码，了解底层管控框架 Pi 是如何适配 Cloudflare Agents SDK 的。

以下是 Flue 在底层如何利用 Agents SDK，以及大规模稳定运行任何现代 AI 智能体管控框架需要满足的条件。

每个 AI 智能体管控框架都需要持久化执行

一个 AI 智能体运行轮次并非单次请求。模型会流式输出 token、调用工具、等待结果，有时还会请求人工批准，或将子任务委派给子智能体。这个过程可能需要数秒或数分钟，而在此期间的任何时刻，进程都可能被中断或崩溃。一旦发生这种情况，所有保存在内存中的智能体状态都会丢失：流式连接、待处理的工具调用、智能体在轮次中的位置。当然，对话历史会持久化到磁盘上，但用户只会看到一个永不结束的加载动画——这完全是糟糕的用户体验。

纤程通过直接在智能体底层持久化对象内部提供原生检查点机制来解决这个问题。`runFiber()` 在智能体轮次开始工作前将进度记录到持久化对象的 SQLite 存储中，并随着轮次推进通过 `stash()` 设置检查点。当新的智能体实例在中断后启动时，`onFiberRecovered()` 会传递最后一个检查点，这样智能体就能知道某个轮次被中断、中断到了哪里，并可以决定如何继续执行。

import { Agent } from "agents";
import type { FiberRecoveryContext } from "agents";

class MyAgent extends Agent {
async doWork() {
await this.runFiber("my-task", async (ctx) => {
const step1 = await expensiveOperation();
ctx.stash({ step1 });

const step2 = await anotherExpensiveOperation(step1);
this.setState({ ...this.state, result: step2 });
});
}

async onFiberRecovered(ctx: FiberRecoveryContext) {
if (ctx.name !== "my-task") return;

const { step1 } = (ctx.snapshot ?? {}) as { step1?: unknown };
if (step1) {
const step2 = await anotherExpensiveOperation(step1);
this.setState({ ...this.state, result: step2 });
}
}
}

Flue 在 Cloudflare 目标上正是使用 `runFiber()` 来实现这一点。借助 `onFiberRecovered()` 钩子，你的框架可以决定如何恢复轮次的执行——无论是像 Project Think 那样尝试完整重建模型以修复轮次状态，还是重放轮次的某些部分。

执行代码比用工具超载智能体更优

智能体框架通过工具让模型访问外部世界。但工具接口增长迅速，随着工具列表越来越长、上下文窗口被工具定义填满，模型选择正确工具的能力会变差。更好的模式是：给模型一个执行代码的工具。模型编写一个 TypeScript 函数，调用它所需的 API，然后框架运行这个函数。我们在推出 Code Mode 时就介绍过这一点。

问题在于代码在哪里运行。要安全地运行大语言模型生成的代码，你需要一个沙箱。但每次工具调用都使用传统沙箱会慢、成本高且效率低。这就是 Agents SDK 提供 `@cloudflare/codemode` 的原因——它封装了 Dynamic Workers，在独立 Worker 隔离环境中执行大语言模型生成的代码，只使用你提供的绑定资源。

Code Mode 为每一段代码创建全新的 Dynamic Worker，运行后即丢弃。隔离环境启动时间不到 10 毫秒，每次加载成本 0.002 美元，与每次智能体需要执行一段简短代码时启动一个容器相比，执行速度大幅提升、成本显著降低。Flue 在 Cloudflare 目标上使用 `@cloudflare/codemode` 来驱动其代码工具。智能体根据工作区编写 JavaScript 代码，并通过 Code Mode 运行。

大多数工作区任务并不需要完整的容器

智能体工具集通常需要文件系统，无论是用于读取文件、写入输出、搜索代码还是理解差异。尤其是编程智能体，完全依赖文件系统运行。但如果工具集运行在无服务器环境中，它如何获得一个跨执行会话持久存在的文件系统呢？

常规答案是使用容器。这可行，但对于智能体的大部分操作来说成本过高。在智能体的一次任务中，绝大多数文件系统操作都是文本操作。试想一个代码审查智能体：它读取文件、通过 grep 搜索源代码，或者可能写入一个补丁。这些操作根本不需要完整的 Linux 引导过程。

@cloudflare/shell 为你的智能体在其 Durable Object 内部提供了一个由 SQLite 支持的持久虚拟文件系统。它提供了类型化的文件操作——读、写、编辑、搜索、grep、差异对比——智能体工具集可以将其作为工具来使用。

在 Cloudflare 目标上运行的 Flue 智能体，不是单独调用各个工具，而是直接基于工作区虚拟文件状态 API 编写 JavaScript。通过在 Durable Object 内执行更多操作，智能体得以利用隔离模型更高效的执行流程，完全避免了容器的开销：

async () => {
const files = await state.glob("src/**/*.ts");
const results = [];
for (const file of files) {
const content = await state.readFile(file);
const todos = content.match(/\/\/ TODO:.*/g);
if (todos) results.push({ file, todos });
}
return results;
}

这意味着为那些需要执行 shell 和文件系统操作来完成工作的智能体，提供了一个更快且更具成本效益的沙盒环境。而对于需要完整操作系统（例如运行 npm install、git 或编译器）的智能体，Cloudflare Containers 则提供了相应支持。我们还在构建 @cloudflare/workspace，以便将特定 Durable Object 的虚拟文件系统与容器的文件系统保持同步，从而允许智能体仅在真正需要时，才能从轻量级 Workers 无缝切换到 Linux 环境。

动态工作流：让智能体编写自己的工作流，以便一致地重复执行任务

但当智能体需要执行比读取文件或运行单个代码片段更复杂的操作时，会发生什么？当它需要编排一个大规模、多步骤的流水线，并且该流水线必须随着时间的推移一致地重复执行时，比如一个能成功修复 bug 的代码审查流程，或一个能产出良好结果的研究工作流，那又该如何？工具集本身无法提供持久的多步骤执行能力。它需要平台来持久化每一步、重试失败步骤，并在中断后恢复执行。

这一模式正在获得广泛采用。Claude Code 最近推出了动态工作流功能：Claude 在运行时编写一段 JavaScript 脚本，将任务分配给数十个子智能体，然后运行时系统可靠地执行该脚本。@cloudflare/dynamic-workflows 为运行在 Agents SDK 上的任何宿主框架提供了这一能力。你的智能体在运行时生成一个工作流，Workflows 引擎会持久化每一步、重试失败步骤，并能休眠数小时，或等待人工审批等外部事件。

在 Agent 类中，runWorkflow() 方法将你的智能体连接到 Workflows 引擎。智能体启动工作流后即可进入休眠状态。工作流通过 RPC 回调智能体，报告进度、更新状态或请求审批。当工作流完成时，智能体会被唤醒并获得结果。

直接访问 Cloudflare 生态系统

除了计算和存储之外，智能体宿主框架还需要访问外部能力：网页浏览、电子邮件、记忆、搜索、推理。一个宿主框架不应为每种能力单独集成、分别管理 API 密钥，也不必担心凭证通过智能体生成的代码泄露。

Agent 类通过绑定（bindings）让你的宿主框架访问 Cloudflare 的其他服务：AI Gateway 用于按智能体跟踪消费并设置限额、Browser Run 用于网页自动化、Email Service 用于收件箱工作流、Agent Memory 用于持久化记忆、AI Search 用于检索、Containers 用于需要完整操作系统的负载，以及支持 14 个以上模型提供商的推理能力。绑定在赋予能力的同时不暴露凭证：你的智能体使用这些能力，但密钥永远不会进入智能体生成的代码。

将你的智能体带到智能体云上

我们知道这一方法是可行的，因为它正是我们构建第一方智能体宿主框架 Project Think 时所使用的精确架构基础。Project Think 仍然是我们为原生 Cloudflare 智能体体验而准备的高度优化、开箱即用的解决方案，而 Agents SDK 则确保更广泛的开源生态系统能够利用那些完全相同的经过实战检验的基础原语，包括 Flue。

如果你现在正在使用 Flue 构建 AI 智能体，只需点击几下即可部署到 Cloudflare。如果你正在构建自己的智能体框架或开发智能体应用框架，只需面向 Agents SDK 进行开发，即可免费获得平台集成能力。

Agents SDK：developers.cloudflare.com/agents

Flue：flueframework.com，npm install @flue/runtime

文档：docs

Cloudflare 社区：community.cloudflare.com
