所属教程:Claude Code 从入门到大师级完整教程 预计阅读:20 分钟
很多新手误以为 AI 编程代理"记性很好、什么都记得",实际上它的工作方式受上下文窗口(Context Window)严格约束。本节讲清楚三件事:代理在一次会话里能看到什么、哪些信息会跨会话长期保留、上下文被撑满时应该用什么命令处理。理解上下文,才能写出高效、稳定、不丢线索的协作提示。
上下文窗口可以理解为代理在当前这一轮工作中能够纳入的全部信息总量上限,它包括:你的指令、此前的对话历史、工具读取到的文件内容、命令输出、项目记忆文件等。它有明确容量上限,不是无限记忆:
一次交互里聊过的细节,默认属于当前会话上下文;退出会话后并不会自动变成代理永久记住的知识。需要跨会话保留的约定、架构说明与偏好,应沉淀到项目记忆文件 CLAUDE.md,而不是指望它"下次还记得"。
| 来源 | 具体内容 | 是否跨会话保留 | 如何控制 |
|---|---|---|---|
| 当前对话历史 | 本次会话中你发出的消息与代理的回复、工具结果 | 否,随会话结束而清空(可用 --continue/--resume 恢复) | /clear、/compact |
| 工具实时读取 | 代理用 Read / Grep / Glob / Bash 等临时读到的文件与输出 | 否,仅存在于当前会话窗口 | 由代理按需读取,你可用路径限定范围 |
| 项目记忆 CLAUDE.md | 项目级说明:技术栈、目录约定、编码规范、常用命令、注意事项 | 是,文件保存在项目中,新会话自动加载 | /init 生成、/memory 编辑维护 |
| 额外工作目录 | 通过 /add-dir 追加、可被检索读取的并列目录 | 目录本身持久,会话内访问关系需重新声明 | /add-dir、/cd |
| 配置与权限设置 | 用户级与项目级设置文件中的偏好、权限规则等 | 是,随设置文件持久保存 | /config、/permissions |
CLAUDE.md 是放在项目里的纯文本记忆文件,是代理每次进入该项目时会参考的"项目说明书":
/init,代理会浏览代码库并生成一份起始 CLAUDE.md,你再人工补充和修订。/memory 命令编辑记忆文件、查看自动记忆条目;把团队约定、构建命令、测试方式、禁止改动区域写进去。/clear 只清空对话历史,CLAUDE.md 与设置文件仍然保留,这正是它作为长期记忆的价值所在。# 在项目目录启动会话后生成起始项目记忆
/init
| 命令 | 做什么 | 适用场景 | 注意 |
|---|---|---|---|
/compact [聚焦说明] | 把早期对话压缩成摘要,腾出上下文空间,可附带"重点保留哪些信息"的指令 | 同一会话连续工作很久、历史冗长但仍需继续当前任务 | 压缩是摘要化,极细的原始细节可能被概括 |
/clear | 清空对话历史、重新开始;项目记忆与设置保留 | 切换到一个不相关的新子任务,旧上下文反而干扰判断 | 清空前确认关键结论已写入 CLAUDE.md 或代码注释 |
/autocompact [auto | 大小] | 设置自动压缩阈值:上下文占用达到设定窗口时自动压缩;传 auto 回到模型自适应值 | 长任务希望系统自动管理,避免手动干预 | 设置保存到用户偏好并作用于当前会话 |
此外,退出终端后想接着上次工作,用启动参数恢复会话,而不是从零开始:
# 继续最近一次会话;或按 ID 恢复指定会话
claude --continue
claude --resume <sessionId>
/clear 或 /compact 切换,保持每轮上下文聚焦。Read 按需读取指定文件更省空间、更准确。API 密钥、访问令牌、数据库口令、私钥等不要直接粘贴到提示词里;需要访问密钥时应通过环境变量或受保护的本地配置注入。对话历史可能被导出、上报(如 /bug 分享内容需你确认范围),敏感凭据一旦进入上下文就存在泄露面。
本节你掌握了上下文窗口的含义、五类信息来源及其"是否跨会话保留"、/compact 与 /clear 的分工,以及高效利用上下文的实践。下一节(本章最后一节)我们讲解贯穿始终的权限模型与内置工具:六种权限模式分别能做什么、如何安全切换、核心工具各自负责什么动作。
← 上一节:会话界面与工具调用过程解读 下一节:权限模型与内置工具概览 →