Claude Code(二):深入代码库与 AI 记忆的构建

一、与代码库的初次对话

面临的项目是一个能与 DeepLearning.AI 课程资料对话的 RAG 聊天机器人。在不了解任何代码细节的情况下,我们的首要任务是快速建立对项目整体的认知。

我们无需逐个文件阅读,而是直接向 Claude Code 提出一个高层次的问题,例如:

1
2
"Give me an overview of the codebase."
(给我一份代码库的概述。)

Claude Code 会立即启动它的 “智能搜索” (Agentic Search) 机制,智能地识别出项目中的关键文件,并为我们提炼出一份包含项目架构、关键组件、主要功能的摘要。

我们可以进一步追问,比如深入了解 RAG 的实现细节:

1
2
"How are these documents processed?"
(这些文档是如何被处理的?)

Claude Code 会精准定位到处理文本分块、添加上下文、存储元数据的相关代码,并清晰地解释整个流程。这个过程充分证明了:Claude Code 不仅是一个出色的工程师,更是一个卓越的解说员

二、从文本到图表:让 AI 解释复杂流程

对于一个 Web 应用,理解用户请求从前端到后端的完整链路至关重要。我们可以让 Claude Code 为我们追踪这一流程:

1
2
"Trace the process of handling a user's query from front end to back end."
(追踪处理用户查询从前端到后端的全过程。)

在执行过程中,Claude Code 会展示一个清晰的“待办事项列表”,让我们了解它的思考路径。它会依次分析前端代码、API 接口、RAG 系统,最终生成一份详尽的步骤分解。

然而,纯文本有时不够直观。我们可以提出一个更有趣的要求:

1
2
"Draw a diagram that illustrates this flow."
(画一张图表来阐释这个流程。)

Claude Code 会在终端中为我们生成一幅 ASCII 艺术图表。这是一种非常实用的方式,无需离开命令行环境,就能对复杂系统流程一目了然。

这幅图清晰地展示了从前端请求、后端处理、向量数据库 (Chroma DB) 检索,到最终由大模型生成响应的全过程。尽管只是字符画,但信息量十足。当然,如果我们有需要,也可以要求它生成用于 Web 的 D3.js 或 Recharts 代码,来创建更丰富的可视化图表。

三、核心机制:构建 Claude 的长期记忆 (CLAUDE.md)

为了让 AI 能够“记住”项目的关键信息和我们的特定偏好,我们需要引入其核心的记忆机制——CLAUDE.md 文件系统。

3.1 初始化项目记忆

我们推荐在接手任何新项目时,首先运行 /init 命令。

1
> /init

这个命令会自动分析整个代码库,并生成一个初始的 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 逐级加载机制

重要更新:根据最新文档,原有的 CLAUDE.local.md 文件已被废弃。现在推荐使用 import 语法 在主 CLAUDE.md 文件中引入个人配置文件,例如 @~/.claude/my-project-instructions.md。这种方式对 Git worktrees 的支持更好。

3.3 动态更新记忆

除了编辑文件,我们还可以使用 # 快捷指令在对话中快速添加记忆。例如,我们的项目推荐使用 uv 作为包管理器,为了防止 Claude 使用 pip,我们可以这样指示:

1
# Always use UV to run the server, do not use pip directly.

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。这对于维护清晰的版本历史和团队协作非常有价值。

Reference

  1. Claude Code: A Highly Agentic Coding Assistant
  2. Claude Code(GitHub)
  3. 吴恩达 Claude Code 笔记精华版
  4. 课程项目源码
  5. 课程官方文件与 Prompt
  6. Claude Code Docs
  7. Claude Code Offcial

Claude Code(二):深入代码库与 AI 记忆的构建
https://mztchaoqun.com.cn/posts/D89_ClaudeCode/
作者
mztchaoqun
发布于
2025年10月15日
许可协议