跳到正文
RadarAI· MarkTechPost(RSS)·· 3 小时前AI 评分71

Vercel 开源 durable-harness,为编码智能体提供崩溃恢复能力

AI 导读

Vercel 开源 durable-harness,通过持久日志记录每次模型和工具调用,使编码智能体会话在崩溃或超时后可从新函数恢复,已完成的调用从日志读取、不会重复计费。

正文 · AI 翻译

MarkTechPost· Michal Sutter·2026-10-22 06:15· 2 小时前AI 评分68

Vercel 开源 durable-harness,让编码智能体崩溃后仍可恢复

AI 导读

Vercel 开源 durable-harness,通过持久日志记录每次模型和工具调用,使编码智能体会话在崩溃或超时后可从新函数恢复,已完成的调用从日志读取、不会重复计费。

正文 · 原文

Vercel 发布了 durable-harness,这是一个开源包,可让编码智能体会话在崩溃和超时后依然存活。Vercel durable-harness 封装现有 harness,包括 Pi、OpenCode、Claude Code 和 Codex,且不改变它们。每个会话都保存在持久日志中。函数死亡不再意味着工作丢失。对于将智能体从笔记本电脑迁移到云端的团队来说,这填补了一个真实的缺口。

TL;DR

  • 大小:npm 包,版本 0.0.x,Apache-2.0。适配器覆盖 5 个 harness:Pi、OpenCode、fx、Claude Code、Codex。
  • 运行于:Vercel Functions 加 Vercel Queues、Node.js 22+ 配 Postgres,或笔记本电脑文件。Claude Code 和 Codex 需要 Vercel Sandbox。
  • 性能:未发布延迟或吞吐量基准。所有恢复声明均为 Vercel 自述。
  • 最佳:已完成的模型和工具调用从日志读回,绝不重跑或重复计费。
  • 最差:实验性 0.0.x API。Claude Code 和 Codex 仅在 Vercel Sandbox 中运行,即使自托管也是如此。

什么是 durable-harness?

durable-harness 是 Vercel 的一套适配器,将 harness 会话存储在 Workflow SDK World 中。World 将存储、队列和流捆绑在一个接口之后。该包使用与 Vercel Workflow SDK 相同的机制。

为什么编码智能体在云端会丢失工作?

Pi 和 Claude Code 等 harness 被设计为长期运行的本地进程。它们将会话保存在内存中。在本地,工作区和历史记录位于同一磁盘上,因此恢复只需 1 条提示。在云端,具有持久存储的 VM 不会跟踪哪些调用已完成。Vercel 团队指出,一次失败的回合或网络错误就意味着工作丢失。

durable-harness 如何工作?

它将回合的每一步写入持久日志。在模型或工具调用运行之前,它记录一个意图。当调用完成时,它记录结果。每个回合都由 Vercel Queues 上的一条消息支持。如果函数死亡,队列会将回合交给新函数。该函数读取日志并继续。

崩溃后,日志显示哪些已完成、哪些正在运行、哪些从未开始:

  • 已完成的调用从日志读取,因此已完成的模型 token 不会再次计费。
  • replay: 'safe' 工具,例如查询,可以再次运行。
  • replay: 'never' 工具,例如退款,绝不运行两次。模型会被告知该调用可能已发生。

Harness 会话文件也会镜像到日志中。这涵盖 Claude Code 的转录、Codex 的 rollout 和 OpenCode 的事件存储。

文件和 shell 命令在哪里运行?

模型选择的命令绝不在函数自己的磁盘上运行。工具文档列出了 3 种工作区选项:

  • virtual() 将文件保存在会话日志中,配有兼容 bash 的 shell 且无网络。它可容纳约 500 个文件。
  • virtual({ durable: false }) 将临时文件保存在内存中,并在每个回合清除它们。
  • sandbox() 为每个会话提供一个 Vercel Sandbox,其中 /workspace 位于 Drive 上。

带类型的 JSON 文档,例如待办事项列表,也存放在日志中。每个文档最多 64 KB。

你可以在哪里运行 durable-harness?

智能体代码在各个 World 之间保持不变:

  • Vercel:Vercel World,每个会话都在 Agent Runs 中追踪。
  • 本地:你机器上的文件,无需任何配置。
  • 自托管:Postgres World,版本 5.0.4 或更高,运行于 Node.js 22+。Vercel 的博客还列出了 MongoDB、Redis 和 Turso。

2 个环境变量,WORKFLOW_TARGET_WORLD 和 WORKFLOW_POSTGRES_URL,即可将智能体迁移到 Postgres。

durable-harness 对比如何?

功能durable-harnessTemporal + OpenAI Agents SDKInngest AgentKitCloudflare Agents SDK
是什么为现有编码 harness 提供的持久性适配器OpenAI Agents SDK 的持久执行封装TypeScript 多智能体框架Durable Objects 上的有状态智能体
封装 Claude Code / Codex是,实验性,仅限 Sandbox未披露未披露未披露
持久性后端Workflow SDK World(Vercel、本地、Postgres)Temporal 服务器或 Temporal CloudInngest 编排引擎Durable Objects、Cloudflare Workflows
语言TypeScriptPythonTypeScriptTypeScript
许可证Apache-2.0MIT(服务器)Apache-2.0MIT
状态0.0.x,实验性自 2026 年 3 月 23 日起正式可用未披露未披露

关键要点

  • durable-harness 记录每次模型和工具调用,然后在新函数上恢复崩溃的轮次。
  • 已完成的调用绝不会重复,因此 token 不会被重复计费。
  • Pi 和 OpenCode 在你的函数中运行;Claude Code 和 Codex 需要 Vercel Sandbox。
  • 自托管只需 2 个环境变量和一个 Postgres World。
  • 它是 0.0.x 版本且为实验性,没有公开的基准测试。

查看 GitHub 仓库、文档 和 Vercel 的公告。所有功劳归于该项目的研究者。另外,欢迎在 Twitter 上关注我们,别忘了加入我们的 150k+ ML SubReddit 并订阅 我们的 Newsletter。等等!你在 Telegram 上吗?现在你也可以在 Telegram 上加入我们了。

文章 Vercel Open-Sources durable-harness for Crash-Proof Coding Agents 首次发表于 MarkTechPost。

来源:MarkTechPost · marktechpost.com

来源:RadarAI · aihot.news