[AI书房] 第23章 上下文管理的技巧:聪明地使用助手
Claude Code完全掌握
Claude Code完全掌握
第23章 上下文管理的技巧:聪明地使用助手
金京镇
引言
你问助手:「上个月定下的新产品上线日期是什么时候?」几秒钟后,智能体不仅找到了准确日期,还附上了当时做出决定的理由。这并不是因为智能体有多聪明,而是因为信息被存放在了正确的位置,并且采用了正确的格式。
试想相反的情形。所有信息都挤在一个 CLAUDE.md 文件里,,用户资料、团队架构、项目进展、决策记录、技能用法,加起来超过五百行。智能体每次都要从头读到尾。模型计量的文本片段迅速消耗殆尽,上下文窗口很快触顶。智能体响应变慢,精准度随之下滑。
上下文管理(Context Management)是决定执行助手性能的隐形基础设施。与花哨的技能相比,这层基础设施设计得好不好,才真正决定了助手能力的上限。
context、decisions、archives 三个文件夹的职责
项目文件夹里有三个核心文件夹。名字看上去普通,但它们各自负责的时间维度截然不同。
context 文件夹:承载当下。这里存放的是此刻仍然有效的信息。me.md 记录用户的姓名、角色和偏好;work.md 记录企业当前的架构与主要产品;team.md 记录协作伙伴的姓名与角色;priorities.md 记录本周和本季度的核心任务。
goals.md 里保存着年度目标和各季度里程碑。
智能体执行早安咖啡技能、撰写内容或进行调研时,这个文件夹里的文件就是判断依据。问一句「本季度目标是什么?」,智能体之所以能回答,是因为它只需要读取 context/goals.md。
这些文件并不是一成不变的。季度交替时 priorities.md 会更新,有新成员加入时 team.md 会补充条目。对智能体说一句「帮我更新 priorities」,它就会直接修改文件。
decisions 文件夹:留存过去的判断。每当做出重要决策,这个文件夹里的 log.md 就会新增一条记录,包含日期、决策内容、理由和当时的背景。
## 2026-03-10 **决策**:将西海岸扩张计划推迟至四月 **理由**:当前资源集中在网站上线,同步推进可能导致质量下降 **背景**:网站上线截止日期 3月31日,正在招聘一名新成员
这条记录为什么重要?两个月后你忽然想起「当初为什么把西海岸扩张推到了四月?」,智能体可以查到这条日志并给出答案。不需要靠记忆。组织规模越大,追溯过去决策的原因就越困难,这个文件夹正好解决了这个问题。
archives 文件夹:存放上一季的记录。季度结束后,该季度的目标与进度记录会迁移至此。context 文件夹只保留当前季度的信息,历史数据归档到 archives。这样既防止 context 文件夹膨胀,又能在需要时随时查阅过往记录。
[图 23-1] context、decisions、archives 文件夹的时间轴示意图]
三个文件夹的关系可以这样概括:context 是当下,decisions 是决策的历史,archives 是过去的快照。随着时间推移,context 中的部分内容迁入 archives,新信息填充进 context。decisions 则持续累积。
信息的分层布局
第20章讲过,CLAUDE.md 扮演路由器的角色。这里我们把这个概念再往深处推进一步。
智能体处理用户消息的顺序如下。
1. 加载 CLAUDE.md(每次对话的起点)。2. 分析用户的请求。3. 按照 CLAUDE.md 中的路径指引,判断所需信息存放在哪里。4. 仅选择性地读取对应文件。
如果没有这套结构会怎样?要么把所有信息塞进 CLAUDE.md,要么让智能体在整个项目中翻找。前者浪费模型计量的文本片段,后者浪费时间。
[图 23-2] 信息层级结构:CLAUDE.md → 路由 → 各上下文文件]
CLAUDE.md 里会这样写。
## 上下文指引 - 需要了解用户信息 → context/me.md - 需要企业信息 → context/work.md - 需要团队成员信息 → context/team.md - 查看当前重点任务 → context/priorities.md - 查看季度目标 → context/goals.md ## 项目指引 - 网站上线 → projects/website-launch/README.md - 西海岸扩张 → projects/west-coast-expansion/README.md - 冬季活动 → projects/winter-events/README.md
这种方式的好处不止于节省模型计量的文本片段。它保证了信息的单一可信来源(Single Source of Truth)。用户信息只存在于 me.md 一个地方,修改时只需改一个文件。假如 CLAUDE.md 和 me.md 两处都有用户信息,只改了其中一处就会出现不一致。
设计路由结构时,原则很清晰。
技能文件同样遵循这一原则。技能的 YAML 前置元数据只放名称和描述,智能体选定技能后才加载完整指令。参考文件和脚本只在必要时才额外读取。这三步加载过程叫做渐进式上下文加载。
[图 23-3] 渐进式上下文加载的三个阶段]
与项目管理工具的对接
context 文件夹的文件整理得再好,如果缺少实时数据,助手的判断就会停留在过去。团队成员今天早上完成了一项任务,但 priorities.md 里还标着「进行中」,这就成了问题。
填补这个时差的办法,就是与项目管理工具对接。让智能体直接连接 ClickUp、Notion、Asana 等工具,拉取最新数据。对接方式主要有两种。
API 对接。把工具的 API 密钥保存在 .env 文件中,然后为智能体配置相应技能,使其能通过 API 读写数据。对智能体说「帮我做一个 ClickUp 对接技能,API 密钥我放在 .env 里」,智能体就会查阅 API 文档并编写技能。
MCP 连接服务器对接。通过 MCP(Model Context Protocol)服务器进行连接。MCP 连接服务器充当项目管理工具与智能体之间的桥梁。如果有 ClickUp 专用的 MCP 连接服务器,智能体就可以用自然语言请求:「给我看看本周截止的任务。」
[图 23-4] 项目管理工具对接架构示意图]
对接完成后,早安咖啡技能和脉搏检查技能就能基于实时数据运转。priorities.md 中的静态信息与项目管理工具提供的动态信息结合在一起,智能体的判断精准度随之提升。
对接过程中有一点需要留意。智能体在项目管理工具中检索数据时,每次遍历列表、提取 ID 的过程可能大量消耗模型计量的文本片段。正如第21章提到的,把常用的列表 ID 预先写在技能文件里,就能降低这部分开销。
在观察智能体工作的过程中,如果你发现了反复出现的检索模式,把它硬编码进去是一种务实的优化手段。
# 脉搏检查技能中的硬编码示例 ## ClickUp 列表 ID - 内容制作:list_abc123 - 网站上线:list_def456 - 西海岸扩张:list_ghi789 请使用这些 ID 直接访问,不要调用列表搜索 API。
每天使用,助手就会越来越精准,,它的进化路径
连续使用助手一个月,项目文件夹的面貌会发生显著变化。第一天,context 文件夹里只有四个文件加上 CLAUDE.md;三十天后,技能文件夹里多出了好几个技能,调研报告逐渐积累,决策日志越写越长,各项目文件夹里填满了产出物。
这些积累就是助手的智能。即使底层模型没有更换,可供参考的数据丰富了,响应的精准度自然就上去了。
按时间线画出这条进化路径。
第一周:打地基。通过访谈填充 context 文件,创建第一个技能。这时智能体的回复可能还比较笼统,像是在和一位「还不了解你业务的新助理」对话。
第二周:发现规律。每天使用下来,你会注意到反复出现的请求。「这个可以做成技能」的直觉开始冒出来。把之前在 ChatGPT 项目或自定义 GPT 里写过的提示词搬过来,转化为技能。在给智能体反馈修改意见的过程中,技能质量稳步提升。
第三到第四周:进入稳态。每天跑早安咖啡技能,每周做两到三次调研,用内容生成技能撰写社交媒体帖子。智能体对业务背景的理解日渐深入,建议的命中率明显上升。到了这个阶段,你会觉得「跟一个月前比,我用的根本不像同一个工具」。
[图 23-5] 助手进化时间线:第1周 → 第2周 → 第4周]
有几个习惯可以加速这种进化。
对Agent说「记住这个」。比如:「记住,我总是喜欢在上午做专注工作。」Agent会把这条信息保存到 me.md 或合适的文件中。下次运行晨间咖啡技能时,专注工作就会自然地被安排在上午。
观察技能执行过程并给出修改意见。头三四次,先观察Agent执行技能的过程。如果发现多余的API调用,就告诉它:「跳过那个步骤,直接用这个ID。」Agent修改技能文件后,下次执行就会更高效。
定期检查上下文文件。Agent会根据 CLAUDE.md 中设定的周期(每周、每月、每季度)提议更新文件。每周自动整理记忆,每月更新 priorities.md,每季度刷新目标文件。坚持这个节奏,上下文就不会过时。
深入了解 .claude 文件夹结构
.claude 文件夹是存放助手内部配置的空间,位于项目根目录下,主要由三个子文件夹构成。
.claude/ ├── skills/ │ ├── morning-coffee/ │ │ └── skill.md │ ├── research/ │ │ ├── skill.md │ │ └── references/ │ ├── pulse-check/ │ │ └── skill.md │ └── infographic-builder/ │ ├── skill.md │ └── scripts/ ├── agents/ │ ├── research-agent.md │ └── clickup-searcher.md └── rules/ └── communication-style.md
skills 文件夹。每个技能拥有独立的子文件夹。技能文件夹中有 skill.md,根据需要还可以添加 references/ 或 scripts/ 子文件夹。参考文件和脚本并不一定非要放在 .claude/skills/ 里面。只要 skill.md 中指向了正确的路径,放在项目的任何位置都可以。
agents 文件夹。存放辅助Agent的配置文件。每个Agent文件中描述了角色、使用的模型和要执行的任务。主Agent在委派工作时会参考这些文件。
rules 文件夹。存放约束Agent行为的规则,包括沟通风格、格式规范、禁用表达等。比如「使用项目符号」「语气简洁」「禁止使用破折号」这类细节指令。
[图 23-6] .claude 文件夹的内部结构及各子文件夹的职责]
这套结构的核心是分离与引用。不把所有配置塞进一个文件,而是按用途分离,在需要的地方通过路径引用。技能增长到10个、20个,只要坚持这个原则,管理起来并不困难。
还有一个概念叫全局技能(Global Skill)。把技能安装在用户的主目录(Home Directory)而不是 .claude/skills/ 里,这样无论打开哪个项目都能使用该技能。适合前端设计技能这类不局限于特定项目的通用技能。
结语
上下文管理并不华丽。创建文件夹、分离文件、整理路径,看起来都是枯燥的工作。但如果没有这套基础设施,技能就会在缺乏上下文的情况下运行,Agent的回答停留在泛泛而谈的水平,越用越聪明的良性循环根本无从开启。
context 文件夹承载当下,decisions 记录判断的历史,archives 保存过去,CLAUDE.md 充当这一切的交汇枢纽。这套结构,才是把助手从一个普通聊天机器人变成事业大脑的根基。
在这个根基之上,技能会越来越精细,Agent逐渐学会用户的判断模式,一个月前无法想象的自动化水平变成了日常。不过,一个Agent处理所有事情终究有极限。把复杂任务分配给多个专业Agent的架构,也就是辅助Agent的世界,将在下一章展开。
人工智能专家 金京镇 律师
AI法律政策专家 · 前国会议员 · 著作等身
如果这本书曾在您身边停留片刻,请支持我们,让下一个故事得以问世。
(自愿赞助账户:农协 302-1096-0948-81 户名:金京镇)










