J'Blog

7 课 · 入门

语义检索

基于 Chroma 向量库,与 Workspace 知识库分离。用自然语言描述你想查的内容。 非管理员每人每天可检索 5 次(消耗站点 AI 配额)。

探索上下文窗口

原文:Explore the context window

一句话

理解 Claude Code 上下文窗口的组成和工作原理,有效管理上下文使用。

什么时候翻这页

  1. 当你想了解 Claude Code 在会话开始前自动加载了哪些内容
  2. 当你好奇为什么某些内容在终端中不可见但仍在上下文中
  3. 当你需要优化上下文使用以避免达到限制
  4. 当你想了解子代理如何帮助管理大型文件读取

核心概念

  • 上下文窗口(context window):Claude Code 存储关于会话的所有内容的地方,包括你的指令、文件内容、响应和永远不会出现在终端中的内容
  • 自动加载(auto-loaded):在用户输入前自动加载到上下文的内容,如系统提示、CLAUDE.md、自动记忆等
  • 文件读取(file read):Claude 读取文件时添加到上下文的内容,会消耗大量 token
  • 规则(rules):根据文件路径模式自动加载的指令,与匹配文件同时加载
  • 钩子(hooks):在工具使用后自动运行的代码,可通过 additionalContext 向 Claude 发送信息
  • 子代理(subagents):使用独立上下文窗口的代理,避免大型文件读取影响主上下文
  • 压缩(compact):将对话替换为结构化摘要以释放空间,保留关键信息

怎么做

  1. 理解上下文窗口的组成

    • 系统提示:核心指令、工具使用和响应格式
    • 自动记忆(MEMORY.md):来自之前会话的笔记
    • 环境信息:工作目录、平台、shell、操作系统版本
    • MCP 工具:工具名称列表,具体模式按需加载
    • 技能描述:可用技能的一行描述
    • CLAUDE.md:全局和项目级偏好和指令
  2. 监控上下文使用

    • 使用 /context 命令查看实时上下文使用情况分类和优化建议
    • 使用 /memory 检查启动时加载的 CLAUDE.md 和自动记忆文件
  3. 管理上下文使用

    • 使用 /compact 压缩旧对话,替换为结构化摘要
    • 使用 /clear 在切换任务时清除旧对话
    • 将研究任务委托给子代理,避免大型文件读取影响主上下文
  4. 优化 CLAUDE.md

    • 保持在 200 行以内
    • 将参考内容移至技能或路径范围规则,使其仅在需要时加载

命令 / 配置速查

命令功能
/context查看实时上下文使用情况分类和优化建议
/memory检查启动时加载的 CLAUDE.md 和自动记忆文件
/compact压缩对话历史,替换为结构化摘要
/clear清除旧对话,为下一任务腾出空间
ENABLE_TOOL_SEARCH=auto在上下文窗口的 10% 内加载工具模式
ENABLE_TOOL_SEARCH=false加载所有工具模式
disable-model-invocation: true防止技能在启动时加载到上下文

初学者易错点

  1. 认为所有文件内容都会在终端中显示 - 实际上只有部分内容可见,大部分内容仅 Claude 可见
  2. 忽略自动加载的内容占用了大量上下文空间,在用户输入前已消耗大量 token
  3. 不了解子代理可以避免大型文件读取影响主上下文,只有最终摘要返回
  4. 不定期使用 /compact 导致上下文使用过高影响性能
  5. 技能描述不会在压缩后重新加载,只有实际调用的技能才会保留

相关词条

  • memory - 存储指令和记忆
  • skills - 可重用的代码片段和指令
  • rules - 基于文件路径的自动加载规则
  • hooks-guide - 工具使用后自动运行的代码
  • sub-agents - 委托研究到独立上下文窗口
  • best-practices - 管理上下文作为主要约束的最佳实践

官方原文:https://code.claude.com/docs/en/context-window