如何让你的 AI Agent 不再失忆?用 5 个文件搞定
公众号名称:程叙架构与AI.
作者名称:AI兴观点
发布时间:2026-06-22 12:00
原文链接:https://x.com/sairahul1/status/2067903018931257483
✅点击上方🔺公众号🔺关注我✅
大多数 AI Agent 不是被模型坑死的。每次会话重启,它们就把之前的事忘得干干净净。
你告诉 Claude:「我们用 pnpm,不用 npm。」下一次会话,它又试 npm。你说:「不要用默认导出。」下一次,它又写了一个默认导出。每一次纠正都在会话结束时蒸发了。
Rahul 被这件事反复折磨了三个月,总算找到一个一劳永逸的办法。
为什么大多数 AI Agent 会失败
问题不在模型。是模型下面少了一层。
写一段 Prompt,Agent 执行,会话结束,记忆消失,下次会话同样的错误,重复纠正,无限循环。

这是 AI 编码里最大的浪费来源。不是代码写得差,不是幻觉,是重复。
Rahul 说,一文件搞定。花了他三个月。
缺失的层级:记忆
大家都在纠结哪个模型更聪明。方向错了。
真正的升级不是换一个更聪明的模型,是给模型一个地方存它学到的东西。
Prompt 告诉 Agent 现在要做什么,Agent 执行任务,记忆跨会话持久化上下文,持久上下文意味着不用反复纠正,学习系统让 Agent 随着时间变好。

这是工具和队友的区别。工具听指令,每次从零开始。队友记得昨天的事。
AI Agent 需要的 5 个记忆文件
接受记忆是缺失的层级之后,下一个问题就是:记忆存在哪?
五个文件,各司其职。
→ CLAUDE.md — Claude 的个人说明文档 → AGENTS.md — 通用标准,所有主要工具都会读 → CLAUDE.local.md — 个人偏好,不提交到 Git → MEMORY.md — AI 自动记录自己的笔记 → README.md — 给人看的,不是给 Agent 看的

CLAUDE.md——那个开启一切的起点

把这个文件放在项目根目录,Claude 每次会话开始时都会读它。把它想象成一个给健忘新同事的简报文档。
一个好的 CLAUDE.md 有四个部分:
→ 项目背景 — 一句话。「Next.js 电商应用,搭配 Stripe 和 Postgres。」 → 代码风格 — 不要「格式规范」这种废话,要「使用 ES Modules、命名导出、2 空格缩进。」 → 命令 — 精确。pnpm test:integration,不是「运行测试」。 → 架构 — 「API 路由放 /src/api/[resource]/route.ts。数据库访问用 Repository 模式。」
一个完整的 CLAUDE.md 长这样:
# CLAUDE.md
## Project Context
Next.js 14 e-commerce app. Postgres + Stripe integration.
## Code Style
- ES modules only
- Named exports, never default exports
- 2-space indentation
- TypeScript strict mode
## Commands
- Install: pnpm install
- Dev: pnpm dev
- Test: pnpm test:integration
- Lint: pnpm lint:fix
## Architecture
- API routes: /src/api/[resource]/route.ts
- DB access: repository pattern only
- Components: /src/components, one file per component
目标:控制在 300 行以内。每一行都在和实际工作任务抢注意力。
运行 /init,Claude 会自动生成一个初始文件。然后删掉大部分。默认文件里有很多 Claude 从 package.json 就已经知道的东西。只保留那些「没有这个文件 Claude 就会搞错」的配置。
@imports 系统——保持精简
CLAUDE.md 不需要装下所有东西。可以用 @ 语法导入其他文件:
> See @README.md for project overview
See @docs/api-patterns.md for API conventions
See @package.json for available npm scripts
导入可以递归,最多 5 层深度。解决了「一个大文件」的问题。
团队协作时:前端团队维护 docs/frontend-rules.md,安全团队维护 docs/security.md。CLAUDE.md 只需要全部导入进来。

一个根文件,多个专业来源。
AGENTS.md——通用标准
CLAUDE.md 只对 Claude 有效。如果团队也用 Cursor、Copilot 或 Gemini CLI——它们读不了 CLAUDE.md。
AGENTS.md 就是为了解决这个问题。一个文件,所有主流 Agent 都能读。

