CCB项目共享记忆详解:用.ccb/ccb_memory.md让多智能体无缝协作
【免费下载链接】claude_codex_bridgeVisible multi-agent CLI workspace for mixing Codex, Claude, Gemini, Kimi, Qwen, Cursor, Copilot, Pi, OpenCode, and other AI coding agents项目地址: https://gitcode.com/gh_mirrors/cl/claude_codex_bridge
CCB(claude_codex_bridge)是一个可视化多智能体 CLI 工作区,可以把 Codex、Claude、Gemini、Kimi、Qwen、Cursor、Copilot、OpenCode 等十余个 AI 编码智能体放在同一个终端里协同工作。而CCB 项目共享记忆的核心,就是项目根目录下的.ccb/ccb_memory.md文件:它是一份所有智能体共同读取的"团队记忆",让你只需写一次协作规则,所有 Agent 都能无缝继承,真正实现多智能体无缝协作 🤝。
为什么多智能体协作需要一份"共同记忆"
当你在一个项目里同时运行 3 个以上 AI 编码智能体时,最常见的痛点是:
- 每个 Agent 只"认识"自己的私有记忆(
CLAUDE.md、AGENTS.md、GEMINI.md等),互不知晓对方的存在; - 同样的项目约束、交接约定要复制粘贴到多个 provider 私有文件里,改一处漏一处;
- Agent 之间委派任务时缺乏统一的沟通规范,协作容易失控。
CCB 项目共享记忆的设计目标非常明确:让所有受管 Agent 知道彼此存在、使用统一的/ask通道协作、并把跨 Agent 的稳定信息收敛到一个文件里。
把跨 Agent 的稳定信息放进共享记忆,比把同一段说明复制到多个 provider 私有记忆里可靠得多。——README/zh.md
一键获得共享记忆:.ccb/ccb_memory.md 如何自动生成
你不需要手动创建这个文件。CCB 的启动流程内置了"仅在缺失时创建"的安全语义:
- 自动创建:启动 CCB 时,若项目根目录不存在
.ccb/ccb_memory.md,会自动用内置模板生成一份; - 永不覆盖:一旦你编辑过这个文件,后续任何版本的模板更新都不会改动它;
- 种子记录:初次生成时会在运行时状态里记录模板版本和文件哈希(
state/memory.seed.json),用于判断"这份文件还是原始模板"; - 优雅降级:即使项目根目录只读,CCB 也会继续启动并记录警告,而不是直接报错。
默认模板非常克制,核心内容只有两件事:告诉每个 Agent"你是一支 CCB 管理的团队中的一员",以及规定跨 Agent 协作统一使用 CCBask通道(例如/ask <agent> <message>),并要求委派时写清目标、范围、假设与验证方式。模板定义在 lib/project_memory/template.py。
共享记忆该写什么:4 类最值得沉淀的内容
.ccb/ccb_memory.md不是项目说明书,也不该堆砌大段 CLI 文档。建议只写跨 Agent 稳定成立的信息,按官方推荐分为四类:
| 类别 | 示例 |
|---|---|
| 🧑🤝🧑 团队协作规则 | 代码风格约定、提交信息格式、谁负责评审 |
| ⚠️ 项目约束 | 禁止修改的目录、必须运行的测试、技术栈红线 |
| 📌 长期上下文 | 架构决策、当前迭代目标、已知技术债 |
| 🔄 Agent 交接约定 | 任务委派格式、回复要点、阻塞上报方式 |
一个典型的写法示例:
## 项目约束 - 所有改动必须通过 `pytest test/ -x -q` 后再交付 - 不要修改 rust/crates 下的代码,除非被明确委派写完保存即可——下次任何 Agent 启动时,CCB 会自动把这份内容注入给它们。
幕后机制:CCB 如何把共享记忆"分发"给每个 Agent
这是共享记忆最巧妙的设计。每个 Agent 启动前,CCB 会生成一份记忆包(memory bundle),按固定顺序拼装四类内容:
- CCB 运行时协作规则(由 CCB 生成,保证
ask提交即停、结果链续跑等控制契约始终最新); - CCB 共享项目记忆(你的
.ccb/ccb_memory.md); - Provider 原生项目记忆(按各 provider 的内存所有权策略决定是否合并);
- Agent 私有记忆(
.ccb/agents/<agent>/memory.md)。
随后,这份记忆包会被"投影"到每个 provider 各自认识的位置,无需你手动同步:
| Provider | 投影目标路径 |
|---|---|
| Claude Code | .ccb/agents/<agent>/provider-state/claude/home/.claude/CLAUDE.md |
| Codex | .ccb/agents/<agent>/provider-state/codex/home/AGENTS.md |
| Gemini | .ccb/agents/<agent>/provider-state/gemini/home/.gemini/GEMINI.md |
| OpenCode | 生成 agent 专属opencode.json,instructions指向记忆包 |
渲染与物化的核心实现分别在 lib/project_memory/renderer.py 和 lib/project_memory/materializer.py。整个过程是幂等的:内容没变就不重写文件,写入失败也只会警告降级,不会阻塞 Agent 启动。
共享记忆 vs Agent 私有记忆:如何分工
项目里还有一个可选的私有记忆文件.ccb/agents/<agent>/memory.md,用于某个 Agent 的个性化信息:
- 共享记忆
.ccb/ccb_memory.md:全队可见,适合"大家都必须知道"的规则; - 私有记忆
.ccb/agents/<agent>/memory.md:只注入给该 Agent,适合个人偏好、专属注意事项; - 两个文件都是用户数据,CCB 的常规启动流程永远不会删除或改写它们。
一个实用组合:把"提交信息用英文、Conventional Commits"写进共享记忆,把"我习惯先列 TODO 再动手"写进某个 Agent 的私有记忆。
团队协作:要不要把 .ccb/ccb_memory.md 提交到 Git
默认情况下.ccb/目录属于本地运行时状态,应整体忽略:
.ccb/*但如果希望团队成员共享同一套 Agent 协作规则(这正是共享记忆的价值所在),只需白名单放行这一个文件:
.ccb/* !.ccb/ !.ccb/ccb_memory.md注意:官方刻意不强制放行.ccb/ccb.config,因为里面可能含 API Key、URL 等敏感路由信息。
相关文档与源码
想深入了解 CCB 项目共享记忆的完整契约与实现,可以阅读:
- 设计计划:docs/ccb-project-shared-memory-plan.md
- 配置与目录布局契约(含共享记忆文件归属规则):docs/ccb-config-layout-contract.md
- 记忆模板与分发实现:lib/project_memory/
- 多语言 README(含共享记忆使用说明):README/zh.md
小结:.ccb/ccb_memory.md用最小成本解决了多智能体协作中的"信息孤岛"问题——一处编写、自动创建、永不覆盖、按 provider 精准分发。配合/ask跨 Agent 通信,你的 AI 编码团队从此拥有统一的"团队大脑" 🧠。
【免费下载链接】claude_codex_bridgeVisible multi-agent CLI workspace for mixing Codex, Claude, Gemini, Kimi, Qwen, Cursor, Copilot, Pi, OpenCode, and other AI coding agents项目地址: https://gitcode.com/gh_mirrors/cl/claude_codex_bridge
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考