🚀 拒绝“人工智障”:如何写出一份高质量的 agent.md?

🚀 拒绝"人工智障":如何写出一份高质量的 agent.md

在 AI 辅助编程日益普及的今天,你是否遇到过这样的情况:

  • 每次新开一个对话,都要费尽口舌向 AI 解释项目是用什么框架写的。
  • AI 写的代码总是很难看,完全不符合团队规范。
  • AI 甚至经常"幻觉",引用不存在的文件或库。

其实,这些问题很大程度上是因为你没有给 AI 一个好的"入职指南"。对于 Claude 来说是 CLAUDE.md,对于开源 Agent 体系(如 OpenCode, Zed, Cursor 等),这个文件通常被称为 AGENTS.md 或我们这里统称的 agent.md

今天我们就来聊聊,如何写出一份高质量的 agent.md,让你的 AI 队友瞬间变身资深工程师!😎

核心原理:LLM 是"失忆"的

首先我们要明白一个残酷的事实:LLM 是无状态的。 每次你开启一个新的 Session,AI 对你的代码库一无所知。它就像一个刚刚入职、甚至还没来得及看文档的实习生。

agent.md 就是你发给它的第一份入职手册。它是唯一一个默认会被注入到每一次对话上下文中的文件。

这意味着:

  1. 从零开始:AI 每次都是白纸一张。
  2. 必须显式告知:重要的信息必须每次都告诉它。
  3. agent.md 是最佳载体:这是目前最标准的上下文传递方式。

什么是好的 agent.md

一份优秀的 agent.md 应该包含三个维度的信息,帮助 AI 快速建立对项目的认知:

  • WHAT (是啥) :技术栈是什么?项目结构是怎样的?(特别是 Monorepo!)
  • WHY (为啥) :项目的核心目标是什么?各个模块的职责是什么?
  • HOW (咋整) :如何构建?如何测试?有哪些特殊的工具链(比如用 bun 不用 npm)?

❌ 错误示范:大杂烩

很多人的 agent.md 恨不得把整个开发文档都塞进去:

python 复制代码
# 项目文档
... (此处省略 500 行代码规范) ...
... (此处省略 200 行数据库 Schema) ...
... (此处省略 100 行部署脚本) ...

千万别这么干! 🙅‍♂️

黄金法则:Less is More (少即是多)

1. 别把 AI 当 Linter 用

这是最常见的误区。不要在 agent.md 里写详细的代码风格指南!

  • 成本高:LLM 的推理成本比 Linter 高出几个数量级。
  • 效果差:LLM 是基于概率的,它很难 100% 严格遵守每一条缩进规则。
  • 占用上下文:大量的 Style Guide 会挤占宝贵的 Context Window,导致 AI 忽略真正重要的业务逻辑。

✅ 正确做法: 配置好 ESLint, Prettier 或 Biome。如果代码格式不对,让 Linter 报错,甚至配置 Git Hook 自动修复。把专业的事交给专业的工具。

2. 保持精简 (< 300 行)

研究表明,随着指令数量的增加,LLM 遵循指令的能力会呈指数级(小模型)或线性(大模型)下降。 Claude Code 的 System Prompt 已经包含了约 50 条指令。如果你再塞进去几百条,AI 就会开始"顾此失彼"。

建议

  • 核心 agent.md 最好控制在 300 行以内 ,甚至 60 行以内
  • 只放全局通用的指令。

3. 渐进式披露 (Progressive Disclosure) 🧠

如果项目真的很复杂,怎么办? 借鉴 UI 设计中的"渐进式披露"原则:只在需要的时候,提供需要的信息。

不要把所有文档都堆在 agent.md 里,而是建立一个文档目录:

bash 复制代码
agent_docs/
├── building.md       # 构建指南
├── testing.md        # 测试指南
├── architecture.md   # 架构设计
└── database.md       # 数据库 Schema

然后在 agent.md 里做一个索引:

markdown 复制代码
# Agent Docs
详细文档请参考以下文件(按需读取):
- `agent_docs/building.md`: 构建和运行项目的详细步骤
- `agent_docs/testing.md`: 运行测试套件的方法
- `agent_docs/database.md`: 核心数据库表结构设计

这样,AI 在接到任务时(比如"帮我写个新的 API"),它会自己判断:"哦,我需要看看 database.md",然后主动去读取那个文件。这比一股脑塞给它高效得多!

避坑指南

  1. 不要自动生成 :虽然有很多工具可以自动生成 agent.md,但建议你亲手写。因为这是你和 AI 协作的基石,每一行都值得你深思熟虑。
  2. 避免无关信息:不要放"如何设计新数据库 Schema"这种只有在特定任务下才用到的信息。
  3. 使用文件引用 :在文档中尽量引用代码文件的路径(file:line),而不是直接复制粘贴大段代码,防止文档过时。

总结

写好 agent.md 是一门"上下文工程" (Context Engineering) 的艺术。

  • 核心:它是 AI 的入职手册。
  • 原则:少即是多,不要做 Linter 的工作。
  • 技巧:使用"渐进式披露",把细节拆分到子文档中。

花 10 分钟优化一下你的 agent.md,你会发现你的 AI 队友突然变得"聪明"了!🚀


参考资料:Writing a good CLAUDE.md

相关推荐
亚里随笔11 分钟前
突破性框架TRAPO:统一监督微调与强化学习的新范式,显著提升大语言模型推理能力
人工智能·深度学习·机器学习·语言模型·llm·rlhf
牛客企业服务31 分钟前
AI面试实用性解析:不是“能不能用”,而是“怎么用好”
人工智能·面试·职场和发展
MicroTech20251 小时前
激光点云快速配准算法创新突破,MLGO微算法科技发布革命性点云配准算法技术
人工智能·科技·算法
救救孩子把1 小时前
50-机器学习与大模型开发数学教程-4-12 Bootstrap方法
人工智能·机器学习·bootstrap
趣知岛1 小时前
AI是否能代替从业者
人工智能
allan bull2 小时前
在节日中寻找平衡:圣诞的欢乐与传统节日的温情
人工智能·学习·算法·职场和发展·生活·求职招聘·节日
土豆12502 小时前
程序员约会指南:从代码到爱情的完美编译
人工智能
Coder_Boy_2 小时前
SpringAI与LangChain4j的智能应用-(实践篇2)
人工智能·springboot·aiops·langchain4j
love530love2 小时前
【笔记】ComfyUI “OSError: [WinError 38] 已到文件结尾” 报错解决方案
人工智能·windows·python·aigc·comfyui·winerror 38
咕噜企业分发小米2 小时前
腾讯云向量数据库HNSW索引如何更新?
人工智能·算法·腾讯云