Identity · 身份层 · AI 第一个读到的文件
它回答的问题:你是谁?哪些规则你希望 AI 每次跟你说话都强制执行? 它在哪:
CLAUDE.md/AGENTS.md/~/.config/opencode/AGENTS.md/.github/copilot-instructions.md/aaronjmars/soul.md它读取的时机:在你输入任何问题之前、在记忆之前 — 最先读的文件。
原文金句
★ 「This is the file that your tool reads first. So it will read it before any question you type and before memory.」 「这是你的工具最先读取的文件。它会在你输入任何问题之前、在记忆之前最先被读到。」 (#120-122,
00:08:19,120 → 00:08:30,886)
它在解决什么真问题
如果你从来没主动写过 Identity 文件,你的 AI 工具其实不是「不认识你」,而是用它沿途东拼西凑随机攒到的东西在认识你(#127)。
这意味着:
- 你跟它说「直接点」,下一次会话它又开始「关于您提到的这个问题,我们可以从以下几个角度来看……」
- 你说「不要奉承我」,它道完歉之后下一段又来一句「这是个非常好的问题!」
- 你某天明明说过「永远不要在没给我看草稿之前发邮件」,但你今天问它的不是邮件,所以它根本不会想起这条规则
Identity 文件的作用,是把这些「我希望它每一次都遵守」的规则从对话里抽出来,锁进一个文件,让工具替你强制执行。
「你只需要写一次,然后让它永远生效——确切地说,是工具替你执行。」 (#132)
落点:每款工具的 Identity 文件叫什么(2026-05 现状)
视频里把这一点讲得很轻巧, 但其实实测有重要修正。 我交叉核对完官方文档后整理如下:
| 工具 | Identity 文件路径 | 备注 |
|---|---|---|
| Claude Code | ./CLAUDE.md(项目)~/.claude/CLAUDE.md(用户) | 仅原生发现 CLAUDE.md;读 AGENTS.md 需要 @AGENTS.md 显式 import |
| Cursor | ./AGENTS.md 或 .cursor/rules/*.mdc | 两种都支持。MDC 可加 globs: 做路径范围 |
| OpenCode(sst/opencode, 157K stars) | ./AGENTS.md + ~/.config/opencode/AGENTS.md | 两条 fallback:项目无 AGENTS.md 时读 CLAUDE.md;全局无 ~/.config/opencode/AGENTS.md 时读 ~/.claude/CLAUDE.md |
| GitHub Copilot | .github/copilot-instructions.md + AGENTS.md | 自 2025-08-28 起也读 AGENTS.md |
| OpenAI Codex(openai/codex, 81K stars) | ./AGENTS.md(支持嵌套层级,深的覆盖浅的) | 这是 Codex 的「最高律法」 |
| Windsurf | .windsurf/rules/*.md + ~/.codeium/windsurf/memories/global_rules.md | 同时有项目级 + 全局级 |
| Google Antigravity | AGENTS.md (1.22.2+) | 2025-11 上线, 2026-04/05 加上 AGENTS.md 支持 |
视频里有一处需要纠正的地方
视频里说 OpenCode → Soul (#122-123)。 实测:
⚠️ 「Soul」不是 OpenCode 的原生文件名。 它是一个独立的开源项目 aaronjmars/soul.md(MIT, ~458 stars), README 自述定位是「让 Claude Code / OpenClaw 摄入你的数据来构建 AI soul」(注意是 OpenClaw, 不是 sst 的 OpenCode), 配套作者另一个项目 Aeon(后台记忆伴侣, 不是独立 coding agent)。
也就是说, Nufar 在视频里其实暗示了一种进阶用法:不要把身份绑定在某个工具的私有文件名上, 用一个跨工具便携的
soul.md文件代替。 这个想法和 Agent OS「工具收敛、底座可移植」的核心论断高度一致, 但视频没把这层关系讲透 — 而且 Soul 当前主要服务 Claude Code + OpenClaw, 跟主流 OpenCode (sst) 是两个生态。实操结论:初学者直接用工具的原生文件名(
CLAUDE.md/AGENTS.md)就行;进阶可以单独维护一份soul.md然后在工具的 Identity 文件里 import 它。
重要观察:AGENTS.md 已经成事实标准
AGENTS.md 规范 自 2025 年中起逐步成型(Copilot 自 2025-08-28 起也读), 截至 2026 年 Google / OpenAI / Sourcegraph(Amp)/ Cursor / Factory / Devin / Jules / Junie / Warp / Zed / Aider 等都已对齐。 这意味着如果你今天只能写一份文件,写 AGENTS.md,然后让其他工具用 import / symlink 共享它,是最 future-proof 的选择。
Nufar 强调一份好 Identity 文件该写什么
按视频 (#133-141) 整理:
- 你是谁 — 角色, 团队, 工作范围
- 你怎么沟通 — 直接 vs 委婉, 列点 vs 写句, 简短 vs 详尽
- 你重视什么 — 简洁 vs 详尽, 挑战你 vs 执行你, 展示推理 vs 直接给答案
- 你的禁区 — 「永远不要做的事」清单
- 例:「在没先给我看草稿之前绝不发外部邮件」
- 例:「永远不要奉承我」
- 例:「总是告诉我我没看到的东西」
关键方法论:不要从零硬写
这是这一层最容易翻车的地方,也是 Nufar 给的最有用的建议:
★ 「You don’t write the file from scratch yourself you will hate it and you will quit. Instead I encourage you to brain dump to an AI and let the AI interview you.」 「不要自己从零硬写,你会写到讨厌它,然后弃坑。我建议你直接对 AI 倾倒,让 AI 来面试你。」 (#143-145)
可粘贴的 brain dump 启动 prompt
我在搭我的 Identity 文件。请就以下方面问我 15 个问题:
- 我怎么工作
- 我想要什么
- 我不想要什么
- 当下用 AI 时什么让我抓狂
- 我希望强制执行哪些规则
每问 1 个就停下来等我回答, 不要一次性把 15 个抛给我。
回答完后, 你帮我把答案重写成一份不超过 1 页的 Identity 文件,
按以下结构组织:Who I am / How I work / What I value / Hard rules。
Nufar 的两个隐藏建议
- 「最好用语音回答」 (#150)。 Brain dump 不要打字, 用语音输入。 你说话时会自然带出更多真实的工作偏好。
- 「最好选一个对你已经有足够记忆的 AI 工具」 (#146)。 让你长期使用的那款 AI(它已经知道你过去的对话)来面试你, 它会问出更精准的问题。
70% 就发, 三周打补丁
「AI 起草、你来改, 你就先发一份初版——比如说大概对了 70%。 剩下的可以在接下来三周里随时补丁,看到漏洞就补。」 (#152-153)
这是这套方法论的通用节奏, 后面 6 层全部通用:
brain dump → AI 面试你 → AI 起草 → 你改一遍 → 70% 发版 → 用一周 → 看到漏洞 → 打补丁
★ 「你倾倒、让 AI 面试你、起草、先发一份这个文件的最小可行版本,然后再迭代改进。」 (#155-156)
落地步骤(给你今天的 30 分钟)
Step 1 · 准备(2 分钟)
打开你日常用得最多的 AI 工具 — 不是新工具, 是已经认识你的那款。
Step 2 · brain dump(15 分钟)
粘贴上面那段「启动 prompt」, 然后用语音回答 15 个问题。
Step 3 · 起草(8 分钟)
让 AI 把答案重写成 Identity 文件, 你扫一遍把刺眼的地方改掉。
Step 4 · 落盘(2 分钟)
按你用的工具放对位置:
- Claude Code → 项目根
CLAUDE.md或~/.claude/CLAUDE.md - Cursor / Codex / OpenCode / Antigravity → 项目根
AGENTS.md - Copilot →
.github/copilot-instructions.md - 进阶:写一份
soul.md,在上面文件里 import 它
Step 5 · 验收(3 分钟)
打开新会话, 问你的 AI:「按我刚写的 Identity 文件, 你能列出我希望你强制执行的 5 条规则吗?」 看它能不能复述出来。
我作为 Chief of Staff 该写什么
按视频 (#157-159) 整理 — Chloe 这个 Chief of Staff Agent 的 Identity 应该包含:
- 沟通风格:直接、列点、不要寒暄
- 雷区(pet peeves):不奉承、不重复我刚说的话、不堆砌「关于您提到的」
- 不可妥协项(non-negotiables):
- 「绝不让我在没有 pre-read(会前材料)的情况下走进会议」
- 「总是告诉我还有谁我应当回复」
- 「在我下一周过度承诺时主动提醒」
完整可粘贴版本见 08 Chief of Staff 完整模板第 1 节 「AGENTS.md · Identity 主文件」。
常见坑
| 坑 | 现象 | 怎么避 |
|---|---|---|
| 写得太长 | 写了一份 5000 字的「我的人生哲学」 | 1 页就够。 工具读它的时候不在乎你的人生哲学。 |
| 写得太抽象 | 「我喜欢高质量的输出」 | 改成具体规则:「输出超过 500 字时, 在开头给我 3 行 TL;DR」 |
| 一次写到完美 | 三天没发, 两周后还在改 | 70% 发版, 接下来三周通过实际使用打补丁 |
| 不告诉它「永远不要」 | 你没写, 它就不知道你的禁区 | Hard rules 至少 5 条, 列清楚 |
| 多个工具复制粘贴 | 改了 CLAUDE.md 忘了改 AGENTS.md | 用 soul.md + import, 或者 symlink |
🟢 译者点评
🟢 Nufar 反复强调「不要从零硬写」是这一层最容易被忽视的建议。 大多数人在写 Identity 文件时陷入「想一次性写好」的心态, 然后在第 2 段就开始抠词, 最后弃坑。 brain dump 这个动作真正的价值不是产出 Identity, 是把你脑子里散落的、自己也没意识到的工作偏好钓出来。
🟢 AGENTS.md 标准的存在使「工具收敛」论从口号变成可验证的现实。 我交叉验证过:把同一份 AGENTS.md 复制到 Cursor / Codex / OpenCode 项目根, 它们都会读。 这不是营销话术, 是 2026 年事实标准。 反过来, Claude Code 仍然只原生读 CLAUDE.md, 这是目前唯一的逆流, 你要么用 import 桥接, 要么干脆双写。
🟢 「永远不要奉承我」这条规则比看起来重要得多。 大模型有强烈的奉承倾向(sycophancy)。 你不写这条 hard rule, 它会浪费你 30% 的 token 在「这是个非常好的想法!」上。 Identity 文件最直接的 ROI 不是身份认同, 是节省 token + 降低读输出的认知负担。
🔗 立刻去做
→ 完成上面的 5 步落地, 然后读 02 Context · 上下文层 — Nufar 说 Context 是通往 AI 价值最快的路径。
🔗 延伸阅读
- aaronjmars/soul.md — 跨工具便携 Identity 文件的开源项目
- AGENTS.md 规范 — Google/OpenAI/Cursor/Sourcegraph/Factory 对齐的统一标准
- Claude Code memory docs — Claude Code 的 CLAUDE.md 与 automemory 区别
- Cursor rules docs —
.cursor/rules/*.mdc文件格式 - Copilot custom instructions — Copilot 的
.github/copilot-instructions.md规范