我将 Git 变成了工程团队和多个 Claude Code 会话的共享上下文层
摘要
作者开发了一个名为 MEX 的开源项目,该项目使用 Git 作为编码代理的共享记忆层,使上下文能够版本控制并在工程团队中共享。
你好!我最近一直在研究编码代理的共享记忆。这是一个开源项目,仓库链接在回复中。
显而易见的构建方式是每个代理都与之通信的共享后端。数据库、同步服务、账户、权限,所有这些。但当我思考团队记忆真正需要什么时,我越来越觉得它听起来像 Git 已经做过的事情。你想要历史记录。你想要差异对比。你想要变更随仓库一起移动。你想要分支携带自己的状态。你想要冲突可见,而不是静默地相互覆盖。所以我尝试围绕 Git 构建共享记忆层。基本设置很简单。规范的项目记忆作为普通文件存在于仓库中。架构、决策、规格、工作流、交接、活动等,像代码一样提交。每个检出都维护自己的本地索引,用于搜索和代码智能。这些不会被共享。如果另一个工程师拉取仓库,他们需要针对自己的检出重建索引。所以大致模型是:
我觉得最有趣的部分是记忆现在与其描述的代码拥有相同的历史。如果有人更改了项目决策,你可以审查差异。如果两个人更改了同一部分共享上下文,Git 会暴露冲突。如果代理学到了一些有用的东西,它不会在一个聊天会话中消失。我还开始将相同的想法用于交接。代理可以在会话结束时准备一个结构化的交接,而不是用一个庞大的聊天摘要。交接包括已完成的工作、阻塞项、决策、更改的文件、下一步操作,以及它写入时的仓库状态。发送者提交它,下一个人拉取它,它就成为项目历史的一部分。我不希望的是代理静默地将它们写的内容变成共享真相。所以一些共享更改使用提案流程。代理可以准备本地草稿,但发布和接受规范是需要明确批准的单独操作。我一直称这个为 Git 原生团队记忆。它是我正在构建的开源项目 MEX 的一部分。目前还处于早期阶段,有明显的权衡。Git 不是实时消息总线,MEX 不会自动推送或拉取任何内容,两个断开连接的克隆仍然可以创建正常的 Git 冲突。但我开始认为项目记忆的行为应该更像源代码,而不是另一个 SaaS 数据库。我真诚地想听听其他人对编码代理之间共享记忆的思考方式,特别是如果你尝试过用 Git、数据库、MCP 或其他方式解决这个问题。
相似文章
Agora:Git 作为集体自动研究的共享内存
Agora 是一个用于自主 AI 研究代理的共享内存系统,它使用 Git 将研究记录为仅追加的有向无环图 (DAG),从而实现协作发现。在一次 12 天的实验中,13 个代理将模型性能提升了 62%,接近训练基线。
编码智能体已经很强了,但管理它们还没跟上。我开源了为此构建的控制室(MIT)
作者开源了 o8,这是一个采用 MIT 许可的编排器,用于在隔离的 git worktree 中管理多个编码智能体,具备合并门禁、审计追踪和移动审批功能。
@daksh_jaitly: 我构建了 mex,因为编码智能体总是在重复读取同一个代码库,而不是保留它们学到的知识。1,200 个 GitHub 星标…
作者构建了 mex,一个帮助编码智能体保留仓库知识而不用重复阅读的工具,v0.7.0 增加了本地代码图,将上下文使用量减少了 90.7%,同时保持了召回率。
GitBot
GitBot 是一款开源工具,让开发者能够使用现有的编码代理(如 Claude Code、Codex 或 OpenCode)构建机器人,具备仓库自动化和社区共享功能。
面向 Agent-人类协作的 Git Forge(11 分钟阅读)
Entire 发布了首个专为 agent-human 协作打造的 Git forge,核心包括 Trails 代码评审体验、分布式 Git 托管(比 GitHub 快 89 倍)以及 Continuous Memory 三大原语,面向 AI-native 团队和编码代理开放使用。