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包含了哪些东西,如下。

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效率来的高。

参考文档

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