☰
工程师的 AI 经验库:用 CLAUDE.md 与 Memory 让 Claude Code 记住你踩过的每一个坑
2026/10/2 6:01:29 网站建设 项目流程

1. 为什么你的 Claude Code 每次都像第一次进这个项目

你有没有过这种体验:同一个项目,昨天刚跟 Claude Code 讲清楚「这个模块的数据库连接必须走连接池,别直接 new」,今天开个新会话,它又给你写了一段裸连接。你不得不把昨天的解释再打一遍,像在给一个每天失忆的新同事做入职培训。

问题不在于模型笨,而在于上下文没有沉淀。Claude Code 每次会话默认从零开始,它能读到你当前打开的文件,但读不到你三个月前踩过的那个坑。于是同一个错误,换个人、换个时间、换个会话,反复出现。

我试过最原始的办法:把注意事项写在项目 README 里。结果 AI 不一定读,读了也不一定当回事,因为 README 是给人看的,语气和结构都不适合模型检索。后来我把这套东西拆成两层——CLAUDE.md 当入口,Memory 当沉淀,情况才真正变了。

CLAUDE.md 是什么?它是 Claude Code 在项目根目录自动读取的「操作手册」,你可以在里面写项目结构、编码规范、常用命令、禁止事项。Memory 是什么?它是跨会话的持久化记忆,记录你的偏好、习惯、项目背景,以及那些「踩过一次就不想再踩」的教训。

两者叠加,AI 才从「能写代码的工具」变成「懂你项目的搭档」。这篇就按可跟做的步骤,把 CLAUDE.md 骨架、Memory 目录结构、配置片段和一次「复现旧坑→AI 自动规避」的验证动作完整走一遍。适合已经在用 Claude Code、Cursor 或类似工具,但每次都要重新解释项目背景的人。

核心检索词先摆出来:CLAUDE.md 怎么写、Claude Code Memory 怎么配置、AI 经验库怎么搭建。这三个问题,下面逐个拆。

2. 前置准备:TaoToken 接入 Claude Code 的 Base URL 与 Key 怎么拿

要让 Claude Code 跑起来,先得有一个能用的模型入口。我用的是 TaoToken,它的 API 地址是https://taotoken.net/api,兼容 Anthropic 的接口格式,Claude Code 可以直接对接。

第一步,打开控制台创建 API Key。地址是https://taotoken.net/console/api-keys,登录后点「创建密钥」,复制那串sk-开头的字符串。注意它只显示一次,丢了就得重建。

第二步,确认你要用的模型 ID。TaoToken 的模型列表在文档里能查到,Claude Code 场景常用的是claude-sonnet-4-5这类。模型 ID 必须写全,少一个字符都会报 404。

第三步,配置环境变量。Claude Code 读取的是ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY这两个变量。在 macOS 或 Linux 的~/.zshrc或~/.bashrc里加:

export ANTHROPIC_BASE_URL="https://taotoken.net/api" export ANTHROPIC_API_KEY="sk-你的密钥"

Windows 的话在 PowerShell 里用setx:

setx ANTHROPIC_BASE_URL "https://taotoken.net/api" setx ANTHROPIC_API_KEY "sk-你的密钥"

改完记得重开终端,或者source ~/.zshrc让变量生效。验证是否生效,跑一句echo $ANTHROPIC_BASE_URL,能打印出地址就对了。

这里有个坑我踩过:有些人把 Base URL 写成https://taotoken.net/api/带尾斜杠,结果 Claude Code 拼接路径时变成双斜杠,报local proxy failed。尾斜杠一定去掉。

Key 拿到、变量配好,接下来才是重点——怎么让 Claude Code 记住你的项目。这一步不做,后面所有经验库都是空中楼阁。

3. CLAUDE.md 骨架与 Memory 目录:可复制的配置片段

这一节是整篇的核心,给你能直接抄的配置。先讲 CLAUDE.md 放哪、写什么,再讲 Memory 目录怎么组织。

CLAUDE.md 放在项目根目录,Claude Code 启动时会自动读。如果项目有子模块,也可以在子目录再放一个,它会按层级合并。骨架我建议分五块:

