你的推理服务器其实是一个学习者:开源 Reef,助力 Agent 实现持续自我进化

@ao_qu18465
英语2026年9月01日
121K
216
46
9
262

TL;DR

Reef 是一款专为 Agent 持续自我进化而设计的开源基础设施,支持模型权重和 harness 逻辑根据实时推理经验与反馈进行迭代。

Reef 已完全开源:https://github.com/Human-Agent-Society/reef

1. 在 "RSI" 热潮真正到来之前

在当下对 RSI 的热议完全实现之前,我们希望将 Reef 开源。这是我们为同一个更广泛的问题构建的基础设施:让 Agent(工具链 + 模型)能够从自身经验中持续进化。

我们的目标是让开源社区更容易实验持续自我改进,并方便地获取生产级的基础设施。我们在此使用 持续自我改进 作为更广泛、更务实的框架,而 RSI 则是同一理念下更彻底的递归形式¹。

2. 为什么持续自我改进需要新的基础设施?

Ao Qu - inline image

GIF

大多数 LLM 基础设施都假设一个相对简单的生命周期:我们训练模型、评估、部署,然后用于推理。对于持续自我改进的 Agent,我们认为这个设置背后的两个假设开始失效。

首先,推理不再是流程的终点。Agent 在工作过程中会产生有用的经验,包括轨迹、执行结果、用户反馈以及其他可以驱动未来改进的信号。推理时发生的事情不再是我们简单提供后就丢弃的东西,它本身成为了学习过程的一部分。

其次,模型不再是唯一进化的东西。Agent 不仅仅是模型,持续自我改进不应局限于模型权重。提示词、记忆、技能、工具和编排逻辑都有可能从经验中改进。更强的模型扩展了 Agent 的能力,而更好的工具链则有助于更有效地激发这些能力,并在复杂任务中更可靠地运用它们。

这些变化共同将原本基本是顺序执行的流程,转变为一个持续进化的循环。Agent 进行交互、产生经验、改进自身的不同部分、评估这些改变是否值得保留,然后以系统的新版本回归服务。

这也是为什么我们不认为 Reef 仅仅是训练基础设施。训练只是循环的一部分。我们认为,用于持续自我改进的基础设施必须从实时推理出发,并支持整个 Agent 的进化。

Ao Qu - inline image

GIF

3. 这样的基础设施需要什么,Reef 如何实现?

Ao Qu - inline image

Reef 架构

用于持续自我改进的基础设施需要 端到端地掌控三件事:经验、Agent 和更新。这意味着 (1) 从实时流量中学习,(2) 同时更新模型和工具链,以及 (3) 正确地评估、版本化并控制更新的发布方式。

掌控经验——学习必须建立在实时服务之上

推理和训练历来是解耦的。一些 RL 基础设施(例如 SlimeveRL)集成了用于生成数据的推理引擎,但这些系统是为模型训练而非模型服务设计的。我们认为,持续自我改进的基础设施首先应该是一个推理基础设施,并围绕实时推理构建其训练能力:系统服务于真实应用,收集测试时经验,并让学习方案持续消费这些经验。 这一信念导致了对许多设计选择的重新思考,包括训练信号生成和训练样本选择。

推理是 Reef 的原生能力。Reef 暴露标准的推理端点,使其易于集成到现有应用中,并将它们转变为自我进化的系统。

python
1# client = xxx # 初始化 httpx 客户端连接到 Reef 的服务端点
2
3# 通过 Reef 进行标准推理调用,Open-AI 格式
4response = client.post(
5 "/v1/chat/completions",
6 json={"model": xxx, "messages": xxx},
7)
8
9# Reef 存储的推理记录的引用
10receipt = response.headers["x-reef-agent-record-id"]

应用还可以通过以下方式报告与特定推理调用相关的奖励、评估器反馈或其他信号:

python
1# 将反馈附加到对应的推理记录
2client.post(
3 "/reef/report",
4 json={"feedback": "wrong answer", "references": [receipt]},
5)

