源码放送01|3次翻车后才发现:AI最缺的不是模型.这套带导航层的系统规范,不去GitHub,直接复制拿走.[Hermes Genesis Drop 01]
不去GitHub,把这套带导航层的系统规范直接复制走
前三集讲完,我想先停一下。
不继续往 team-boss 讲。
也不急着讲子代理。
因为如果目录、规范和导航层没跑通,后面全是空中楼阁。
我自己就是从这里翻车的。
一开始,我以为 AI Agent 最缺的是模型能力。
后来才发现,它第一天最缺的东西很朴素:
知道文件放哪。
知道先读哪份。
知道哪份是事实,哪份只是展示。
所以第一次源码放送,我不放 GitHub。
原因也很简单。
国内访问不稳定。
小白看见 GitHub 链接,可能第一步就卡住。
这次就干一点。
把前三集用到的基础内容,直接贴出来。
你能复制就复制。
能改就改。
先让自己的 Hermes 有一张导航图。
先回看前三集
Hermes Genesis 01:刚下载 Hermes那天,我以为它会自己变聪明
Hermes Genesis 02:规范越写越多以后,我发现 AI 不是更聪明,而是更懵了
Hermes Genesis 03:后来我才明白,AI 最缺的不是答案,而是一张导航图
前三集,其实只做了一个动作:
把 AI 从“自己猜”,拉回“按入口找”。
下面就是最小可用版。
你要准备的目录
先在自己的机器上建二个层级。
mkdir-p~/knowledge/standardsmkdir-p~/projects/demo-project/docs
这三个目录,对应前三集讲的三层:
|
|
|
|---|---|
~/.hermes/ |
|
~/knowledge/ |
|
~/projects/ |
|
不要一开始就追求完整。
先跑最小版本。
第一份:把导航层放进配置文件
这段是核心。
放到 ~/.hermes/config.yaml 里的 agent.system_prompt。
如果你已有自己的配置,不要整份覆盖。
只把 system_prompt 这段合并进去。
agent:system_prompt:|你是一个技术型 AI 助手。回答前必须先确认事实源,不要编造当前状态。知识库总入口:~/knowledge/README.md查找顺序:1. 先读 ~/knowledge/README.md2. 进入现行规范时,优先读 ~/knowledge/standards/01-terminology.md3. 再读 ~/knowledge/standards/02-structure.md 确定目录职责4. 涉及项目当前状态时,优先读 ~/projects/registry.yaml 与项目 STATE.md、docs/progress.md类型分流:- 通用规范 -> ~/knowledge/standards/- 团队记忆 -> ~/knowledge/teams/- 项目事实 -> ~/projects/registry.yaml + 项目 STATE.md + docs/progress.md核心规则:- README 是导航层,不是动态事实源- 飞书文档、网页、Dashboard 是展示层,不反向覆盖事实层- 历史报告、历史规范、历史快照只用于追溯,不直接作为当前裁决依据- 发现入口文档与事实层冲突时,先纠偏入口,再继续执行
这段不要写太长。
它不是仓库。
它是导航。
真正的规范内容,放到后面的文件里。
第二份:知识库总入口
文件路径:
~/knowledge/README.md
内容如下:
# 知识库总入口定位:导航入口,不是项目实时状态源,也不是团队运行态真值源。## 查找顺序1. 通用规范-位置:~/knowledge/standards/-用途:术语、目录结构、项目规则、命名规则、事实源规则、上下文注入规则2. 团队经验-位置:~/knowledge/teams/-用途:团队经验、案例、协作方式-注意:团队目录不是项目实时状态源3. 项目事实-位置:~/projects/-优先顺序:-~/projects/registry.yaml-~/projects/<project>/STATE.md-~/projects/<project>/docs/progress.md## 快速索引| 我想知道 | 去哪里找 ||---|---|| 有哪些现行规范 | ~/knowledge/standards/ || 术语和事实源定义 | ~/knowledge/standards/01-terminology.md || 目录该放什么 | ~/knowledge/standards/02-structure.md || 有哪些项目 | ~/projects/registry.yaml || 项目当前状态 | ~/projects/<project>/STATE.md || 项目详细进度 | ~/projects/<project>/docs/progress.md |## 核心规则-README 只负责指路-当前事实必须回到事实层确认-展示层不能反向覆盖事实层-历史材料只能追溯,不能直接裁决当前状态
第三份:术语表最小版
文件路径:
~/knowledge/standards/01-terminology.md
内容如下:
# 术语表与事实源定义## 目的统一 AI 在系统里使用的核心术语,避免同一个概念出现多种叫法。## 三层定义### 事实层定义:当前真实状态与当前规则的直接依据。包括:-~/projects/registry.yaml-~/projects/<project>/STATE.md-~/projects/<project>/docs/progress.md-~/knowledge/standards/*.md规则:-回答当前状态时,优先读取事实层-展示层与历史材料不得反向覆盖事实层### 导航层定义:只负责指路,不直接承担动态事实。包括:-~/knowledge/README.md-项目 README.md规则:-README 可以总结,但不能长期维护动态状态-发现 README 与事实层冲突,先以事实层为准,再修 README### 展示层定义:由事实层渲染出来,方便人看,但不是最终裁决源。包括:-飞书文档-Dashboard 页面-微信文章-各类同步产物规则:-展示层只作展示-不允许把展示层当主事实源## 历史材料历史报告、历史规范、历史快照只能用于追溯问题来源。它们不能直接作为当前判断依据。## 冲突处理当多个文件冲突时:1. 先找事实层2. 再看导航层是否需要纠偏3. 最后更新展示层
第四份:目录结构规范最小版
文件路径:
~/knowledge/standards/02-structure.md
内容如下:
# 目录结构规范## 目的本规范只回答三个问题:1. 文件应该放在哪里2. 每层目录负责什么3. AI 遇到任务时应该先去哪里找## 三层目录### 系统层:~/.hermes/用途:Hermes 自身配置、技能、记忆、日志、运行数据。规则:-允许读取配置与技能-不根据猜测删除系统文件-清理系统文件前必须确认范围### 知识层:~/knowledge/用途:现行规范、团队经验、历史报告、历史规范。结构:-~/knowledge/README.md:导航入口-~/knowledge/standards/:现行规范-~/knowledge/teams/:团队经验-~/knowledge/archive/:历史材料规则:-现行规范放 standards-团队经验放 teams-历史材料放 archive-README 只负责指路### 项目层:~/projects/用途:每个正式项目的代码、状态、进度、数据与项目文档。最小结构:-README.md-STATE.md-docs/progress.md-src/ 或 frontend/ backend/-data/(按需)规则:-正式项目统一放在 ~/projects/-项目当前事实优先看项目目录-判断有哪些项目,先看 ~/projects/registry.yaml## 禁止事项-不把历史报告目录当现行规范目录-不把团队记忆目录当项目状态目录-不把 README 当实时数据库-不把展示层反向当事实层
第五份:项目清单
文件路径:
~/projects/registry.yaml
内容如下:
version:1last_updated:'2026-04-24'source_of_truth:local-project-filesprojects:-id:demo-projectname:示例项目path:~/projects/demo-projectstate_file:~/projects/demo-project/STATE.mdprogress_file:~/projects/demo-project/docs/progress.mdstatus_summary:初始化中priority:1owner:自己feishu_doc:''policies:readme_role:navigation-onlyregistry_role:canonical-project-indexstate_files_role:per-project-current-truth
这个文件只做索引。
不要把每个项目的全部细节都塞进来。
它回答的是:有哪些项目,入口在哪。
第六份:项目状态 STATE.md
文件路径:
~/projects/demo-project/STATE.md
内容如下:
# 示例项目**项目**: demo-project**团队**: 个人**负责人**: 自己**状态**: 初始化中**进度**: 0%**最后更新**: 2026-04-24**端口**: -**创建日期**: 2026-04-24**飞书文档**: -**技术栈**: 待定**交付日期**: 待定**当前任务**:建立项目状态文件,让 AI 能通过固定字段判断当前项目状态。
STATE.md 不要写成散文。
它是项目身份证。
字段稳定,比文采重要。
第七份:项目进度 progress.md
文件路径:
~/projects/demo-project/docs/progress.md
内容如下:
# 示例项目进度文档## 项目概览-项目:demo-project-当前阶段:初始化-更新时间:2026-04-24## 功能介绍待补充。## 项目背景待补充。## 团队分工-负责人:自己## 交付物-STATE.md-docs/progress.md## 时间轴-2026-04-24:创建项目骨架## 当前进度-已完成:项目目录初始化-进行中:补齐项目事实文件-待完成:业务功能开发## 技术栈待定。## 风险问题-当前只有项目骨架,还没有真实业务代码## 变更记录-2026-04-24:初始化 progress.md
progress.md 比 STATE.md 更详细。
但也别写成流水账。
它解决的是:项目走到哪了,下一步是什么,有什么风险。
最小验证方式
复制完以后,开一个新会话,直接问 AI:
请按我的知识库导航规则,说明 demo-project 当前状态。回答前先列出你会读取哪些文件。
你想看到的,不是它直接编一个答案。
而是它先说:
我会先读取 ~/knowledge/README.md,确认查找顺序;再读取 ~/projects/registry.yaml,确认 demo-project 的入口;最后读取 ~/projects/demo-project/STATE.md 和 docs/progress.md 判断当前状态。
如果它能这么走,说明导航层开始起作用了。
如果它直接瞎编项目进度,说明配置里的导航还没真正进入新会话。
这次为什么只放基础版
因为前三集只讲了基础层。
目录。
规范。
导航。
所以第一次源码放送,也只给这三件事。
不提前放 team-boss。
不提前放角色档案。
不提前放团队注册表。
那些东西后面会讲。
现在先把地基弄稳。
我自己踩过最大的坑,就是太早追求“像一个完整系统”。
结果地基没打牢,上面越搭越歪。
这次反过来。
先让 AI 知道去哪找。
再让它知道怎么分工。
但,一个会话干不了所有事。
下一集开始,故事会进入第二阶段。
于是,子代理和 team-boss 出场。
📢 欢迎关注「麦尖AI」微信公众号
一个教育从业者的 AI 实战记录。不写教程,只分享真实折腾经历。
如果你觉得这篇文章有用,欢迎转发。你的转发,是我继续折腾的最大动力。
夜雨聆风