Loading...
Loading...
Compare original and translation side by side
/cache-audit/cache-audit$PROJECT$PROJECT~/.claude/CLAUDE.md$PROJECT/CLAUDE.md~/.claude/rules/*.md$PROJECT/.claude/rules/*.md~/.claude/projects/*/memory/MEMORY.mdnew Date()currentDate~/.claude/CLAUDE.md$PROJECT/CLAUDE.md~/.claude/rules/*.md$PROJECT/.claude/rules/*.md~/.claude/projects/*/memory/MEMORY.mdnew Date()currentDate~/.claude/settings.json$PROJECT/.claude/settings.jsonadditionalContext<system-reminder>hookSpecificOutputhookSpecificOutputadditionalContext| Hook Event | Expected Pattern |
|---|---|
| SessionStart | |
| UserPromptSubmit | Logging only, no |
| PreCompact | Logging/backup only, no context injection |
| All others (Stop, SessionEnd, Notification, etc.) | No prefix modification |
additionalContext~/.claude/settings.json$PROJECT/.claude/settings.jsonadditionalContext<system-reminder>hookSpecificOutputadditionalContexthookSpecificOutput| 钩子事件 | 预期模式 |
|---|---|
| SessionStart | 带有精简Git上下文的 |
| UserPromptSubmit | 仅记录日志,无 |
| PreCompact | 仅记录/备份,无上下文注入 |
| 其他所有事件(Stop、SessionEnd、Notification等) | 不修改前缀 |
additionalContext~/.claude.json$PROJECT/.mcp.json8 total MCP servers (each adds tool schema tokens to the prefix)
ToolSearch~/.claude.json$PROJECT/.mcp.jsonToolSearch~/.claude/settings.jsonmodelalwaysThinkingEnabled.claude/agents/*.mdmodel:model:~/.claude/settings.jsonmodelalwaysThinkingEnabled.claude/agents/*.mdmodel:model:| Source | How to Measure | PASS | WARNING | FAIL |
|---|---|---|---|---|
| SessionStart hook | Read code — estimate | < 200 | 200–2K | > 2K |
| UserPromptSubmit hook | Read code — does it emit | No output | < 500 | > 500 |
| Built-in git status | Run | < 2K | 2–10K | > 10K |
| Use ~4 chars per token as the conversion estimate. |
| 来源 | 测量方式 | 通过 | 警告 | 失败 |
|---|---|---|---|---|
| SessionStart钩子 | 读取代码 —— 估算 | < 200 | 200–2K | > 2K |
| UserPromptSubmit钩子 | 读取代码 —— 是否输出 | 无输出 | < 500 | > 500 |
| 内置Git状态 | 运行 | < 2K | 2–10K | > 10K |
| 使用约4字符=1token的转换比例进行估算。 |
additionalContextadditionalContext| Component | How to Find |
|---|---|
| CLAUDE.md (global) | |
| CLAUDE.md (project) | |
| Rules (global) | Each file in |
| Rules (project) | Each file in |
| MEMORY.md | Match current project under |
wc -c| 组件 | 查找路径 |
|---|---|
| CLAUDE.md(全局) | |
| CLAUDE.md(项目级) | |
| 规则(全局) | |
| 规则(项目级) | |
| MEMORY.md | 在 |
wc -c~/.claude/rules/$PROJECT/.claude/rules/~/.claude/rules/$PROJECT/.claude/rules/project-implementation.md~/.claude/rules/$PROJECT/.claude/rules/project-implementation.mdproject-implementation.md~/.claude/rules/$PROJECT/.claude/rules/~/.claude/rules/$PROJECT/.claude/rules/project-implementation.md~/.claude/rules/$PROJECT/.claude/rules/project-implementation.mdproject-implementation.md━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PROMPT CACHE AUDIT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Score: X/8
[✅/⚠️/❌] Check 1 — Prefix Ordering: [PASS/WARNING/FAIL]
→ [finding]
[✅/⚠️/❌] Check 2 — Hook Injection: [PASS/WARNING/FAIL]
→ [each hook and its pattern]
[✅/⚠️/❌] Check 3 — Tool Stability: [PASS/WARNING/FAIL]
→ [N global + N project MCP servers, any issues]
[✅/⚠️/❌] Check 4 — Model Consistency: [PASS/WARNING/FAIL]
→ [model config]
[✅/⚠️/❌] Check 5 — Dynamic Content: [PASS/WARNING/FAIL]
→ [size breakdown per injection point]
[✅/⚠️/❌] Check 6 — Fork Safety: [PASS/WARNING/FAIL]
→ [compaction + subagent pattern]
[✅/⚠️/❌] Check 7 — Prefix Budget: [PASS/WARNING/FAIL]
→ Total: XX,XXX chars (~X,XXX tokens, X.X% of 200K)
→ Top 5 largest:
1. filename — X,XXX chars (~X,XXX tokens)
2. filename — X,XXX chars (~X,XXX tokens)
3. ...
[✅/⚠️/❌] Check 8 — Rule Efficiency: [PASS/WARNING/FAIL]
→ [duplicate count + wasted tokens]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TOKEN BUDGET SUMMARY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Static prefix: ~XX,XXX tokens (X.X% of 200K window)
Per-turn injection: ~XXX tokens
Per-builder spawn: ~X,XXX tokens
Per-lightweight spawn: ~XX tokens
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TOP FIXES (ranked by token savings)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. [Most impactful fix — exact steps]
2. [Second most impactful — exact steps]
3. [Third — if applicable]━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PROMPT缓存审计报告
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
评分:X/8
[✅/⚠️/❌] 检查1 — 前缀排序:[通过/警告/失败]
→ [检查结果]
[✅/⚠️/❌] 检查2 — 钩子注入:[通过/警告/失败]
→ [每个钩子及其模式]
[✅/⚠️/❌] 检查3 — 工具稳定性:[通过/警告/失败]
→ [N个全局 + N个项目级MCP服务器,存在的问题]
[✅/⚠️/❌] 检查4 — 模型一致性:[通过/警告/失败]
→ [模型配置情况]
[✅/⚠️/❌] 检查5 — 动态内容:[通过/警告/失败]
→ [每个注入点的大小明细]
[✅/⚠️/❌] 检查6 — 分支安全性:[通过/警告/失败]
→ [压缩 + 子代理模式情况]
[✅/⚠️/❌] 检查7 — 前缀预算:[通过/警告/失败]
→ 总大小:XX,XXX字符(约X,XXX token,占200K窗口的X.X%)
→ 前5个最大文件:
1. 文件名 —— X,XXX字符(约X,XXX token)
2. 文件名 —— X,XXX字符(约X,XXX token)
3. ...
[✅/⚠️/❌] 检查8 — 规则效率:[通过/警告/失败]
→ [重复文件数量 + 浪费的token量]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
TOKEN预算汇总
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
静态前缀: ~XX,XXX token(占200K窗口的X.X%)
每轮注入: ~XXX token
每个构建器启动: ~X,XXX token
每个轻量级启动: ~XX token
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
优先修复方案(按节省token量排序)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
1. [影响最大的修复方案 —— 具体步骤]
2. [影响第二大的修复方案 —— 具体步骤]
3. [第三项(如有需要)]| Rule | Do | Don't |
|---|---|---|
| Ordering | Static CLAUDE.md + rules, dynamic in messages | Timestamps/dates/git refs in prefix files |
| Updates | | Edit CLAUDE.md or rules mid-session |
| Tools | Fixed tool set + deferred MCP stubs | Add/remove tools per turn |
| Models | One model per conversation, subagents for switches | Inline model switching |
| Size | Trim injections to minimum needed | Dump full git status (40K+ chars) |
| Forks | Built-in compaction, | Custom prefix rebuilds |
| Budget | Static prefix < 15K tokens | Bloated CLAUDE.md, massive rule files |
| Layers | User-level generic + project-level | Same rule files at both levels |
| 规则 | 应该做 | 不应该做 |
|---|---|---|
| 排序 | 静态CLAUDE.md + 规则在前,动态内容在消息中 | 前缀文件中包含时间戳/日期/Git引用 |
| 更新 | 使用 | 会话期间编辑CLAUDE.md或规则 |
| 工具 | 固定工具集 + 延迟加载MCP存根 | 每轮添加/移除工具 |
| 模型 | 每个会话使用一个模型,子代理处理切换 | 内联模型切换 |
| 大小 | 将注入内容精简到最小必要量 | 输出完整Git状态(40K+字符) |
| 分支 | 使用内置压缩,仅用 | 自定义前缀重建 |
| 预算 | 静态前缀 <15K token | 臃肿的CLAUDE.md、超大规则文件 |
| 层级 | 用户级通用规则 + 项目级 | 两个层级使用相同的规则文件 |