与那些在整个生命周期中保持静态的现有推理引擎不同,Reef 提供 有状态推理:Reef 将推理轨迹和反馈存储为结构化的经验流,处理诸如策略外数据陈旧性、会话合并和去重等问题。学习方案 定义了如何处理这个流、使用哪种学习算法,以及何时评估和部署更新。这使得不同的应用可以在相同的基础设施之上,使用各自的学习策略进行进化。

掌控整个 Agent——模型和工具链都通过有状态推理进行进化

一个能够交付端到端结果的 AI Agent 不仅包含模型,还包含工具链。模型提供完成任务所需的基础能力,而工具链则通过管理工具、上下文、记忆、反馈和编排,确保在复杂、长周期的轨迹中可靠执行。两者紧密耦合:工具链决定了如何激发、落地和运用模型的能力,而模型则决定了工具链能够可靠支持哪些执行形式。因此,任何一方的进步都可能改变另一方的最优设计。持续自我改进的基础设施应支持整个 Agent 栈的联合进化,不仅包括模型权重,还包括提示词、记忆、技能、工具和编排逻辑。

Reef 支持对模型和工具链的更新。

在工具链方面,Reef 使用 Cordis 作为"训练后端"。一个工具链进化方案通常会分析 Agent 的轨迹和反馈,然后提出对工具链的编辑。这个过程完全在 Reef 内部进行,每个进化后的工具链版本都会作为可安装的更新发布给用户(假设 Reef 运行在 localhost:8900 上):

bash
1curl -fsS -H "Authorization: Bearer $REEF_TOKEN" \
2 'http://localhost:8900/reef/harness/install?adapter=pi' | bash

上面的命令安装了一个由 Reef 封装的 Pi 工具链,其方式与典型的编码 Agent 类似。该工具链被配置为使用 Reef 的有状态推理端点,因此其推理流量会流经 Reef。当用户工作时,Cordis 会根据配置的工具链进化方案来进化工具链,新版本会通过 Reef 提供。下次用户打开工具链时,他们可能会看到:

Ao Qu - inline image

在模型方面,学习方案 消费 Reef 的记录来更新模型权重。训练与实时服务异步进行,使用分布式训练后端(目前改编自 Slime),并生成候选权重更新,例如检查点或 LoRA 适配器。

一旦候选更新通过评估并被批准部署,Reef 就会将其作为该场景模型工件的新版本发布,并使用基于 NCCL 的权重同步热更新服务引擎,而无需重启服务。

掌控更新——进化的发布版本经过评估和版本控制

持续进化的 Agent 可能会面临服务质量下降的问题,尤其是当进化不能保证带来性能提升时。因此,每个进化的候选版本在发布前都应进行评估。Reef 控制是否允许进化的候选版本替换当前服务场景的工件。如果候选版本被拒绝,服务保持不变。否则,Reef 会将其发布为一个新的、可审计的版本。

Reef 可以进化的任何内容——例如模型检查点、LoRA 适配器、工具链树或路由策略——都表示为由版本控制器管理的 工件。Reef 采用 Git LFS 来管理工件,特别是那些占用大量磁盘空间的内容,如模型权重。发布路径如下:

Ao Qu - inline image

每个场景都有一个仅追加的发布链。Reef 使用比较并交换(compare-and-swap)来推进场景的发布头,因此过时的发布者无法覆盖较新的发布。发布管道使 Reef 能够高效地跟踪持续的版本变更和发布过程。

4. Reef 中的持续自我改进方法

上述基础设施为持续自我改进提供了通用抽象。Agent 如何改进的实际逻辑是通过模块化的 学习方案 来实现的。

我们看到,将测试时产生的信号转化为更好 Agent 的方法越来越多:在线强化学习、测试时训练、技能进化、工具链进化、自我对弈等等。尽管名称和机制不同,但它们都遵循相同的基本模式:测试时产生的信号被转化为对系统(该系统产生下一次交互)的更新。

这些方案主要在三个维度上有所不同:

