代码改了,文档却没更新?LangChain开源OpenWiki,让Agent自动维护项目知识库软件项目里有一种文档,大家都知道它重要,却很少有人愿意长期维护。那就是项目 Wiki。新成员加入时,需要它;线上出问题时,需要它;Agent 接手复杂任务时,更需要它。可真实情况通常是:代码已经迭代了十个版本,文档还停留在半年前。最后大家只能重新读代码、问老同事,或者让 AI 临时搜索一遍。LangChain 开源的 OpenWiki,想把“写一次文档”变成“持续维护知识”。它是一款面向 Agent 的 CLI,可以读取 Git 仓库和本地知识源,生成项目 Wiki,并根据后续代码变化持续更新。为什么传统项目文档总会过期?不是团队不重视文档,而是维护机制天然有问题。代码变更有明确入口:Pull Request、Commit、CI。文档更新却往往依赖开发者记得补充。功能赶时间时,文档最容易被放到最后;需求再次变化时,旧文档也不会自动提醒你哪里已经失效。因此,传统文档系统通常存在三个断点:OpenWiki 的核心价值,就是把文档维护重新接回 Git 变化链路。OpenWiki不只是自动生成README按照官方介绍,OpenWiki 可以为代码库或特定用途的记忆生成并维护本地 Wiki。它可以读取 Git 仓库,也可以通过连接器摄取本地知识源,然后把这些信息综合为结构化文档。这和“一键生成 README”有本质区别。README 通常回答的是:项目是什么;怎么安装;怎么运行。而一个真正供 Agent 和开发者使用的 Wiki,还需要覆盖:系统架构;模块职责;数据流;关键接口;部署方式;常见问题;设计决策;代码与文档之间的引用关系。OpenWiki 的目标不是生成一篇介绍,而是构建一套可以继续维护的项目知识空间。最关键的能力:根据代码差异增量更新第一次生成文档并不难,真正困难的是保持更新。OpenWiki 官方博客介绍,它可以结合 GitHub Action 定时运行。更新时,不必每次重新理解整个仓库,而是检查上次运行之后新增的 Commit,通过 Git Diff 判断哪些内容发生了变化,再更新相关 Wiki。这带来两个直接好处。第一,成本更可控。大型项目每次全量扫描既慢又贵,增量更新更适合持续运行。第二,文档和代码变化建立了对应关系。当接口、目录或关键实现发生变化时,系统有机会定位受影响的页面,而不是把整个 Wiki 重写一遍。这让文档维护更接近软件工程,而不是一次性的内容生成。OpenWiki为什么对Agent特别重要?很多人认为文档主要服务人类。但在 Agent 系统里,文档还是一种高价值的上下文压缩层。让 Agent 每次都直接阅读全部代码,成本高、速度慢,也容易遗漏全局关系。好的项目 Wiki 可以把稳定知识提前整理出来:模块边界是什么;哪些目录不能随意修改;数据从哪里进入、经过哪些处理;项目约定和历史决策是什么;哪些操作有安全风险。代码回答“现在怎么实现”,Wiki 回答“为什么这样实现,以及应该如何修改”。对于长任务 Agent,这两种信息缺一不可。四个值得落地的场景1. 新成员快速理解项目入职第一周最耗时间的,不是写代码,而是建立整体认知。如果 Wiki 能自动整理架构、关键模块和调用关系,新成员可以先获得全景,再深入具体代码。2. 给Coding Agent提供稳定记忆Agent 每次执行任务前,先读取与任务相关的 Wiki 页面,再查看具体代码,可以减少重复探索。这相当于给 Agent 建立一套“项目说明书”。3. 沉淀架构决策很多重要决策只存在于会议和聊天记录里。如果把设计文档、技术方案和代码仓库共同纳入知识源,Wiki 可以帮助 Agent 理解“为什么不能简单改成另一种实现”。4. 构建内部知识型AgentOpenWiki 不只可以处理代码库,也可以面向特定用途的记忆。例如,把运维手册、产品规则、数据口径和项目文档整理成一个本地 Wiki,再交给内部 Agent 使用。它不能替代什么?自动文档工具最容易产生一种错觉:只要生成得够完整,就不需要人工维护了。实际上,至少三类内容仍需要人来负责。第一,业务意图。代码能反映实现,却不一定能解释业务为什么这样设计。第二,关键决策与权衡。为什么放弃某个方案、为什么接受某个风险,通常不在代码里。第三,文档准确性责任。Agent 生成的内容可能完整但错误,关键系统仍需要负责人审核。更合理的模式不是“AI替代写文档”,而是:AI负责发现变化、生成初稿和维护引用,人类负责确认关键事实与决策。从知识库到“可维护的Agent上下文”过去很多企业做知识库,重点是把资料收集起来。但资料越多,不代表 Agent 越懂业务。真正有效的知识系统,需要同时满足:内容有结构;与源文件有对应关系;能持续更新;能追踪变化;能被 Agent 按需检索;能明确哪些内容已经过期。OpenWiki 值得关注,不是因为它又生成了一套文档。而是因为它把“Agent需要的上下文”当作一个需要持续维护的软件资产。当代码、文档和 Agent 记忆进入同一条更新链路,AI 才不必每次从零开始理解项目。