# 项目操作手册 ## 项目结构 - src/ 源码目录,入口是 src/main.py - tests/ 测试目录,用 pytest - config/ 配置文件,敏感信息走环境变量 ## 常用命令 - 启动:python -m src.main - 测试:pytest tests/ -v - 格式化:ruff format . ## 编码规范 - 所有数据库操作必须走 src/db/pool.py 的连接池,禁止直接 new connection - 日志统一用 src/utils/logger.py,禁止 print - 新增依赖必须同步更新 requirements.txt ## 禁止事项 - 不要修改 migrations/ 下的历史迁移文件 - 不要在业务代码里硬编码密钥 ## 经验库索引 详细踩坑记录见 memory/ 目录,按领域分文件: - memory/hardware.md 硬件相关 - memory/backend.md 后端相关 - memory/debug.md 调试相关

这份骨架的关键在最后一块「经验库索引」。它告诉 AI:遇到问题先去 memory 目录翻,而不是凭空猜。没有这一句,AI 根本不知道你有经验库。

Memory 目录结构我按问题域分,不按项目分。因为同一类问题在不同项目里会重复出现,按领域分才能让经验聚在一起:

memory/ ├── hardware.md # 硬件、电源、器件失效 ├── backend.md # 后端、数据库、并发 ├── debug.md # 调试方法论、排障思路 └── index.md # 总索引,列出所有条目关键词

每个文件里的条目用固定字段,这是让 AI 能检索的关键。格式如下:

### 驱动板 +15V 滤波钽电容击穿导致多故障连锁 | 字段 | 内容 | |------|------| | 现象 | 多个驱动故障码同时报出,无法复位 | | 根因 | +15V 滤波钽电容击穿短路,拉低供电母线 | | 解决 | 更换驱动板;关键器件储备备件 | | 日期 | 2026-07 | **关键词:** `钽电容` `击穿短路` `UVLO` `多故障同源` **要点:** - 多个故障码同时报出时,优先排查共享电源轨,而非逐一排查各支路 - 钽电容失效模式是短路(非开路),影响范围远超自身

为什么这个格式有效?现象字段让 AI 能根据你描述的故障匹配到条目;根因字段让经验可迁移,不是「换板子好了」这种废话;关键词是精确检索索引;要点把单次案例泛化成方法论。

如果你用 Cline 或带 MCP 的工具,配置片段长这样,三件套缺一不可:

{ "mcpServers": { "taotoken": { "command": "npx", "args": ["-y", "@taotoken/mcp-server"], "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的密钥", "ANTHROPIC_MODEL": "claude-sonnet-4-5" } } } }

Base URL、Key、Model ID 三个都要写全,少一个就连不上。Codex 用户如果走auth.json,结构类似,把这三个字段填进去即可。

配置写完,下一步是验证它真的生效。

4. 验证请求:复现旧坑,看 AI 是否自动规避

配置写完不验证,等于没配。这一节演示一次完整的「复现旧坑→AI 自动规避」动作,你能照着做一遍。

先确认 Claude Code 能正常连上。在项目根目录跑:

claude --version

能打印版本号说明装好了。然后进交互模式,问一句:

这个项目的数据库操作有什么规范?

如果 CLAUDE.md 生效,它应该回答「必须走 src/db/pool.py 的连接池,禁止直接 new connection」。如果它答不上来,说明 CLAUDE.md 没被读到,检查文件是不是在根目录、文件名大小写对不对。

接下来验证 Memory 检索。我构造一个和旧坑同源的场景,问:

现场报三个故障码:驱动故障、升压故障、供电欠压,无法复位。怎么排查?

如果 Memory 生效,AI 应该主动提到「优先排查共享电源轨」,并引用memory/hardware.md里那条钽电容的记录。实测下来,配好之后它会直接说:「根据经验库记录,多个故障码同时报出时优先查共享电源轨,历史上出现过 +15V 滤波钽电容击穿拉低母线导致 UVLO 的案例。」

这就是我们要的效果——不是我想起来钽电容,是 AI 提醒我先查共享电源轨。

再验证一次「记住这个坑」工作流。排查完一个新问题后,对 AI 说:

记住这个坑,现象是接口偶发 504,根因是连接池最大连接数设太小,解决是把 pool_size 从 5 调到 20。

它应该自动提炼成结构化条目,写入memory/backend.md,并加上关键词连接池504pool_size。下次你问「接口偶发 504 怎么查」,它就能翻出这条。

验证成功的标志有三个:CLAUDE.md 的规范能被复述、Memory 的旧坑能被主动检索、新坑能被自动写入。三个都过,这套经验库就算跑通了。

如果验证失败,别急,下一节列了常见报错和排查方法。

5. 常见报错排查:401、local proxy failed、reading choices、OAuth

