在《Claude Code 全方位速查指南》中,我介绍了基础设置:技能 (Skills)、钩子 (Hooks)、子智能体 (Subagents)、MCPs、插件以及构成高效 Claude Code 工作流骨架的配置模式。那是基础架构篇。
这篇深度指南涵盖了将“高效会话”与“浪费时间的会话”区分开来的技术。如果你还没读过速查指南,请先回去配置好你的环境。接下来的内容假设你已经配置并运行了技能、智能体、钩子和 MCP。
核心主题:代币经济学 (Token Economics)、记忆持久化 (Memory Persistence)、验证模式 (Verification Patterns)、并行策略 (Parallelization Strategies) 以及构建可复用工作流的复利效应。这些是我在 10 多个月的日常使用中提炼出的模式,它们决定了你是刚过一小时就被“上下文腐烂 (Context Rot)”困扰,还是能保持数小时的高效产出。
所有相关代码均可见 GitHub:everything-claude-code
1. 上下文与记忆管理 (Context & Memory Management)
为了在不同会话间共享记忆,最好的办法是创建一个 Skill 或 Command,用于总结当前进度,检查状态,并将其保存到 .claude 文件夹下的 .tmp 文件中,并持续追加直到会话结束。第二天,你可以利用该文件作为上下文继续工作。为每个会话创建一个新文件,以免将旧的上下文污染到新工作中。
Claude 会创建一个总结当前状态的文件。你需要审查它,必要时要求修改,然后重新开始。对于新会话,只需提供该文件路径。当你达到上下文限制并需要继续复杂工作时,这尤其有用。
这些文件应包含:
- 经证据核实有效的方案
- 尝试过但无效的方案
- 尚未尝试的方案及剩余工作
策略性压缩上下文 (Clearing Context Strategically)
一旦你制定了计划并清理了上下文(现在 Claude Code 的计划模式中有默认选项),就可以按照计划行事。为了进行策略性压缩,请禁用自动压缩 (auto compact)。在逻辑间隔处手动压缩,或创建一个 Skill 来根据定义好的标准建议你压缩。
#!/bin/bash
# Strategic Compact Suggester
# Runs on PreToolUse to suggest manual compaction at logical intervals
COUNTER_FILE="/tmp/claude-tool-count-$$"
THRESHOLD=${COMPACT_THRESHOLD:-50}
# Initialize or increment counter
if [ -f "$COUNTER_FILE" ]; then
count=$(cat "$COUNTER_FILE")
count=$((count + 1))
echo "$count" > "$COUNTER_FILE"
else
echo "1" > "$COUNTER_FILE"
count=1
fi
# Suggest compact after threshold tool calls
if [ "$count" -eq "$THRESHOLD" ]; then
echo "[StrategicCompact] $THRESHOLD tool calls reached - consider /compact if transitioning phases" >&2
fi
2. 高级技巧:动态系统提示词注入 (Dynamic System Prompt Injection)
我正在尝试的一种模式是:不要只把规则放在 CLAUDE.md (用户级) 或 .claude/rules/ (项目级) 中——这些会在每次会话都加载。相反,使用 CLI 标志来动态注入上下文。
claude --system-prompt "$(cat memory.md)"
为什么这比 @file 引用更重要?
当你使用 @memory.md 或放在 .claude/rules/ 中时,Claude 是通过 Read 工具读取它们的——这被视为工具输出。而使用 --system-prompt 时,内容会在对话开始前被注入到实际的系统提示词 (System Prompt) 中。系统提示词具有比用户消息更高的权威性。
3. 高级技巧:记忆持久化钩子 (Memory Persistence Hooks)
利用以下钩子自动化记忆管理:
- PreCompact Hook: 在上下文压缩前保存状态。
- SessionStart Hook: 自动加载之前的上下文。
- Stop Hook: 会话结束时持久化知识。
{
"hooks": {
"PreCompact": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/memory-persistence/pre-compact.sh"
}]
}],
"SessionStart": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/memory-persistence/session-start.sh"
}]
}],
"Stop": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/.claude/hooks/memory-persistence/session-end.sh"
}]
}]
}
}
4. 持续学习 / 记忆 (Continuous Learning)
如果 Claude 总是犯同样的错误,你需要“重新引导”。当 Claude Code 发现了一些非琐碎的东西(调试技巧、变通方案),它应将该知识保存为一项新 Skill。
手动提取 (/learn)
你不必等到会话结束。使用仓库中的 /learn 命令,当你刚刚解决了一个难题时中途运行它,提取模式并保存为 Skill。
5. 代币优化 (Token Optimization)
首要策略:子智能体架构
- Sonnet (默认): 90% 的编码任务。
- Opus (升级): 涉及架构决策或安全关键代码。
- Haiku (降级): 重复性任务或简单的“工人”角色。
工具优化:
- 使用
mgrep替代grep(节省约 50% Token)。 - 后台进程: 使用 tmux 在后台运行构建或日志进程,只将关键输出流式传输给 Claude。
6. 验证循环与评估 (Verification Loops and Evals)
评估模式类型:
- 基于检查点的评估 (Checkpoint-Based): 适用于具有明确里程碑的线性工作流。在每个点验证标准。
- 持续评估 (Continuous): 适用于长时间的探索性重构。每 N 分钟运行全套测试。
评分指标:
pass@k: k 次尝试中至少一次成功(注重结果)。pass^k: 所有 k 次尝试必须都成功(注重一致性/确定性)。
7. 并行化 (Parallelization)
Git Worktrees 是核心:
当扩展实例且多个 Claude 在处理相互重叠的代码时,必须使用 Git Worktree。每个 Worktree 运行独立的 Claude 实例,避免 Git 冲突。
级联法 (The Cascade Method):
向右打开新 Tab,从左到右扫描。同时关注不超过 3-4 个任务。
8. 基础工作与最佳实践 (Groundwork)
双实例启动模式 (The Two-Instance Kickoff):
- 实例 1 (脚手架智能体): 搭建项目结构,配置规则。
- 实例 2 (深度研究智能体): 搜索文档,创建 PRD,绘制架构图。
哲学:构建可复用模式
投资于 Subagents, Skills, Commands。这些模式具有复利效应,且可跨模型升级复用。
9. 智能体与子智能体最佳实践
迭代检索模式 (Iterative Retrieval Pattern):
协调者 (Orchestrator) 拥有上下文,子智能体没有。不要只发送查询,要发送查询 + 目标 (Objective)。协调者必须评估子智能体的摘要,如果不满意则进行追问,形成反馈循环。
10. 技巧与窍门 (Tips and Tricks)
用 CLI 技能替代 MCP:
对于 GitHub、Supabase 等拥有强大 CLI 的工具,不要一直加载它们的 MCP。将 CLI 命令封装为 Skill (如 /gh-pr),这样既保留了功能,又释放了宝贵的上下文窗口。