支持的工具有:Claude Code、Cursor、GitHub Copilot、Gemini CLI、Windsurf、Aider、Zed、Warp,还有更多。
标准 Markdown,不需要特殊 Schema,也不需要 YAML。一个完整的 AGENTS.md 长这样:
# AGENTS.md
## Project Overview
E-commerce platform built with Next.js 14, Postgres, and Stripe.
## Build & Test
- Install: pnpm install
- Dev: pnpm dev
- Test: pnpm test
- Lint: pnpm lint:fix
## Code Standards
- TypeScript strict mode
- Named exports over default exports
- API routes follow REST conventions in /src/api/
## Testing Requirements
- All PRs must include tests
- vitest for unit tests, playwright for e2e
把它当成 AI Agent 的 README。README.md 给人看,AGENTS.md 给 Agent 看。互补,不冲突。
自动记忆——会自己记笔记的 AI
这是最新也最有趣的一层。Claude Code 可以在会话过程中自己写记忆文件。
memory/
├── MEMORY.md ← 索引,每次会话加载
├── debugging.md ← 调试模式笔记
├── api-conventions.md ← API 设计决策
└── ...

关键转变:你写 CLAUDE.md 提供指令,Claude 写 MEMORY.md 记录学到的东西。
人类写规则,Agent 在干活中发现模式,Agent 写下自己的记忆,下一次会话从更聪明的地方开始。
在一个高效的会话结束时直接说:「把你今天在代码库中学到的东西更新到记忆文件里。」学到的内容就会保存下来。不用第五次解释你的自定义 ORM 封装了。
随时运行 /memory 查看或编辑 Claude 已保存的内容。
/init 然后删——最快的工作流
在新项目上最快启动记忆文件的方法:
- 在项目目录运行
/init - Claude 根据你的代码库生成初始 CLAUDE.md
- 删掉不需要的部分

第三步是大多数人搞错的地方。
生成的只是草稿,不是成品。里面常常有废话。「这个项目用了 JavaScript。」——谢谢,package.json 已经告诉我了。
从一个合理的草稿开始删,比从空白文件开始写快得多。
设置好之后,自然而然地积累。Claude 做了一个错误假设——比如老是导入一个已废弃的包——不要只纠正这一次。告诉它:「加到我的 CLAUDE.md:永远从 @company/utils-v2 导入,不要从 @company/utils。」
这个指令会在每一次未来会话中生效。
每过几周,让 Claude 检查和清理 CLAUDE.md。指令会堆积,有些变冗余,有些开始冲突。快速过一遍能保持锋利。
Rahul 的实际配置
在多个人生产项目上测试了所有方法之后,这是最终的配置:
→ AGENTS.md 在项目根目录——所有 AI 工具都能读的共享指令。构建命令、代码标准、测试要求。 → CLAUDE.md 用 @imports 处理 Claude 专属行为。保持在 100 行以内,大部分是指向 docs/ 文件的引用。 → CLAUDE.local.md 记录个人偏好——测试数据、沙箱 URL、快捷键命令。永不提交到 Git。 → 自动记忆开启。Claude 自己记笔记。Rahul 每月审阅一次。 → 其他一切用符号链接指向 AGENTS.md。一个真相源。

# 多工具同步的符号链建设
ln -sfn AGENTS.md .github/copilot-instructions.md
mkdir -p .cursor/rules && ln -sfn ../../AGENTS.md .cursor/rules/main.mdc
不优雅。但它干掉了团队里每一个工具的指令漂移问题。
更大的转变
大多数开发者的想法:更好的模型 = 更好的 Agent。
错了。
真正的公式是:模型 + 记忆 + 检索 + 反馈 = 好用的 Agent
一个更聪明的模型但没有记忆,明天它还会忘记你的测试命令。 一个配置了良好记忆的普通模型,每周都变得更聪明。

记忆是复利变量。模型能力不是。
Rahul 说他在 AI 工作流里做的最大的改进不是换模型——是给模型装了记忆。
「Claude,我们用 pnpm」——每次会话都要说一次。对比「Claude 已经知道了」——每次会话都如此。
这就是工具和队友的区别。
就算今天只做一件事:在你的项目根目录创建一个 CLAUDE.md,写上你的代码规范和常用命令。就这一个动作,明天开始你每次纠正 Claude 的次数就会开始减少。
安装记忆,不用每天训一次。
如果觉得这篇文章有帮助,欢迎点赞、在看、转发!有问题也可以在评论区留言,我会尽量回复!
内容效果不满意?点此反馈