Beads:为 AI 编码 Agent 管理持久任务与依赖
介绍 Beads 的结构化任务、Dolt 存储和 bd 命令,说明跨会话恢复、依赖与同步的实际条件。
直接回答:Beads 使用结构化任务与依赖图辅助跨会话工作。当前官方实现使用 Dolt 版本化数据库,Git 集成可选,并不是把全部任务自动随代码 Git 提交同步。
上下文窗口之痛
AI Agent 的工作记忆=上下文窗口:你的 Prompt、对话历史、塞进去的文件。典型工作流的窘境:
- 长对话后窗口塞满,要么截断丢信息,要么开新会话
- 如果未恢复会话或检索持久记录,新会话可能无法准确知道上次进度
TASKS.md 为什么不够
Markdown 可以写状态与依赖,并非 Agent 读不懂;但规模增加后,结构化查询、冲突处理与状态一致性更难维护。Beads 提供显式数据模型与查询,是否采用取决于协作复杂度。
Beads 的做法
任务有标题、状态、优先级和依赖,可通过 bd 查询与更新。当前存储及远程同步基于 Dolt,需单独配置与备份。
bd init
bd create "实现用户认证" -p 1
bd create "写认证测试" -p 1
# 将输出的真实ID分别填入,child依赖parent
bd dep add <测试任务ID> <认证任务ID>
bd ready --json
尖括号内容是待替换参数,不可原样执行。
开发工作流
- 会话开始:Agent 先跑
bd ready拿到当前可执行任务 - 干活过程中:完成一项就更新状态,发现新工作随时
create - 会话结束:确认数据库已保存并按需要同步,下次会话重新查询
进阶能力与定位
Beads 支持更复杂的编排:多级依赖图、任务拆分、并行工作流协调。与"规格驱动开发"(先写详细 spec 再让 AI 实现)相比,Beads 更轻量——不强迫完整规格,只保证状态与依赖可追溯,适合快速迭代的 AI 协作开发。
常见问题(FAQ)
Q:和 GitHub Issues 有什么区别?
A:GitHub Issues 服务人类协作(讨论、通知、看板);Beads 服务 Agent 消费——结构化、可命令行查询、依赖配置好的本地 Dolt 存储;远程同步另行配置。两者可以并存:Beads 管 Agent 的工作记忆,GitHub Issues 管人的协作。
Q:Agent 真的会主动用它吗?
A:需要在 Agent 的项目指令里约定工作流("开始先 bd ready,完成即更新状态")。约定仍可能被遗漏,应检查任务状态与实际测试结果。
Q:多人 + AI 混合团队适用吗?
A:这正是它的设计场景:人和 Agent 都可查询结构化任务与变更,但代码提交、任务完成与测试通过是不同事实,应分别记录并核对。
参考资料
资料核对日期:2026 年 9 月 29 日。本文基于公开文档整理,代码片段和评估方案未作独立运行或性能验证;厂商测试结果已注明来源。