我上个月同时用了四个AI编程工具。Claude Code写后端逻辑,Cursor改前端组件,Codex跑批处理脚本,OpenCode做代码审查。同一个项目,每次切工具都得重新交代一遍“这个项目的auth模块有个竞态条件修过一次”“数据库schema用了expand/contract模式”“测试跑之前要先启动docker-compose”。一件事说了四遍,第四遍的时候我就在想——有没有办法让这些Agent共享一份项目记忆?
然后我在Hacker News上看到了Stele。

Stele做的事情一句话就能说清楚:给你的AI编程助手装一个共享知识图谱。它不是又一个文档工具,不是让你手写markdown存到repo里。它是一个活的记录——Agent在干活的过程中自动读、自动写。你不需要刻意维护,Agent会自己往里面记东西:这个决策为什么这样定、那个bug踩过一次不能重犯、当前有哪些任务在进行中。
技术实现上,Stele的核心是一个图结构的知识库。节点有四种类型:“知道的事”(KNOW)、“任务”(TASK)、“文档”(DOC)、“组件”(COMP)。节点之间可以有边连着:一个决策(KNOW)可以关联到触发它的任务(TASK)和涉及的组件(COMP)。Agent在每次回答之前会“走一遍图”,把当前对话相关的上下文拉出来——不是塞一堆无关信息,而是精确召回。

我最喜欢的一个功能是“风险拦截”。官网给了一个例子很真实:你说“这个锁看起来没必要,我把它删了”。Stele会跳出来说:“等等,这个锁来自TASK-91,是在auth重构时加上的。删掉它会重新引入KNOW-118标记的竞态条件,这个条件之前上过生产环境。要不要保留这个守卫,我把周围的逻辑简化一下?”
这不只是“记笔记”。这是把项目的血泪教训编码成了Agent能自动消费的格式。你换了个新的Claude Code会话,或者让Cursor接手Claude写到一半的功能,新来的Agent知道之前踩过什么坑。
还有一个设计我很认可:任务认领是原子的。多个Agent同时工作时,不会出现两个Agent抢同一个任务的情况——谁先claim到就是谁的。这解决了AI编程Agent协作里一个很实际的痛点:你同时开了两个窗口让Agent干活,它俩可能同时改同一个文件然后互相覆盖。

安装方式也简单。拿到邀请码之后(目前是邀请制beta),一行命令装CLI:curl -fsSL https://app.stele-ai.dev/install.sh | bash,然后登录。在Agent里跑一次 /stele:start 就行了。之后Agent会自动读写Stele的记录。
兼容性方面,Stele支持Claude Code、Cursor、Codex、Antigravity、Copilot、OpenCode、Grok Build、Kimi Code CLI,以及任何MCP兼容的客户端。你可以在Claude Code里做计划,切到Cursor去写代码,再切到OpenCode跑代码审查。三个工具读的是同一份项目记忆。
不过话说回来,Stele目前有三个限制需要注意。第一,它是托管服务,数据在云端(虽然官方承诺私有化、不用于训练、可随时导出/删除)。第二,邀请制beta意味着你现在大概率拿不到邀请码——只能先排队。第三,它不是免费的,beta期间免费,正式版会收费。但官方也说了,会出一个基于SQLite的自托管版本,到时候可以自己部署。
跟Notion、Obsidian、GitHub Wiki这些方案比,Stele最大的区别是“Agent优先”。你在Notion里写的笔记Agent不会自动读;repo里的markdown文件Agent也不会在每次回答前翻阅。Stele是专门设计给Agent做上下文消费的:格式是结构化的图,Agent能直接理解节点之间的关系,知道什么信息跟当前任务相关。
我觉得Stele解决了一个AI编程正在快速逼近的瓶颈:不是模型能力不够,是上下文管理太原始。现在你用AI编程,每次新会话就是一个失忆的新人。项目越大、Agent用得越多,这个矛盾越尖锐。Stele的思路是对的——给Agent一个活的、自动更新的项目记忆,而不是指望人类手写README来弥补。

—— 老田
夜雨聆风