← 返回首页

agents-book:给 AI 一份读懂你代码库的地图

AI 编程助手有一个根本性的局限:它不了解你的项目

每次开启一个新的对话,你都要重新"喂信息"——这个模块是干什么的、那个字段有什么特殊含义、修改这里会不会触发缓存失效……这些隐性知识散落在代码、注释、会议记录、工程师的大脑里,AI 根本没有途径获取。

agents-book 做的事情,就是把这些隐性知识显性化,生成一套 AI 可以直接阅读的 AGENTS.md 文档体系。

AGENTS.md 是什么

如果说 README.md 是写给人类新成员的项目介绍,那么 AGENTS.md 就是专门为 AI Agent 设计的导航手册。

它的设计目标只有一个:让 Agent 在不读完所有源码的前提下,就能建立起对项目的心智模型——知道要改哪里,知道改了会影响什么,知道有哪些潜在风险。

这不是"解释代码",而是"传递工程知识"。两者的区别在于:

  • 解释代码:告诉 AI 这段代码在做什么
  • 传递工程知识:告诉 AI 为什么这样设计、能不能改、改了会怎样

三个阶段生成完整文档体系

阶段一:全景侦察

agents-book 首先扫描整个代码库,建立目录清单,区分三类目录:

  • 业务模块:承载具体功能的目录(features/、domain/、service/)
  • 基础设施层:通用能力目录(utils/、common/、infra/)
  • 配置与脚本:CI/CD、迁移脚本、自动化工具

这一步是"结构认知",不是"业务理解"。目的是搞清楚项目的骨架,为后续的文档生成打基础。

阶段二:根目录 AGENTS.md

根目录的 AGENTS.md 是整个文档体系的"地图索引",包含四个核心部分:

  1. 系统概述:项目解决什么问题、核心业务边界、主要技术栈
  2. 目录导航:每个目录的职责和注意事项,附带子目录 AGENTS.md 的链接
  3. 核心业务场景索引:5-20 个真实存在的核心场景,精确到代码入口:
    - **用户注册**
      - 入口: UserController.register
      - 核心逻辑: UserService.createUser
      - 副作用: EmailProducer.sendWelcome
  4. 全局设计约束:事务规则、缓存策略、异步消息原则,以及明确禁止的操作(比如"禁止跨模块直接查 DB")

阶段三:递归子目录文档

这是工作量最大的部分。agents-book 从根目录向下递归,为每一个有业务逻辑的目录生成对应的 AGENTS.md

针对不同类型的目录,使用不同的文档模板:

目录类型 适用模板 核心内容
业务模块 模板 A 核心工作流、副作用(Redis key、Kafka topic)、修改入口、风险点
基础设施/工具层 模板 B 组件定位、使用约束、常见误用、调用示例

只有文件数少于 3 个且无业务逻辑的空目录才会被跳过,其余一律覆盖。

文档质量的关键:真实性

agents-book 最强调的一点是文档必须基于真实代码,而不是模板化的套话。它明确禁止以下反模式:

  • ❌ 用模糊表达代替具体类名("处理相关逻辑的服务")
  • ❌ 只描述"目录职责"而不给出代码结构
  • ❌ 回避副作用(缓存、异步、幂等、补偿机制)
  • ❌ 生成看起来正确但无法指导修改的文档

一份合格的业务模块文档,要包含至少 5 个真实的类/方法引用,并且能回答两个问题:

"做这个需求,我从哪里开始改?"
"改了这里,还有哪里会受影响?"

生成后的效果

一个完整的 AGENTS.md 文档体系生成后,你的项目会多出一套这样的结构:

project/
├── AGENTS.md              ← 全局地图
├── src/
│   ├── AGENTS.md          ← 源码层概览
│   ├── user/
│   │   └── AGENTS.md      ← 用户模块:工作流、副作用、风险
│   ├── order/
│   │   └── AGENTS.md      ← 订单模块:...
│   └── common/
│       └── AGENTS.md      ← 公共层:使用约束、禁止误用
└── migrations/
    └── AGENTS.md          ← 数据库迁移:风险提示

每个文件都是独立可读的——AI 不需要通读整个体系,只需要找到相关目录的 AGENTS.md,就能理解上下文,开始工作。

💡 最佳使用时机

在项目新成员入职时、在引入 AI 辅助开发工具时、在项目架构进行较大调整后,运行一次 agents-book 重新生成文档。把 AGENTS.md 和代码一起提交到版本库,让它随代码演进。

⚠️ 注意

AGENTS.md 文档体系的质量取决于代码本身的结构清晰程度。如果模块边界模糊、职责混杂,文档也无法掩盖这些问题——但至少能让它们变得可见。

如何使用

在 Claude Code 中,针对你的项目启动 agents-book:

我想为这个项目生成 AGENTS.md 文档体系,请使用 agents-book skill

skill 会引导你确认项目路径,然后自动完成三个阶段的文档生成。整个过程无需人工干预,只在需要确认跳过某些目录时才会停下来问你。

与 /myGod 的组合使用

agents-book 生成的 AGENTS.md 是 /myGod skill 的重要输入。当 my-god 的架构 Agent 在设计方案时,它会读取 AGENTS.md 来理解现有的模块边界和设计约束;开发 Agent 在写代码时,会参考各目录的 AGENTS.md 来了解接口规范和注意事项。

两个 skill 配合使用,能让整个 AI 辅助开发流程的质量上一个台阶:agents-book 负责"让 AI 读懂项目",my-god 负责"让 AI 交付功能"。

agents-book
Claude Code Skill · SKILL.md + scripts/

解压后将 agents-book/ 目录放入 ~/.claude/skills/,重启 Claude Code 即可使用。

小结

agents-book 解决的是 AI 辅助开发中最基础的问题:上下文缺失。它不是一个花哨的工具,而是一个把隐性工程知识系统性显性化的文档工程 skill。

如果你发现自己在每次跟 AI 协作时都要反复解释"我们的项目是这样的……",那么 agents-book 就是你需要的那个一次性投入、长期受益的解决方案。