Plasma AI 开源 Fractal:递归式智能体循环框架
Plasma AI 开源 Fractal,一个支持多层级递归 agent loop 的工程框架,每个节点自带预算与记忆,…
Plasma AI 近日在 Hacker News 发布了名为 Fractal 的开源框架,定位为「递归式智能体循环」(recursive agent loops),专门处理超出单次上下文窗口、可并行展开的复杂多步骤工程任务,包括大型重构与迁移、跨服务功能开发以及研究与实验活动等。框架已以 Apache 2.0 协议开源在 GitHub 上,可与 Claude Code 或 Codex 配合使用。
自指测试:让 Fractal 审计自身
在正式开源之前,团队将 Fractal 指向它自己的代码仓库,让其自行「找 bug、压测、调默认参数」。整个运行过程形成了一棵 187 节点的树,最终发现 135 个问题(团队称为 frictions),其中 55 个以「先写失败测试、再修复」的方式被处理,树的深度为 4。
几个值得关注的设计细节:
- 修复在运行中落地:调试、压测、优化三阶段之间设有 gate,每过一关就把已修复的内容合入 Fractal 自身副本,使得后续节点运行在已修复版本上。最终测试套件从 698 个通过用例增长到 823 个。
- 默认参数用「交集」而非「最优」调优:最后阶段展开六个子树,分别把默认指令推向 wiki、研究、benchmark、产品构建、数值实验与元优化方向;第七个节点仅保留六个方向上都带来改善的改动,最终 17 项保留、9 项被剔除。
- 带怀疑者机制的自评:压测阶段安排一部分子树攻击数学开放问题,每个结论都要经过一个专职「拆台」的怀疑者节点。一道已知答案的题目作为对照,盲测结果与文献答案 10/10 完全吻合;另一个被认为「可能是新结果」的结论,也在怀疑者检索文献后发现已有发表而被撤回。
节点即循环:每个节点是一个持久 agent
Fractal 与通常意义上的「会话内子 agent」不同:每个节点是一个持久循环,拥有独立的 git worktree、分支、记忆与生命周期,可以被随时停止。默认循环包含五个步骤:
- Prepare:拉取父节点最新提交,并合入已完成的子节点工作。
- Plan:决定本次迭代要做什么。
- Execute:在工作区中实际改动。
- Review:检查 diff、修正错误,并将学到的内容沉淀进记忆。
- Commit:把本次迭代保存到节点分支。
每一步都会在节点 worktree 中拉起一个全新的编码 agent(Claude Code 或 Codex),该 agent 可以在步骤内部自由使用自己的子 agent 与动态流程。用户通过 NODE.md 文件设定目标并随时编辑引导,运行中的节点无需重启即可被重新定向。这五个步骤是默认值,可以在节点的 steps/ 目录里增删替换,从而重塑循环。
节点的记忆是节点分支上一组 Markdown 页面,索引并交叉链接成知识图谱(底层是 Plasma Wiki),属于按主题组织的「文件」,而非对话流水。
层级与预算:树状协作
当任务可拆解时,节点可以派生子节点处理更窄的子目标。每个子节点拥有自己的分支并运行相同的循环,因此层级中每个节点各自承担一块工作。在 Prepare 阶段,父节点会把已就绪的子分支合入自身。预算也按同样形状分配:每个节点自带预算,跟踪自己和后代节点的总开销;预算耗尽的运行会在下一次迭代边界自然收尾。
节点之间通过内置消息通道「Fractal Radio」通信:父节点下达方向,子节点回报结果。每一步开始前会做一次短同步,处理树中其他节点的消息,使每个节点对父、子保持感知;持久的记录始终是分支与记忆。
使用方式与云服务计划
用户安装 fractal 与 wiki 两个 CLI 后,把 /fractal 技能加入 Claude Code 或 Codex,即可在已有 agent 内直接驱动,例如「/fractal spawn a node to migrate the payments service off the legacy client」。运行过程可通过 fractal open 命令打开终端 UI 查看。
此外,团队预告 Fractal Cloud 即将开放早期访问,用户可以在云端查看任务树、引导节点并追踪开销。
