Clipping 微信公众号

如何让你的 AI Agent 不再失忆?用 5 个文件搞定

by AI兴观点 原文 ↗
Created: 2026-06-22

公众号名称:程叙架构与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 然后删——最快的工作流

在新项目上最快启动记忆文件的方法:

  1. 在项目目录运行 /init
  2. Claude 根据你的代码库生成初始 CLAUDE.md
  3. 删掉不需要的部分

第三步是大多数人搞错的地方。

生成的只是草稿,不是成品。里面常常有废话。「这个项目用了 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 的次数就会开始减少。

安装记忆,不用每天训一次。


如果觉得这篇文章有帮助,欢迎点赞、在看、转发!有问题也可以在评论区留言,我会尽量回复!


内容效果不满意?点此反馈

输入关键词开始搜索