2026年2月1日星期日

Prevent Context Overload in Claude Code with Progressive Disclosure

Summary: This guide introduces a "foolproof switch" for Claude Code to avoid inefficient full-file reads. By combining prompt rules in CLAUDE.md and a Python hook script, it enforces progressive disclosure: first grep for structure, then read targeted sections with offset/limit parameters. This reduces token usage and improves accuracy.

场景说明

当 Claude Code 读取代码时,常常会倾向于直接读取整个文件。如果文件特别大(比如超过 5000 行),将这些内容全部塞进上下文会导致效率低下。

什么是"渐进式披露"?

这就像人类程序员接手新项目时的做法:不会一开始就通读 10 万行代码,而是先查看目录结构(ls),再搜索关键字(grep),最后只打开相关的几十行代码(read)。

image

Anthropic 的文档也一直强调这一点:先让模型通过搜索定位,再通过切片读取。

但在实际运行时,Claude Code 往往"太勤快",直接读取整个文件。因此,我们需要为它设置一个"防呆开关"。


Hook 工作机制

这是一个在 PreToolUse 阶段(工具调用前)进行拦截的 Python 脚本。它配合项目中的 CLAUDE.md 提示词,共同引导 Claude Code 进行精确的上下文读取。

核心逻辑

方案由两部分组成:

  1. 提示词规则
    :在 CLAUDE.md 中明确文件读取策略。
  2. 拦截脚本
    :在工具调用前检查参数,并强制模型遵循策略。
image

为什么这个方法有效?

这利用了 LLM 的一个特性:它们会认真对待"报错信息"。当工具调用失败并返回明确的"推荐路径"时,Claude Code 会立即自我修正,从而被拉回"渐进式披露"的最佳实践路径。image


如何配置

你需要准备两个部分:

  1. 项目根目录下的规则文件(CLAUDE.md 或 AGENTS.md)。
  2. 实际执行拦截的 Python 脚本。

提示词(CLAUDE.md)

将以下内容添加到你的项目提示词文件中,以指导 Claude Code 的读取策略。

中文版本

文件读取策略
强制规则:每次调用 Read 工具时必须指定 offset 和 limit 参数,禁止使用默认值。

参数
要求
说明
offset
必须指定
起始行号(从 0 开始)
limit
必须指定
读取行数,单次不超过 500 行

读取流程

  1. 侦察
    :先用 Grep 了解文件结构,或定位目标关键词行号。
  2. 精准打击
    :使用 offset + limit 精确读取目标区域。
  3. 扩展
    :如果需要更多上下文,再调整 offset 继续读取。

目标:保持上下文精准、最小化。若不遵守,工具调用将被 Hook 拦截。

English Version

File Reading Strategy
MANDATORY RULE: Every Read tool call MUST specify offset and limit parameters. Default full-file reads are prohibited for non-trivial files.

Param
Requirement
Description
offset
REQUIRED
Start line number (0-indexed)
limit
REQUIRED
Max lines to read (Max 500)

Workflow

  1. Recon
    : Use Grep first to understand structure or locate keywords.
  2. Surgical Read
    : Use offset + limit to read only the relevant section.
  3. Expand
    : Adjust offset to read more context only if strictly necessary.

Goal: Keep context precise and minimal. Violations will be blocked by the PreToolUse hook.


Hook(Python 脚本)

你可以从相关 GitHub 仓库获取该 Hook 文件,并配置到 Claude Code 中(如果不熟悉,也可以直接将文件交给 Claude Code 协助配置)。


https://github.com/Cedriccmh/cc-read-limit-hook


脚本虽然稍长,但逻辑简单:检查文件大小 → 检查参数 → 决定放行、自动修正或报错拦截。


效果

配置完成后,Claude Code 的行为模式将发生变化:

  • 虽然增加了一步交互,但上下文极其干净。
  • Token 消耗大幅降低。
  • 代码修改的准确率反而提高。
image

没有评论:

发表评论

揭秘烟酒店盈利:合规渠道与经营策略分析

烟酒店盈利不单靠零售。合法途径包括喜宴供货、节日礼品、企业团购及囤货低买高卖;高额流水则涉及供应链分工。另需警惕回收烟酒、跨区销售等违法行为。 烟酒店的盈利探秘 我家楼下烟酒店听说一年能够赚两百多个,一天也不见得进几个人,你猜他们都是怎么赚钱的?我来用两分钟跟你说清楚,一家烟...