配置过程中最容易撞的几个错,我按真实报错逐个拆。

401 Unauthorized。这个最常见,九成是 Key 的问题。先确认ANTHROPIC_API_KEY有没有生效,跑echo $ANTHROPIC_API_KEY看能不能打印出sk-开头的串。如果打印为空,说明环境变量没加载,重开终端或source一下。如果打印正常但还是 401,去控制台确认 Key 没过期、没被删。还有一种情况是 Key 复制时带了空格,肉眼看不出来,重新复制一遍。

local proxy failed。这个错通常和 Base URL 有关。检查ANTHROPIC_BASE_URL是不是写成了https://taotoken.net/api/带尾斜杠,去掉尾斜杠再试。另外确认没有多余的代理变量干扰,比如HTTP_PROXY或HTTPS_PROXY指向了不可用的地址,临时unset掉再跑。

reading choices 相关报错。这个一般出现在返回体解析阶段,多半是模型 ID 写错了。Claude Code 请求的模型名必须和 TaoToken 支持的完全一致,比如claude-sonnet-4-5不能写成claude-sonnet-4.5或sonnet-4-5。去文档里核对准确的模型 ID,一个字符都别差。

OAuth 相关报错。如果你用的是 Claude Code 官方登录流程,它可能尝试走 OAuth 而不是 API Key。这时候要确认你用的是 API Key 模式,环境变量ANTHROPIC_API_KEY存在时它会优先走 Key。如果还是报 OAuth,检查有没有残留的登录凭证文件,清掉再试。

CLAUDE.md 不生效。文件必须在项目根目录,文件名全大写CLAUDE.md,不能是claude.md或Claude.md。子目录的 CLAUDE.md 只在进入该目录时生效。如果放了还是不读,试试在会话里直接问「读一下 CLAUDE.md」,看它能不能找到文件。

Memory 检索不到。检查 CLAUDE.md 里有没有写「经验库索引」那一块,没有索引 AI 不知道去哪找。另外确认 memory 目录在项目根目录下,路径和索引里写的一致。关键词要具体,钽电容比电容好,连接池比数据库好。

排障的核心思路是:先确认连接层(Base URL + Key + Model ID 三件套),再确认文件层(CLAUDE.md 位置和内容),最后确认检索层(Memory 索引和关键词)。一层层往下查,基本都能定位。

6. 把经验库用起来:从记录到复用的完整闭环

配置跑通只是开始,真正让这套体系产生价值的是日常使用习惯。我把它总结成一个闭环:踩坑→记录→检索→复用→再记录。

踩坑的时候别急着修完就完事,修完花三十秒对 AI 说一句「记住这个坑」。记录成本极低,但收益是长期的。我现在的习惯是,任何非显而易见的排查结论,都顺手记一条。三个月后回头看,memory 目录里已经攒了几十条,覆盖了大部分高频问题。

检索的时候,不用刻意去翻文件,直接描述现象就行。AI 会根据关键词匹配,把相关条目翻出来。你描述得越接近「现象」字段的写法,匹配越准。这也是为什么条目里「现象」字段要写得具体,别写「系统报错」,要写「三个故障码同时报出无法复位」。

复用的时候,注意 AI 给的是参考不是圣旨。经验库记录的是历史案例,新问题可能有新变量。AI 提醒你「先查共享电源轨」是给你一个高优先级的排查方向,不是让你跳过验证。方向对了省时间,验证还是得自己做。

再记录的时候,如果发现旧条目有偏差,直接让 AI 更新那条记录。经验库是活的,不是写完就锁死的归档。

这套东西的本质,说穿了就三句话:CLAUDE.md 告诉 AI 文件在哪、规则是什么;经验库告诉 AI 这个领域踩过哪些坑;Memory 告诉 AI 你的偏好和项目背景。三者叠加,AI 才真正懂你的项目。

如果你已经在用 Claude Code 或 Cursor,觉得每次都要重新解释项目背景很烦,这套方法大概率能帮到你。想快速验证模型对话效果,可以去https://taotoken.net/api配合模型对话页面试;长期做编码和 Agent 任务,Coding Plan 更划算;接入文档里有完整的 Base URL、Key、Model ID 三件套说明,照着配就行。

最后留一句实在话:这套体系只对真的踩过坑、愿意把坑结构化的人有用。如果工作还没积累出值得沉淀的经验,先把坑踩出来再说。经验库不是魔法,是经验的复用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询