[claude code] 06 高级篇:记忆系统与工作流优化
2026/7/31 16:29:08 网站建设 项目流程

06 高级篇:记忆系统与工作流优化

让 Claude Code 跨会话记住你的偏好,优化工作流,榨干每一分 token。


6.1 记忆系统架构

Claude Code 的记忆系统由多个层次组成:

CLAUDE.md 文件(持久化,手动/自动) ├── 全局 ~/.claude/CLAUDE.md ├── 项目 CLAUDE.md ├── 项目 CLAUDE.local.md └── 子目录 CLAUDE.md Rules 规则文件(持久化,条件加载) ├── ~/.claude/rules/*.md └── .claude/rules/*.md Auto Memory(自动记忆) └── ~/.claude/projects/<project>/memory/*.md 对话上下文(临时,会话内) └── 当前对话的完整历史

记忆加载优先级

  1. 全局 CLAUDE.md(始终加载)
  2. 项目 CLAUDE.md + CLAUDE.local.md(项目工作时加载)
  3. 子目录 CLAUDE.md(访问目录时加载)
  4. Rules 规则文件(按条件加载)
  5. Auto Memory 文件(新会话启动时加载)
  6. 对话上下文(当前会话)

6.2 Auto Memory 自动记忆

Claude Code 会在对话过程中自动学习你的偏好,并保存到记忆文件中。

记忆文件位置

~/.claude/projects/<project-hash>/memory/ ├── MEMORY.md # 记忆索引 ├── user_role.md # 用户角色信息 ├── feedback_testing.md # 反馈记忆 ├── project_status.md # 项目状态 └── reference_links.md # 外部引用

四种记忆类型

类型用途何时保存示例
user用户角色、偏好、知识了解用户信息时“用户是后端工程师,熟悉 Python”
feedback用户反馈的规则被纠正或确认时“不要在测试中 Mock 数据库”
project项目状态和决策了解项目进展时“认证模块正在重写”
reference外部资源指针发现外部系统时“Bug 追踪在 Linear INGEST 项目”

记忆文件格式

--- name: feedback_testing description: 测试相关的用户反馈规则 type: feedback --- 集成测试必须使用真实数据库,不要 Mock。 **Why:** 上季度 Mock 测试通过但生产迁移失败,造成事故。 **How to apply:** 涉及数据库操作的测试,使用测试数据库而非 Mock。

MEMORY.md 索引文件

# Memory Index - [User Role](user_role.md) — 后端工程师,Python 专家 - [Testing Feedback](feedback_testing.md) — 测试必须用真实数据库 - [Project Status](project_status.md) — 认证模块重写中 - [References](reference_links.md) — 外部系统链接

最佳实践

  • 记忆文件保持简洁,每条不超过 150 字
  • MEMORY.md 索引不超过 200 行
  • 定期清理过时的记忆
  • 不要在记忆中存储可从代码推导的信息

6.3 /memory 命令

在对话中直接管理记忆:

# 打开记忆文件编辑>/memory# 让 Claude 记住某件事>记住:这个项目用 poetry 管理依赖,不用 pip# 让 Claude 忘记某件事>忘记之前关于测试框架的偏好

什么值得记忆

值得记忆不值得记忆
用户偏好和反馈代码模式(可从代码推导)
项目决策和原因Git 历史(可从 git log 获取)
外部系统引用文件路径(可从项目结构推导)
非显而易见的约定临时任务状态

6.4 上下文压缩策略

上下文生命周期

正常 (0-87%) → AutoCompact (~87%) → 强制压缩 (90-95%) → 硬限制 (100%)
  • AutoCompact:Claude 自动压缩旧对话,保留关键信息
  • 强制压缩:更激进的压缩,可能丢失细节
  • 硬限制:对话被阻塞,必须压缩或清空

手动压缩技巧

# 基本压缩>/compact# 保留特定内容>/compact 保留数据库 schema 和 API 接口定义# 压缩并指定重点>/compact 重点保留:1)认证流程2)错误处理方案3)待办事项

上下文优化策略

策略操作效果
任务隔离一个对话一个任务减少无关上下文
及时压缩每 30 分钟/compact保持上下文新鲜
精确引用@file代替让 Claude 搜索减少搜索开销
清空重启切换任务时/clear彻底释放上下文
子代理分流搜索任务交给子代理保护主上下文

6.5 工作流优化技巧

技巧一:任务分解

大型任务分解为小步骤,逐步完成:

# 差:一次性要求太多 > 重构整个认证模块,添加 OAuth2、JWT、2FA 支持 # 好:分步执行 > 第一步:分析现有认证模块的结构 > (完成后) > 第二步:设计新的认证架构 > (完成后) > 第三步:实现 OAuth2 支持 > (完成后) > ...

技巧二:计划模式先行

大型变更前,先用计划模式规划:

> /plan 重构认证模块 # Claude 输出计划后,审查确认 # 然后切换到执行模式

技巧三:利用 TodoWrite 跟踪进度

> 帮我完成以下任务,用 todo 跟踪进度: > 1. 添加用户注册 API > 2. 添加邮箱验证 > 3. 编写注册流程测试 > 4. 更新 API 文档

技巧四:管道模式批量处理

# 批量代码审查forfileinsrc/api/*.py;doclaude-p"审查 @$file的安全问题">>review-report.mddone# 批量生成测试forfileinsrc/*.py;doclaude-p"为 @$file生成单元测试">"tests/test_$(basename$file)"done

技巧五:非交互模式集成 CI

# 在 CI 中运行 Claude Codeclaude-p"检查最近的提交是否有安全问题"--output-format json# 自动生成变更日志claude-p"根据 git log 生成变更日志"--output-format text>CHANGELOG.md

6.6 性能与成本优化

Token 节省策略

策略节省量操作
精简 CLAUDE.md10-20%控制在 100 行以内
用 @ 引用代替搜索5-15%明确指定文件路径
及时 /compact15-30%防止上下文膨胀
简单任务用 Haiku50-80%按任务复杂度选模型
子代理分流10-20%搜索任务交给子代理

模型选择与成本

模型输入成本输出成本适用场景
Haiku最低最低简单查询、格式化
Sonnet中等中等日常开发(默认)
Opus最高最高复杂推理、架构设计

/cost 监控

# 查看当前会话的 token 使用和成本>/cost

上下文检查

# 查看上下文使用情况和优化建议>/context

6.7 高级工作流模式

模式一:TDD 驱动开发

> 先写测试:用户注册 API 的测试用例 > (测试写完后) > 实现让测试通过的代码 > (实现完后) > 运行测试,修复失败的用例 > 重构代码,确保测试仍然通过

模式二:代码审查循环

> 审查 @src/auth.py,列出所有问题 > 修复 Critical 级别的问题 > 修复 Warning 级别的问题 > 再次审查,确认所有问题已解决

模式三:渐进式重构

> 分析 @src/ 目录的代码质量,给出重构优先级 > (按优先级) > 重构第一个模块,确保测试通过 > 重构第二个模块,确保测试通过 > ...

模式四:文档驱动开发

> 先设计 API 接口文档 > (文档确认后) > 根据文档实现 API > 根据文档编写测试 > 验证实现与文档一致

6.8 小结

概念关键要点
记忆系统CLAUDE.md + Rules + Auto Memory 三层
Auto Memory自动学习偏好,四种类型
/memory手动管理记忆
上下文管理定期 /compact,任务切换 /clear
工作流优化任务分解、计划先行、TodoWrite 跟踪
成本优化精简 CLAUDE.md、@ 引用、按需选模型

上一篇:05 实战篇:MCP 服务器与技能扩展
下一篇:07 速查手册:命令与快捷键

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

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

立即咨询