Claude Code(二):深入代码库与 AI 记忆的构建
一、与代码库的初次对话
面临的项目是一个能与 DeepLearning.AI 课程资料对话的 RAG 聊天机器人。在不了解任何代码细节的情况下,我们的首要任务是快速建立对项目整体的认知。
我们无需逐个文件阅读,而是直接向 Claude Code 提出一个高层次的问题,例如:
1 | |
Claude Code 会立即启动它的 “智能搜索” (Agentic Search) 机制,智能地识别出项目中的关键文件,并为我们提炼出一份包含项目架构、关键组件、主要功能的摘要。

我们可以进一步追问,比如深入了解 RAG 的实现细节:
1 | |
Claude Code 会精准定位到处理文本分块、添加上下文、存储元数据的相关代码,并清晰地解释整个流程。这个过程充分证明了:Claude Code 不仅是一个出色的工程师,更是一个卓越的解说员。
二、从文本到图表:让 AI 解释复杂流程
对于一个 Web 应用,理解用户请求从前端到后端的完整链路至关重要。我们可以让 Claude Code 为我们追踪这一流程:
1 | |
在执行过程中,Claude Code 会展示一个清晰的“待办事项列表”,让我们了解它的思考路径。它会依次分析前端代码、API 接口、RAG 系统,最终生成一份详尽的步骤分解。
然而,纯文本有时不够直观。我们可以提出一个更有趣的要求:
1 | |
Claude Code 会在终端中为我们生成一幅 ASCII 艺术图表。这是一种非常实用的方式,无需离开命令行环境,就能对复杂系统流程一目了然。

这幅图清晰地展示了从前端请求、后端处理、向量数据库 (Chroma DB) 检索,到最终由大模型生成响应的全过程。尽管只是字符画,但信息量十足。当然,如果我们有需要,也可以要求它生成用于 Web 的 D3.js 或 Recharts 代码,来创建更丰富的可视化图表。
三、核心机制:构建 Claude 的长期记忆 (CLAUDE.md)
为了让 AI 能够“记住”项目的关键信息和我们的特定偏好,我们需要引入其核心的记忆机制——CLAUDE.md 文件系统。
3.1 初始化项目记忆
我们推荐在接手任何新项目时,首先运行 /init 命令。
1 | |
这个命令会自动分析整个代码库,并生成一个初始的 CLAUDE.md 文件。这个文件是 至关重要的,它承载了 Claude Code 在本项目中的长期记忆。

3.2 记忆的层级与加载机制
CLAUDE.md文件系统并非单一文件,而是一个分层的体系,以满足不同范围的需求。理解这个体系对于高效使用
Claude Code 至关重要。
| 记忆类型 | 文件位置 | 目的与用途 | 共享范围 |
|---|---|---|---|
| 企业策略 | 系统级目录 (如/etc/claude-code/) |
由 IT/DevOps 管理的全公司范围的指令 | 组织内所有用户 |
| 项目记忆 | ./CLAUDE.md |
团队共享的项目特定指令,应提交到版本控制 | 所有项目成员 |
| 用户记忆 | ~/.claude/CLAUDE.md |
适用于你所有项目的个人偏好 | 仅自己 (所有项目) |
| 本地项目记忆 | ./CLAUDE.local.md |
个人在当前项目中的特定偏好 (已被废弃) | 仅自己 (当前项目) |
加载机制:CLAUDE.md 的分层加载机制允许我们清晰地分离团队规范与个人偏好。加载顺序为:企业策略 -> 用户记忆 -> 项目记忆,更具体的配置会覆盖或补充上层配置。
重要更新:根据最新文档,原有的 CLAUDE.local.md
文件已被废弃。现在推荐使用 import 语法 在主 CLAUDE.md
文件中引入个人配置文件,例如
@~/.claude/my-project-instructions.md。这种方式对 Git
worktrees 的支持更好。
3.3 动态更新记忆
除了编辑文件,我们还可以使用 # 快捷指令在对话中快速添加记忆。例如,我们的项目推荐使用 uv 作为包管理器,为了防止 Claude 使用 pip,我们可以这样指示:
1 | |
Claude Code 会询问你希望将这条记忆保存在哪个文件中(项目、本地或用户),选择后,CLAUDE.md 文件就会被自动更新。

四、高效交互:常用命令与 Git 集成
Claude Code 还提供了一系列内置命令来提升交互效率。

这张速查表整合了 Claude Code 最核心的命令行标志和交互式斜杠命令,是日常高效使用的关键。
| 分类 | 命令 / 标志 | 描述 |
|---|---|---|
| 会话启动 | claude |
启动一个新的交互式会话。 |
claude -c,--continue |
继续上一次的会话。 | |
claude -r,--resume |
从历史会话列表中选择一个恢复。 | |
claude -p "prompt" |
在非交互模式下执行单个任务并打印结果。 | |
| 会话管理 | /clear |
完全清空当前对话历史,开始全新会话。 |
/compact [instr.] |
压缩对话历史,可选附加指令以保留关键信息。 | |
/model |
查看或切换当前会话使用的 AI 模型。 | |
ESC/ESC ESC |
ESC中断当前任务,ESC ESC回滚对话到上一个时间点。 |
|
| 上下文与记忆 | @path/to/file |
在 Prompt 中引用文件或目录,为其提供精准上下文。 |
/init |
扫描代码库,自动创建CLAUDE.md文件作为项目长期记忆。 |
|
/memory |
在编辑器中直接打开CLAUDE.md记忆文件。 |
|
# instruction |
在对话中快速添加一条记忆到CLAUDE.md。 |
|
| 扩展与集成 | /mcp |
管理模型上下文协议(MCP)服务器连接。 |
/agents |
管理自定义的子智能体。 | |
/hooks |
配置 Hooks,定制 AI 工具执行生命周期中的行为。 | |
/install-github-app |
启动将 Claude Code 集成到 GitHub 仓库的流程。 | |
| 权限与安全 | /permissions |
查看和管理工具的使用权限。 |
--dangerously-skip-permissions |
[慎用]在非交互模式下跳过所有权限提示。 | |
| 实用工具 | /config |
查看和修改本地配置。 |
/doctor |
检查 Claude Code 安装的健康状况。 | |
/cost |
[非订阅用户]显示当前会话的 token 使用和成本。 | |
/help |
显示所有可用命令的帮助信息。 | |
/ide |
连接到你的 IDE (如 VS Code),让 Claude 知道你当前正在查看或编辑哪个文件。 |
4.1 与 Git 的无缝集成
一个非常实用的功能是 Claude Code 与 Git 的深度集成。当你完成了一些修改后,不必再手动编写 git add 和 git commit 命令。

你可以直接让 Claude Code 帮你提交更改。它不仅会执行 Git 命令,还会根据本次修改的内容,自动生成一段高质量、描述性强的 commit message。这对于维护清晰的版本历史和团队协作非常有价值。