你的推理服务器其实是个学习者:Reef 框架支持智能体持续自我改进
推理不是终点,而是学习的起点
我们习惯把大模型的生命周期看成一条直线:训练 → 评估 → 部署 → 推理。一旦上线,模型就固定不变,所有计算只为响应请求。但如果你希望智能体能在真实使用中越用越聪明,这套流程就不够用了。
Reef 项目提出一个反常识的观点:你的推理服务器其实是个学习者。它不该只是被动地返回结果,而应主动记录交互过程,从中提取信号,并驱动自身持续进化。这种进化不仅限于模型权重,还包括整个智能体的“执行框架”——比如提示词、记忆机制、工具调用逻辑、任务编排策略等。
换句话说,Reef 把推理从流水线的终点,变成了一个持续循环的起点。
为什么需要新基础设施?
现有大模型基础设施默认两个前提:第一,推理是单向输出,不产生可复用的学习信号;第二,只有模型本身会变,其他组件都是静态配置。但在持续自我改进的场景下,这两点都不成立。
首先,智能体在服务过程中会产生大量有价值的数据:用户是否采纳了回答?任务最终成功了吗?中间步骤哪里出错了?这些轨迹和反馈如果被丢弃,就浪费了最真实的训练信号。
其次,一个能完成复杂任务的智能体,远不止是一个语言模型。它还需要一套“执行框架”(harness)来管理工具、记忆上下文、处理错误、协调多步操作。这套框架和模型能力是相互耦合的——更强的模型可能允许更复杂的任务编排,而更好的框架也能更充分地激发模型潜力。因此,进化必须同时作用于两者。
Reef 的设计目标就是打破旧范式,构建一个能同时“拥有体验、拥有智能体、拥有更新”的闭环系统。
Reef 如何实现“拥有体验”?
Reef 的核心创新之一是 有状态推理(stateful inference)。与传统推理引擎不同,Reef 在每次调用时都会自动记录完整的交互轨迹,包括输入、输出、工具调用序列、中间状态等,并为这次调用生成一个唯一 ID(receipt)。
# 标准 OpenAI 格式的调用,但返回头中包含记录 ID
response = client.post(
"/v1/chat/completions",
json={"model": "my-agent", "messages": [...]},
)
receipt = response.headers["x-reef-agent-record-id"]
应用层可以随时通过这个 ID 回传反馈,比如用户打分、自动化测试结果,甚至人工标注的错误类型:

client.post(
"/reef/report",
json={"feedback": "答案事实错误", "references": [receipt]},
)这些数据不会立刻用于训练,而是以结构化流的形式存储。不同的“学习配方”(learning recipe)可以按需消费这些数据流,决定何时、用什么算法、基于哪些样本进行更新。这种方式避免了传统 RL 系统中“训练-推理”割裂的问题,让学习直接扎根于真实服务场景。
同时进化模型和执行框架
Reef 认为,智能体的进化必须覆盖整个技术栈。它为此提供了两套并行的更新机制。
在 执行框架侧,Reef 集成了名为 Cordis 的后端。Cordis 会分析历史轨迹和反馈,自动提出对框架的修改建议——比如调整提示模板、新增工具调用规则、优化错误恢复逻辑等。这些修改被打包成可安装的更新包,用户只需一条命令即可应用:
curl -fsS -H "Authorization: Bearer $REEF_TOKEN" \
'http://localhost:8900/reef/harness/install?adapter=pi' | bash
安装后,新的框架版本会自动接入 Reef 的有状态推理接口,继续收集数据并触发下一轮进化。
在 模型侧,学习配方会消费 Reef 记录的数据,启动异步训练任务(目前基于 Slime 改造)。训练产出的候选模型(如完整 checkpoint 或 LoRA 适配器)会经过自动评估。只有通过测试的版本才会被发布,并通过 NCCL 实现服务进程内的热更新——全程无需重启服务。
这种双轨进化机制确保了模型能力和执行策略始终协同演进,而不是各自为政。
更新必须可评估、可追溯
持续进化有个天然风险:不是每次改动都带来提升。如果盲目上线新版本,服务质量反而可能下降。Reef 通过严格的版本控制流程来规避这一问题。
所有可进化的组件——无论是模型权重、LoRA 适配器、框架代码树,还是路由策略——都被抽象为“制品”(artifact),由内置的版本控制器管理。Reef 采用 Git LFS 存储大体积文件(如模型),保证历史版本可追溯。
每次候选更新都要经过评估流水线。只有得分超过当前线上版本的候选者,才能通过 compare-and-swap 原子操作,推进该场景的“发布指针”。这个指针是追加式的,杜绝了旧版本意外覆盖新版本的可能性。
这种设计让团队可以安全地尝试各种激进的进化策略,因为任何失败的实验都不会污染生产环境。
用“学习配方”插拔不同进化方法
Reef 的架构将基础设施和具体算法解耦。实际的进化逻辑由“学习配方”实现,开发者可以像插件一样切换不同策略。
例如,在配置文件中指定一个在线强化学习配方:
# serve.yaml
reef:
recipe: recipes.sao.recipe:SAORecipe
batch_size: 1
max_staleness: 18然后启动服务:
reef serve -c recipes/sao/examples/sao/serve.yaml
目前已支持或规划中的配方包括:
- OpenClaw-RL:基于用户隐式反馈(如是否继续追问)进行在线策略优化
- TTT-Discover(Test-Time Training):在单次任务执行中动态调整内部参数,寻找更优解
- 技能进化:从成功轨迹中提炼可复用的子程序
- 自对弈:让智能体与自身历史版本对抗,发现弱点

这些方法虽然机制不同,但都遵循同一模式:利用测试时产生的信号,更新生成下一次交互的系统。Reef 提供了统一的数据管道和部署接口,让研究者能快速验证新想法,而不必重复搭建基础设施。

不是又一个训练框架
需要强调的是,Reef 并非传统意义上的训练系统。它的起点是在线服务,目标是让学习成为服务的自然延伸。训练只是整个进化循环中的一环,且必须与推理、评估、部署紧密协同。
这种设计更适合那些需要长期与用户互动、在真实环境中打磨能力的智能体——比如编程助手、客服机器人、科研协作者等。它们的价值不仅来自初始模型的强大,更来自日积月累的实战经验。
Reef 目前已在 GitHub 开源(https://github.com/Human-Agent-Society/reef),采用 Apache 2.0 许可证。项目包含完整的文档、示例配方和本地部署指南。如果你正在构建需要持续进化的智能体,不妨试试看能否把 Reef 接入你的系统,让它在服务用户的同时,悄悄变得更聪明。