学习信号: 什么形式的信号驱动改进,它来自哪里?

经验获取: 学习经验是如何产生的?是由 Agent 主动寻求,还是从外部任务或交互中被动产生?

进化目标: 实际改变的是什么:模型、工具链,还是两者兼有?

Ao Qu - inline image

Reef 已支持或即将支持的方案

Reef 的设计使得这些方法在很大程度上可以通过在相同基础设施之上的不同学习方案来表达。使用一个方案很简单:选择一个,并在启动 Reef 服务时进行配置。

yaml
1# serve.yaml
2reef:
3 recipe: recipes.sao.recipe:SAORecipe # 接入一个进化方案
4 batch_size: 1 # 方案特定配置
5 max_staleness: 18

然后使用该配置启动 Reef:

bash
1reef serve -c recipes/sao/examples/sao/serve.yaml

下面,我们展示两个例子:OpenClaw-RL 和 TTT-Discover,它们遵循截然不同的进化策略,但都可以在 Reef 中实现。

Ao Qu - inline image

GIF

该动画演示了 OpenClaw-RL 在 Reef 中的集成。用户与一个 Agent 交互,其模型由 Reef 异步持续进化,而不会中断用户。随着轮次不断累积,Agent 逐渐学会正确理解用户的偏好并给出满意的答案。

Ao Qu - inline image

GIF

该动画演示了 TTT 如何迭代改进 Packing 32 的解决方案。随着优化的进行,越来越有效的解决方案被发现并保留,从而逐步提高打包得分。

5. 结论

Reef 是我们将持续自我改进这一广泛理念转化为具体系统问题的一次尝试。通过开源 Reef,我们希望让这个问题更容易被研究,并为社区提供一个实用的基础,用于构建不仅能提供服务,还能从经验中持续学习和进化的 Agent。

我们邀请您试用 Reef,构建您自己的学习方案,并将其与您的 Agent 集成。请访问 https://github.com/Human-Agent-Society/reef 探索代码、文档和示例方案。如果您觉得 Reef 有用,欢迎在仓库中给我们点个星。如果您想与我们一同构建,或更广泛地讨论持续自我改进,欢迎加入我们的 Discord:https://discord.gg/5y8e5f937k

  1. 我们使用 持续自我改进 作为比 RSI 更广泛、更务实的框架。它涵盖了那些反复从经验中改进的系统,而不要求通常与 RSI 相关的完全闭环(即 AI 本身参与构建和改进产生其下一个版本的系统)。Reef 是为这个更广泛的问题而设计的,同时为在其之上出现更递归的自我改进形式留出了空间。

不断增长的贡献者名单(按字母顺序排列): 柴文浩 (@wenhaocha1),丁双瑞 (@ShuangruiDing),何浩,何浩泽,蒋崇和 (@JiangChonghe),江南 (@nanjiangwill),蒋璇,李晓晨 (@jacobli99),梁保罗 (@pliang279),刘波 (@Benjamin_eecs),龙博远,莽秋阳 (@MangQiuyang),齐振庭 (@ZhentingQi),屈奥 (@ao_qu18465),屈明若,王兆凯,闫学智,于涵飞 (@yhfchitanda),于浩飞 (@haofeiyu44),余西蒙 (@simon_ycl),郑涵 (@hanzheng_7),周凯辰 (@alex_kai2020),周子健 (@BobbyZhouZijian),朱嘉诚 (@JiachengZhu_ML),庄丁一

一键保存

使用 YouMind AI 深度阅读爆款文章

保存原文、追问细节、总结观点,并在一个 AI 工作空间里把爆款文章沉淀成可复用笔记。

了解 YouMind
写给创作者

把你的 Markdown 变成干净的 𝕏 文章

图片上传、表格、代码块,往 𝕏 上手动重排太痛苦。YouMind 把整篇 Markdown 一键转成干净、可直接发布的 𝕏 文章草稿。

试试 Markdown 转 𝕏

更多可拆解样本

近期爆款文章

探索更多爆款文章