上下文:代理"看到"了什么、记住了什么

所属教程: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:唯一可靠的跨会话载体

CLAUDE.md 是放在项目里的纯文本记忆文件,是代理每次进入该项目时会参考的"项目说明书":

# 在项目目录启动会话后生成起始项目记忆
/init

四、上下文变满时的三种处理命令

命令做什么适用场景注意
/compact [聚焦说明]把早期对话压缩成摘要,腾出上下文空间,可附带"重点保留哪些信息"的指令同一会话连续工作很久、历史冗长但仍需继续当前任务压缩是摘要化,极细的原始细节可能被概括
/clear清空对话历史、重新开始;项目记忆与设置保留切换到一个不相关的新子任务,旧上下文反而干扰判断清空前确认关键结论已写入 CLAUDE.md 或代码注释
/autocompact [auto | 大小]设置自动压缩阈值:上下文占用达到设定窗口时自动压缩;传 auto 回到模型自适应值长任务希望系统自动管理,避免手动干预设置保存到用户偏好并作用于当前会话

此外,退出终端后想接着上次工作,用启动参数恢复会话,而不是从零开始:

# 继续最近一次会话;或按 ID 恢复指定会话
claude --continue
claude --resume <sessionId>

五、让上下文"又准又省"的实践清单

安全红线:不要把敏感信息贴进对话上下文

API 密钥、访问令牌、数据库口令、私钥等不要直接粘贴到提示词里;需要访问密钥时应通过环境变量或受保护的本地配置注入。对话历史可能被导出、上报(如 /bug 分享内容需你确认范围),敏感凭据一旦进入上下文就存在泄露面。

本节小结与下一节预告

本节你掌握了上下文窗口的含义、五类信息来源及其"是否跨会话保留"、/compact 与 /clear 的分工,以及高效利用上下文的实践。下一节(本章最后一节)我们讲解贯穿始终的权限模型与内置工具:六种权限模式分别能做什么、如何安全切换、核心工具各自负责什么动作。

← 上一节:会话界面与工具调用过程解读  下一节:权限模型与内置工具概览 →

本教程目录

返回教程列表 · AI最前沿首页 · AI百科