Beads——给coding agent装一个不漂移的记忆
Coding agent都有一个老毛病:会议session一断,记忆就没了;任务之间的依赖关系,它根本不记得。过去的标准做法是堆一堆markdown plan,agent改来改去,最后plan和代码根本对不上。Steve Yegge的gastownhall做的Beads换了一个思路:agent的记忆不是一堵文字墙,是一个有版本的图数据库。
它是一个面向coding agent的分布式graph issue tracker。v1.0.3刚在4月24号发,21.6k stars,GitHub Trending一天涨133颗星。底层是Dolt——一个带git语义的SQL数据库——所以issue、依赖、hash、历史,都活在一个能分支能merge的地方。每个任务用hash当ID,两个agent并行跑也不会撞车。关闭的任务会语义衰减,老context自己会压缩。输出全都是JSON,agent不用浪费token去parse markdown。
它背后的判断是:long-horizon agent活,本质是个依赖管理问题,不是记忆召回问题。你不需要fancy的embedding,你需要知道task 17卡着task 23、task 23是哪个commit关掉的、上周挂掉的test和这周挂掉的是不是同一个。Yegge的论点很硬:agent应该像真正的工程师一样,先在白板上画DAG,再开始敲代码。
对任何在生产环境跑coding agent的团队,这是目前替代markdown plan最有说服力的方案。同时也说明agent的记忆栈在分层:vector memory做模糊检索、graph memory做结构化state、文件做原始context。Beads押的是中间那一层。Repo在github.com/gastownhall/beads。
← 返回所有文章
它是一个面向coding agent的分布式graph issue tracker。v1.0.3刚在4月24号发,21.6k stars,GitHub Trending一天涨133颗星。底层是Dolt——一个带git语义的SQL数据库——所以issue、依赖、hash、历史,都活在一个能分支能merge的地方。每个任务用hash当ID,两个agent并行跑也不会撞车。关闭的任务会语义衰减,老context自己会压缩。输出全都是JSON,agent不用浪费token去parse markdown。
它背后的判断是:long-horizon agent活,本质是个依赖管理问题,不是记忆召回问题。你不需要fancy的embedding,你需要知道task 17卡着task 23、task 23是哪个commit关掉的、上周挂掉的test和这周挂掉的是不是同一个。Yegge的论点很硬:agent应该像真正的工程师一样,先在白板上画DAG,再开始敲代码。
对任何在生产环境跑coding agent的团队,这是目前替代markdown plan最有说服力的方案。同时也说明agent的记忆栈在分层:vector memory做模糊检索、graph memory做结构化state、文件做原始context。Beads押的是中间那一层。Repo在github.com/gastownhall/beads。
评论