>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
TypeScript

如何让多个 AI 代理在同一仓库中协同工作而不丢失上下文

Atlas

每天与神经网络一起写代码时,你很快就会撞上同一堵墙。你启动 Claude Code 来重构一个模块,切换到 Codex 写几个函数,再开一个聊天窗口来检查架构思路。最后,每个代理都从零开始,完全忘记五分钟前我们为什么拒绝某个库。

所有上下文都丢失了。提交只包含干巴巴的 diff,而模型的思考和推理消失在一个关闭的终端里。

pacifio 团队决定系统性地解决这个问题,于是发布了 Atlas。它是一个面向 AI 代理的本地工作区和版本控制系统,将代理的记忆串联起来,并将每次提交与其产生的会话关联起来。

核心思路

作者们把这个项目称为"面向编码代理的源代码管理"。概念很简单:如果自主代理在写代码,我们需要一个工具来追踪的不仅是文件变更,还有它们背后的推理链条。

Atlas 可以在不同的标签页中并行启动多个代理。例如,Claude Code 和 Codex 通过 ACP(Agent Client Protocol)作为外部子进程运行,而 Atlas 内置的代理则在自己的 Rust 框架 Cersei 上直接运行于进程中。

最有趣的部分发生在上下文层面。在你的提示词到达模型之前,Atlas 会围绕它组装一个统一的画面:

  • 注入共享代理记忆:当前计划、已做出的决策、错误,以及项目中任何其他模型创建的架构笔记。
  • 通过 @ 在本地解析文件、文件夹、函数、git 分支、笔记,甚至研究论文。
  • 附加前一个会话的结尾和事实摘要,即使上一个任务是由其他助手解决的。
  • 构建本地向量嵌入并通过 HNSW 搜索相关片段,无需将数据发送到第三方服务器。

结果:Claude 能看到 Codex 得出的结论,Codex 也能知道 Claude 的哪些测试刚刚失败了。

检查点和提交关联

通常情况下,代理完成工作后,git 中会出现一个提交,但一周后没人记得是哪个提示词生成了它。

Atlas 将会话保存到本地 SQLite 数据库的 .atlas/sessions.db 位置。程序从外部监控提交,而不是强行拦截它们。你可以通过标准终端、VS Code,甚至在 Atlas 关闭的情况下提交代码。应用程序会匹配补丁,并将提交关联到写出那段代码的代理会话。

由于 patch-id 验证,链接在正常的 git rebasegit commit --amend 过程中不会断开。如果你执行了 squash 并且链接变得模糊,Atlas 不会尝试猜测——它会诚实地将会话标记为已分离。

一个贴心的细节:在数据触及磁盘之前,所有密钥和令牌都会从日志中清除。

工作区内部

Atlas 不仅是一个后台守护进程,而是一个功能完整的桌面工作环境。底层技术栈是 Tauri、Rust,以及基于 Bun 和 TypeScript 的 Web 界面。

日常工作的所有需要都包含在内:

  1. 基于 CodeMirror 的代码编辑器,状态在重启后持久保存。
  2. 功能完整的 Git 客户端,包含可视化提交图、分支和 diff。
  3. 分块终端,每个执行的命令都会存储其输出、退出状态和耗时。全屏工具如 vim 和 htop 也能正常使用。
  4. 位于 .atlas/knowledge/ 文件夹中的知识库。这些是普通的 Markdown 文件,与代码一起进行版本控制。支持反向链接、链接图和 HTML 导出。
  5. 通过 arXiv 和 Semantic Scholar 搜索研究论文,支持应用内阅读 PDF,并通过 @ 将链接发送到提示词。
  6. 基于 WebKit 引擎的内置浏览器,支持登录和阅读模式。

所有项目文件都保持为磁盘上的普通文件。笔记是 Markdown,画布是 JSON,会话是 JSONL。如果你关闭程序,可以从容地在你喜欢的编辑器中继续工作,不会失去对数据的访问。

如何在本地运行项目

macOS 二进制文件可在官方网站和 GitHub releases 中作为 .dmg 下载。在 Linux 和 Windows 上可以从源码构建,不过开发者指出这些平台目前测试较少。

本地构建需要安装 Bun、稳定版 Rust,以及 Claude CLI 客户端(如果你计划使用 Anthropic 的代理)。

在 Ubuntu 或 Debian 上安装依赖:

sudo apt install -y libglib2.0-dev libgtk-3-dev libwebkit2gtk-4.1-dev

在开发模式下构建和运行:

git clone https://github.com/pacifio/atlas
cd atlas
bun install
bun run dev:app

初始 Rust 编译需要几分钟,但后续的增量构建在几秒内就能完成。

谁会发现 Atlas 有用

这个项目会吸引那些积极尝试多个 AI 助手、厌倦了在终端窗口之间手动复制上下文的开发者。

基础功能没有强制云订阅:一切都可以离线工作,数据库存储在项目目录中,代码不会泄露到任何地方。如果你在寻找一种方法来组织你与代理的工作流程,并保留他们决策的历史——无论是为你的团队还是为一个月后的自己——这个仓库绝对值得一看。

相关项目