> ## Documentation Index
> Fetch the complete documentation index at: https://forgekit-docs-mintlify-7cd64f48.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` 会打破什么？”，就能从代码图中拿到爆炸半径，包括你从未点名的耦合文件。
* **无法被遗忘的护栏。** 确定性钩子强制执行受保护路径、成本预算和死循环检测——它们能挺过上下文压缩。
* **端到端把工作做完。** 一次会话内只触发一次的完成关卡会拦下这样一种情况：代码动了，但文档或状态产物没跟上——并把修复清单作为答复给出。
* **一份配置服务九个工具。** 规则只写一次；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-Hans/cli/config#forge-integrations) 之前都不会落到磁盘上。

## 诚实的边界

Forge 到处都会声明自己的上限。

<Warning>
  Forge **减少而非消除**规则漂移。它是一层透明性和可靠性的加固，不是测试、评审或判断力的替代品。
</Warning>

* **护栏只能强制执行能够表达为钩子的东西**（路径、格式、diff 大小、预算）。语义规则（“偏好函数式”）依然是散文形式，有时会被忽略。
* **验证是减少，不是认证。** Crew 校验者和幻觉符号标记能降低评审负担；它们并不证明代码正确。
* **没有权重级学习。** `recall` / `cortex` 仅仅是文件与提示级别的记忆——没有强化学习，没有微调。
* **影响图是基于正则的近似**——保守，而不是可靠的调用图。
* **测试和人工纠正永远胜出。**

<Note>
  Forge 目前处于 **beta**。核心（`init`、`sync`、`substrate`、`impact`、`ledger`、护栏）已经测试过并在日常使用；部分参数可能在 `1.0` 之前发生变化。
</Note>

## 下一步

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

  <Card title="核心概念" icon="diagram-project" href="/zh-Hans/concepts/config-compiler">
    四层编译器、携证记忆与行动前关卡。
  </Card>

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

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