Anthropic 的研究员 Lance Martin发的文章:
# 用 Fable 5 设计循环
像 Claude Fable 5 这样的 Mythos 级模型,已经改变了 Anthropic 内部许多人的工作方式。我想分享两个技巧,帮助大家更好地发挥这类模型的能力。
## 自我纠错循环
最近大家对“循环”很感兴趣。Boris Cherny 曾提到,“我的工作就是编写循环。”让模型围绕某个评估指标不断爬坡优化,是提升任务表现的一种常见方法:Claude Code 中的 `/goal`,以及 Claude Managed Agent 中的 Outcomes,都是可以把这一通用方法应用到你具体任务上的基础组件。
正如我们在提示词指南中提到的,Fable 5 很擅长在循环中自我纠错。一个设计良好的目标或评分标准,会为 Claude 所处的环境增加反馈信号。这使得 Claude 可以执行任务,通过目标或评分标准收集反馈,自我修正,并持续推进,直到满足目标或评分标准为止。
我会分享一个用来测试 Fable 的玩具示例:Parameter Golf。这是一个开源的机器学习工程挑战,目标是在 8 张 H100 上、10 分钟以内,训练出一个能装进 16MB 构件中的最佳模型。
它有点像Andrej Karpathy的 autoresearch 项目:它测试的是一个智能体能否编辑基础训练代码,也就是一个 `train_gpt.py` 文件,启动训练,轮询日志,读取分数,并决定下一轮该运行什么实验。
我使用 Claude Managed Agents(CMA)在这个挑战上比较了 Fable 5 和 Opus 4.7。CMA 提供智能体运行框架以及托管沙盒,因此非常适合让 Fable 5 处理长时间运行的任务。对于 Parameter Golf,我为 CMA 提供了 8 张 H100 GPU,作为自托管沙盒使用。
一个微妙但重要的点是:由谁来评判很关键。我们观察到,模型在对自己的输出进行自我批判时会遇到问题。Prithvi Rajasekaran 在我们的工程博客中写过这一点。
我们发现,对于 Fable 5 来说,验证器子代理通常比自我批判表现更好,因为评分是在一个独立的上下文窗口中完成的。CMA 中的 Outcomes 会通过为你启动一个评分子代理来处理这件事。
在每次测试中,我都提供了一份评分标准文件,其中包含九项可检查的标准,例如运行基线、运行 20 个实验等。然后,我让 Parameter Golf 最多运行 8 小时。Outcomes 评分器会确认所有实验标准都已满足,然后才允许 Claude 停止工作。
Fable 5 对训练流程的改进幅度大约是 Opus 4.7 的 6 倍。如果把实验分为结构性实验,例如架构变更,和标量实验,例如调整某个常数,那么 Fable 5 更倾向于押注更大的结构性改动,并且表现出韧性,例如在一次量化退化之后继续推进,最终取得最大的收益。
Opus 4.7 的第一个实验带来了一个小幅改进,之后几乎所有实验都遵循同一个模板:调整一个标量,测量结果,如果为正就保留。
## 记忆
记忆是 Fable 擅长的另一个领域。我们可以把它看作一种跨会话的外层循环:Claude 在一次会话中写入记忆,而这些记忆可以在未来的会话中被检索出来。
Parth Asawa 和团队最近发布了 Continual Learning Bench 1.0,因此我想用它来测试 Fable 5 与早期模型的差异。
我比较了 Fable 5、Opus 4.7 和 Sonnet 4.6 在该基准中的一个任务上的表现:这个任务要求智能体在可以访问 SQL 数据库的情况下,按顺序回答问题。每个问题都是一次单独的智能体会话,并且会提供记忆机制。
为此,我使用了带记忆功能的 CMA,它会让每个智能体访问一个挂载的文件系统,而这个文件系统可以在不同会话之间共享。
在这个任务中,有效使用记忆依赖一个递进过程:失败,即答错并记录;调查,即在继续前弄清楚为什么出错;验证,即把诊断转化为经过检查的事实;提炼,即把验证结果转化为通用规则;查阅,即读取规则,而不是重新推导。
Sonnet 4.6 大约停留在第 1 步:它的记忆存储是一组失败笔记和未解决的猜测,例如“也许是 prc,而不是 prc_usd?”。它很少查阅以前的笔记。要提升性能,需要加入针对任务的记忆指令。
Opus 4.7 大约停留在第 3 步:它会创建带有不确定性标记的 schema 参考,例如“prc 可能是以美分计价?需要验证。”但验证覆盖率较低:覆盖了 7% 到 33% 的问题,中位数运行结果约为 17%。
Fable 5 往往能够完成整个递进过程:在它表现最好的运行中,验证覆盖率最高达到 73%,也就是 30 个问题中验证了 22 个,并且它会把学习到的内容提炼成通用规则,从而帮助完成未来任务。
与其直接提示并引导 Fable 5,不如设计一些循环,让模型能够根据环境反馈进行自我纠错,例如通过 `/goal` 或 Outcomes;同时让它管理自己的上下文,例如通过记忆机制。
我这里只分享了几个自己做过的小规模实验,但值得你亲自用 Fable 5 在有挑战性的任务上进行测试,并尝试使用循环来实现自我纠错或记忆。
要开始使用,可以查看我们的文档,或者询问最新版 Claude Code。Claude Code 可以使用我们内置的 `/claude-api` 技能,向你介绍 Fable 5,例如提示词最佳实践、`/goal`、Claude Managed Agents,或其他 API 功能。
