> ## Documentation Index
> Fetch the complete documentation index at: https://forgekit-docs-mintlify-9e781f1d.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Forge：面向 AI 编码代理的认知基座

> Forge 是每个无状态模型都缺失的认知基座 —— 记忆、前瞻与护栏 —— 以原生配置的形式交付给每一个 AI 编码代理。

**为每一个 AI 编码代理提供同一个大脑。** 大语言模型是无状态的:一个上下文窗口,每次调用都被清空。它不记得团队学到过什么,不预知一次编辑会破坏什么,也没有强制执行的护栏。Forge
(`@codewithjuber/forgekit`) 就是**认知基座** —— 一个在模型编辑代码\_之前\_运行的层,负责提供有证据引用的、以内容寻址的记忆(我们称之为"携证记忆"),启发式的影响前瞻,以及强制执行的护栏 —— 再加上一个
**跨工具的配置编译器**,把这个大脑作为原生配置一次性交付到每一个工具中。Claude Code 是测试最深入的集成;其他工具会收到原生配置和 MCP 工具,但实际使用中打磨得较少。

<CardGroup cols={3}>
  <Card title="记忆" icon="brain">
    携证记忆,跨会话和跨队友持续存在。每一条经验、事实和已验证的复用都是一个自带证据的声明。
  </Card>

  <Card title="前瞻" icon="radar">
    一次编辑的爆炸半径 —— 从代码图中读取的、被预测将会触及的文件集合,包括你从未点名的耦合文件。
  </Card>

  <Card title="护栏" icon="shield">
    确定性的钩子强制执行模型永远不能违反的规则。它们能挺过一次上下文压缩,而配置文件里的散文规则做不到。
  </Card>
</CardGroup>

## 问题

大语言模型是无状态的 —— 一个上下文窗口,每次调用都被清空。

* 它**没有记忆**,不知道团队已经学到过什么。
* 它**没有前瞻**,不知道一次编辑会破坏什么。
* 它**没有强制护栏** —— 散文形式的规则在一次压缩后就被遗忘。

而每个工具都要自己的配置文件(`CLAUDE.md`、`AGENTS.md`、`.cursor/rules`、`GEMINI.md`、MCP……)。Forge 就是那个认知基座,补齐这三件缺失的事,并且用一个编译器从单一源交付给每一个工具。

## 论点

模型无法在两次调用之间从你的代码库中学习:它的权重被冻结,工作记忆在每次回答后被清空。记忆、前瞻和自检无法通过提示词植入模型 —— 它们必须从\_外部\_供给。这个外部的层就是认知基座。形式化地说,推理是一个固定函数 `y = f(x)`,调用之间没有状态;Forge 就是那个状态。

<Steps>
  <Step title="一次编写">
    把你的规则和基座默认值写在一个规范源中
    (`source/rules.json`、`source/substrate.json`、`source/mcp.json`)。
  </Step>

  <Step title="到处编译">
    `forge sync` 把这个源编译为每个工具的原生配置 —— 九个 AI 编码工具外加 MCP —— 并加上内容哈希头,因此漂移可检测,重复运行是无操作的。
  </Step>

  <Step title="为每个任务把关">
    `forge substrate "<task>"` 运行一次确定性的预动作检查:假设、路由、复用、上下文、爆炸半径、范围以及目标锚点。
  </Step>

  <Step title="从结果中学习">
    只有独立的裁决方 —— 测试、CI、人类的接受/回滚 —— 才能改变记忆的置信度,因此错误的经验会衰减而不是固化。
  </Step>
</Steps>

## 你能得到什么

* **跨会话、跨队友持续存在的记忆。** 每一条经验、事实和已验证的复用都是\_携证记忆 (PCM)\_ —— 我们对有证据引用、以内容寻址的记忆的称呼:一个携带其证据引用的声明,只有当独立裁决方把它的置信度抬升到阈值以上时才会被信任。"证明"指的是那条证据链,而不是形式化证明。
* **在你破坏东西之前预知。** 询问"修改 `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 服务器是**选择性接入**的,在你运行 [`forge integrations add <name> --yes`](/zh-CN/cli/config#forge-integrations) 之前,不会有任何东西落到磁盘上。

## 诚实的边界

Forge 到处标明自己的天花板。

<Warning>
  Forge **减少但不消除**规则漂移。它是一层透明度和可靠性,不是测试、审查或判断的替代品。
</Warning>

* **护栏只强制那些可以表达为钩子的东西**(路径、格式、diff 大小、预算)。语义规则("倾向函数式")仍然是散文,有时会被忽略。
* **验证是减少而不是认证。** Crew 验证者和幻觉符号标记降低了审查负担;它们不证明代码正确。
* **没有权重级学习。** `recall` / `cortex` 只是文件和提示词记忆 —— 没有 RL,没有微调。
* **影响图是基于正则表达式的近似** —— 保守估计,而不是精确的调用图。
* **测试和人工修正始终最优先。**

<Note>
  Forge 处于 **beta**。核心部分(`init`、`sync`、`substrate`、`impact`、`ledger`、护栏)经过测试并每日使用;部分参数在 `1.0` 之前可能变动。
</Note>

## 下一步

<CardGroup cols={2}>
  <Card title="快速开始" icon="rocket" href="/zh-CN/quickstart">
    安装、运行 `forge init`,并让你的第一个任务通过基座。
  </Card>

  <Card title="核心概念" icon="diagram-project" href="/zh-CN/concepts/config-compiler">
    四层编译器、携证记忆和预动作门。
  </Card>

  <Card title="CLI 参考" icon="terminal" href="/zh-CN/cli/overview">
    每个命令,按 Core、Memory、Substrate、Quality 和 Config 分组。
  </Card>

  <Card title="团队记忆" icon="users" href="/zh-CN/guides/team-memory">
    通过纯 git 无冲突地合并队友的账本。
  </Card>
</CardGroup>
