乐于分享
好东西不私藏

你的 AI 助手每天都在失忆!这个项目能治好它

你的 AI 助手每天都在失忆!这个项目能治好它

上周我用 Claude Code 重构一个模块,跟它来回聊了快两个小时,需求理清了,任务拆了 8 个,代码写了一半。

然后浏览器崩了。

重新打开对话窗口,它说:

“您好!有什么可以帮您的?”

两个小时,白聊了。

我盯着屏幕愣了几秒,只能重新把需求说一遍,任务重新拆一遍,上下文重新讲一遍。

这种崩溃,用过 AI 编程工具的人应该都经历过。

最近 GitHub 上有个叫 Beads 的项目火了。前 Google/Amazon 大佬 Steve Yegge 用 Claude 写了 6 天做出来的,现在已经成了 AI 编码代理圈子里的热门话题。

有人说是”AI Agent 的终极记忆方案”,有人说是”过度设计的玩具”。

我花了一天时间扒了它的源码,结论是:两个都没说错,但都说漏了最关键的东西。


一、三个痛点,看看你中了几个

痛点一:会话断了,一切重来

你跟 Agent 聊了 50 轮,终于把需求理清楚了,任务也拆好了。

突然网络断了,或者浏览器崩溃了。

重新打开对话窗口,Agent:”您好!请问有什么可以帮您?”

50 轮对话白聊了。它什么都不记得。

痛点二:任务太多太长,上下文爆了

一个重构项目拆了 20 个任务,每个任务都有描述、设计说明、验收标准。

Agent 每次开始新任务前,都要重新读一遍所有历史。

读着读着,上下文窗口满了。后面的任务根本塞不进去。

要么手动删历史记录,要么开新会话重新开始。

痛点三:多 Agent 协作,各干各的

你开了两个 Agent 同时干活。

Agent A 在改登录接口,Agent B 也在改登录接口。

它们不知道对方的存在,直到代码合并时冲突爆炸。

Agent A ──改登录接口──┐                      ├──→ 💥 合并冲突Agent B ──改登录接口──┘  (互不知道对方存在)

这些不是小问题,这是 AI Agent 落地最大的障碍。

Beads 想解决的就是这个问题 —— 给 AI Agent 一个持久化的、结构化的记忆系统

即使会话断了、开新窗口、换 Agent,记忆都不会丢。


二、它是怎么工作的?

架构很简单:

三层结构:Agent 调命令 → CLI 执行 → 数据库存储。

你用 bd create 创建任务、bd ready 查看可执行的任务、bd close 完成任务,这些命令最终都变成了数据库里的写入操作。

而且每个操作都会自动记录:谁在什么时候创建了什么任务、改了什么状态、建立了什么依赖关系。全都有历史可查。

搞清楚它是怎么工作的之后,我们再来看它最核心的部分 —— 设计理念


三、它的设计思路

大多数任务管理器的逻辑是:你创建一个任务,填标题、描述、截止日期,然后关掉它。

Beads 的思路完全不一样:它把任务变成了一张关系网。

设计理念一:任务是有依赖关系的

现实中的工作从来不是孤立的。

“登录接口没写完,前端页面没法测。” “数据库迁移没完成,后端接口写不了。”

Beads 把这种关系直接存下来:

bd dep add 前端页面 登录接口   # 前端 依赖 登录接口bd dep add 后端接口 数据库迁移  # 后端 依赖 数据库迁移

依赖关系:

然后你只需要跑一个命令:

bd ready→ 登录接口 (ready)→ 数据库迁移 (ready)

它自动帮你算出来:哪些任务现在可以做,哪些还在等别人。 你不需要自己去记”现在该干嘛了”。

设计理念二:任务是有层级的

一个大需求拆出来的任务,不应该散落在列表里。Beads 用层级 ID 把它们组织起来:

bd-a3f8 ← Epic:重构用户模块├── bd-a3f8.1 ← 实现登录接口├── bd-a3f8.2 ← 实现注册接口└── bd-a3f8.3 ← 数据库迁移

光看 ID 就知道谁属于谁。 不需要额外的标签、分类、文件夹。

设计理念三:边讨论边记录,不等

这是我扒源码时最大的收获。

大多数工具的逻辑是:先开会讨论 → 讨论完了录入系统 → 再分配执行。

Beads 的逻辑是:讨论中随时创建,不打断对话流。

你:我想加个登录功能AI(边聊边拆):$ bd q "实现登录功能" -t epic→ bd-a1b2需求建好了,JWT 还是 Session?你:JWTAI(继续拆):$ bd create "实现登录接口" -p 2 --parent bd-a1b2→ bd-a1b2.1好,我先做这个...

bd q 这个命令很关键 —— 它只输出一个 ID,不啰嗦。AI 拿到 ID 继续用,完全不中断对话。

这个设计解决了 AI 最常见的一个问题:讨论完就忘了。

等聊完再录入?AI 可能已经忘了最初拆了什么。边讨论边记录,就不会丢。

设计理念四:记忆会”遗忘”

AI 的上下文窗口有限。100 个已完成任务 × 2KB ≈ 50K tokens,光读历史就占了大半个窗口。

Beads 的做法很有意思:主动压缩旧任务。

压缩后只保留 ID 和标题,节省 90% 空间。原文呢?版本历史里还能找回来。

这其实模拟了人类的”遗忘”机制 —— 不是真忘,是想起来的时候能想起来,但平时不占脑子。


四、怎么安装使用?

安装

curl -fsSL https://raw.githubusercontent.com/gastownhall/beads/main/scripts/install.sh | bash

或者 brew install beads(macOS)。

初始化

cd your-projectbd initecho"Use 'bd' for task tracking" >> AGENTS.md

三行搞定。之后你的 AI 助手就会自动用 bd 来管理任务。

基本使用

# 创建需求bd create "实现用户认证" -t epic -p 1# 拆子任务bd create "实现登录接口" -p 2 --parent bd-a1b2# 查看可以做的任务(无阻塞的)bd ready→ bd-a1b2.1 实现登录接口 (ready)# 认领 + 完成bd update bd-a1b2.1 --claimbd close bd-a1b2.1 "完成"

五、但它真的适合你吗?

第一次看到 Beads,很多人的反应是:”这不就是个命令行版的 Jira 吗?”

如果你只看到这里,你就错过了它的精妙之处。

但反过来,如果你只是一个人用一个 Agent,你大概率用不上它。

让我问你四个问题:

问题
如果答案是”不需要”
你有超过 1 个 Agent 同时工作吗?
不需要并发写入保护
你需要追溯”谁什么时候改了什么”吗?
不需要版本历史
你的团队需要在不同仓库间同步任务吗?
不需要 push/pull
你的任务需要分支和合并吗?
不需要 Dolt 的分支能力

四个都是”不需要”?那 Beads 对你就是杀鸡用牛刀。

一个 TODO.md 或者 SQLite 就够了。


六、结论

Beads 是好项目,但不是给所有人用的。

适合
不适合
团队 3-5 人 + 多 Agent
一个人用一个 Agent
开源项目多人协作
任务做完不需要回溯
需要审计合规的企业
不需要多 Agent 冲突解决

AI 工具正在从”对话式交互”走向”持久化协作”。

但它代表了一个趋势:

AI 工具正在从”对话式交互”走向”持久化协作”。

Agent 不再是用完就丢的聊天机器人,而是有记忆的同事。

这个趋势,值得关注。