跳转到主要内容
为每个 AI 编码代理提供一个共同的大脑。 大语言模型是无状态的:每次调用只有一个 上下文窗口,之后就会被清空。它没有关于你团队所学的记忆,没有关于某次编辑会破坏什么的 预见能力,也没有强制执行的护栏。Forge (@codewithjuber/forgekit) 就是这层认知基底 —— 在模型编辑代码之 运行的一层,提供以证据为依据、按内容寻址的记忆(我们 称之为”proof-carrying memory”,携带证据的记忆)、启发式的影响预见,以及强制执行的护栏 —— 并且是一个跨工具的配置编译器,一次性把这个大脑作为原生配置交付到每个工具。 Claude Code 是测试最深入的集成;其他工具也接收原生配置和 MCP 工具,但真实场景下的锤炼较少。

记忆

携带证据的记忆,可以在会话之间和团队成员之间持续存在。每一条经验、 事实和已验证的复用,都是一个自带证据的声明。

预见

一次编辑的爆炸半径 —— 从代码图中读取到的、这次编辑预测会触及的文件集合, 包括你从未点名的耦合文件。

护栏

确定性的钩子强制执行模型永远不能违反的规则。它们能挺过上下文压缩,而 配置文件中的自然语言规则则不能。

问题所在

大语言模型是无状态的 —— 每次调用只有一个上下文窗口,之后就会被清空。
  • 它对你团队已经学到的东西没有记忆
  • 它对一次编辑会破坏什么没有预见
  • 没有强制执行的护栏 —— 自然语言的规则在一次压缩之后就会被遗忘。
而且每个工具都想要它自己的配置文件(CLAUDE.mdAGENTS.md.cursor/rulesGEMINI.md、MCP……)。Forge 就是那层认知基底,补上这三样缺失的东西, 并作为编译器,从一份来源把它们分发到每个工具。

核心论点

模型无法在两次调用之间从你的代码库里学到东西:它的权重被冻结,工作记忆也 在每次响应之后被清空。记忆、预见和自我检查 无法通过提示词灌进去 —— 它们必须从 外部 提供。那层外部东西 就是认知基底。形式化地说,推理是一个固定的函数 y = f(x),两次调用之间没有 状态;Forge 就是那份状态。
1

一次编写

把你的规则和基底默认值写在一份规范来源里 (source/rules.jsonsource/substrate.jsonsource/mcp.json)。
2

到处编译

forge sync 把这份来源编译成每个工具的原生配置 —— 九个 AI 编码 工具加上 MCP —— 带一个内容哈希头,所以漂移是可探测的,重复运行 是幂等的。
3

每个任务都过一次门

forge substrate "<task>" 运行一次确定性的动作前检查:假设、 路由、复用、上下文、爆炸半径、范围和目标锚点。
4

从结果中学习

只有独立的裁决者 —— 测试、CI、人的接受/回退 —— 才能移动记忆 的置信度,所以错误的经验会衰减掉,而不是被固化下来。

你会得到什么

  • 在会话之间和团队成员之间持续存在的记忆。 每一条经验、事实和 已验证的复用都是 proof-carrying memory (PCM) —— 我们给以证据为依据、 按内容寻址的记忆起的名字:一个声明,携带着它所依据的证据引用,只有当独立 裁决者把它的置信度抬升到某个底线之上时才被信任。“proof”(证据)指的是 这条证据链,而不是形式化证明。
  • 在把东西弄坏之前的预见能力。 问一句”改动 verifyToken 会破坏什么?” 就能从代码图里得到爆炸半径,包括你从未点名的耦合文件。
  • 不会被遗忘的护栏。 确定性的钩子强制保护路径、 成本预算和死循环检测 —— 它们能挺过上下文压缩。
  • 从头到尾能够完成的工作。 一个完成门在每个会话中会阻塞一次”完成” —— 当代码动了但没有对应的文档或状态产物跟进时,答复里就带着修复清单。
  • 一份配置服务 9 个工具。 规则只写一次;Forge 会输出每个工具的原生 配置,加上给 Roo 和 VS Code 的 MCP。零运行时依赖 —— 一个 Node CLI, git 里的纯文本文件,不需要服务器。

Forge 给哪些工具喂配置?

Forge 为九个工具输出配置,加上给 Roo Code 和 VS Code 的一个 MCP 服务器: Claude Code、Codex、Cursor、Gemini、Aider、Copilot、Windsurf/Devin、Zed 和 Continue。 每个工具从它自己的原生文件里读同一份规则。 默认接通的 MCP 服务器只有 Forge 自己的那一个(src/cortex_mcp.js)—— 负责基底 检查和记忆读取。像 context7 这样的第三方 MCP 服务器是按需接入(opt-in)的, 在你执行 forge integrations add <name> --yes 之前, 它们绝不会落到磁盘上。

诚实的边界

Forge 到处都会声明它自己的天花板。
Forge 减轻但不消除规则漂移。它是一层透明度和可靠性 的加成,不能取代测试、评审或判断。
  • 护栏只能强制那些能表达成钩子的规则(路径、格式、diff 大小、 预算)。语义规则(“偏好函数式”)仍然是自然语言,有时会被忽略。
  • 验证是减轻,不是认证。 Crew 验证者和幻觉符号 标记能减少评审负担;它们并不证明代码是正确的。
  • 不做权重级别的学习。 recall / cortex 只是文件加提示词的记忆 —— 没有 RL,没有微调。
  • 影响图是基于正则的近似 —— 保守,但不是严格意义上的调用图。
  • 测试和人的修正永远拥有最终发言权。
Forge 目前是 beta 阶段。核心(initsyncsubstrateimpactledger、护栏) 已经过测试并在日常使用中;一些标志可能会在 1.0 前变化。

下一步

快速开始

安装,运行 forge init,然后让你的第一个任务过一次基底。

核心概念

四层编译器、携带证据的记忆和动作前门。

CLI 参考

每一条命令,按 Core、Memory、Substrate、Quality 和 Config 分组。

团队记忆

把队友的账本无冲突地合进来,走的是普通的 git。