rag系列文章目录
文章目录
前言
ai时代,使用claude code进行软件开发,几乎是程序员的标配了。但是大家在使用的过程中,会遇到很多问题,总之就是觉得大模型好像没有那么牛,那么就需要了解一下claude code的context window了,也就是上下文。
一、简介
大模型,它是无状态的,也就是说,每次你对它进行问答,它并不会将前后两次问答记录联系起来,对agent来说,如果要保持记忆,就是需要将聊天记录携带着,进行下一次的问答。
claude code就是一种agent,Claude 的上下文窗口保存您的对话历史、文件内容、命令输出、CLAUDE.md、自动内存、加载的 skills 和系统说明。那么它可以最大是多少呢,它主要受限于大模型的输入和输出长度,一般说claude 4.6模型上下文窗口200k,指的就是大模型的maxtoken,一般指的是输入加输出的最大值。
二、context监控
claude code提供/context命令,可以看到具体的context包含了哪些东西,如下。
bash
Context Usage
⛁ ⛀ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ claude-sonnet-4-5-20250929 · 101k/200k tokens (51%)
⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁
⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛁ ⛀ ⛶ ⛁ System prompt: 3.1k tokens (1.6%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ System tools: 19.8k tokens (9.9%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ MCP tools: 26.5k tokens (13.3%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ Custom agents: 2.8k tokens (1.4%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛁ Memory files: 4.0k tokens (2.0%)
⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛶ ⛝ ⛝ ⛝ ⛁ Messages: 8 tokens (0.0%)
⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛶ Free space: 99k (49.4%)
⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ ⛝ Autocompact buffer: 45.0k tokens (22.5%)
这里mcp tools指的是配置的mcp的元信息,这里是每次调用大模型api的时候,都是会携带的。Messages是聊天对话信息,如果执行/clear命令,清除的就是这里的tokens。Memory files指的是加载的claude.md文件、以及rules文件。
这里的Free space就是用户可以输入的内容,随着用户聊天越来越多,这里就会慢慢变小,Messages慢慢变大。
当你发现大模型出现以下现象时,就是上下文即将慢的报警:
- Claude 忘记了对话中你之前做出的决定
- Claude 重复执行已经完成的工作
- Claude 提出你已经回答过的问题
- 解决方案开始与之前的处理方式相矛盾
当你遇到上面的现象,如果你觉得你没有完成任务,可以考虑/compact进行压缩,如果和上面的会话没有关系,可以进行/clear.
三、优化策略
- 定期监控
在每次会话开始时运行 /context 命令,以了解您的基准使用情况 - 审核 MCP 服务器
mcp过多,会浪费很多token,移除近期未使用的 MCP 服务器;仅是存在,每台服务器都会消耗token。 - 优先使用技能而非 MCP 服务器
构建新功能时,应优先考虑技能,通过渐进式披露提升上下文效率 - 任务间清理
在切换无关工作时,请广泛使用 /clear - 战略性压缩
在相关工作阶段之间过渡时,使用 /compact 并配合自定义指令 - 委派复杂工作
对于自包含的任务,使用子代理以将其上下文与主对话隔离
总结
充分利用好claude code进行ai出码的前提,是你要了解它,懂得这些基本原理,碰到问题时,就可以根据具体情况进行处理优化,不至于在ai coding的时候浪费大量时间。有时你会发现,没有合适的技巧,使用ai coding还没有自己coding效率来的高。