Claude Code 全方位指南(深度篇)

在《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 会创建一个总结当前状态的文件。你需要审查它,必要时要求修改,然后重新开始。对于新会话,只需提供该文件路径。当你达到上下文限制并需要继续复杂工作时,这尤其有用。

这些文件应包含:

高级 AISE 专家洞察
这里实际上是在手动实现 外部状态管理 (Externalized State Management)。LLM 的上下文窗口虽然很大(如 200k+),但随着对话变长,其“注意力”会衰减(Context Drift)。通过将内存“换页”到文件系统(Swap to disk),我们手动实现了类似操作系统的内存管理,确保核心逻辑的持久化。

策略性压缩上下文 (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) 中。系统提示词具有比用户消息更高的权威性。

高级 AISE 专家洞察
这是一个极为关键的 Prompt Engineering 细节。LLM 对 System Prompt 的遵循度远高于后续的对话历史。在构建高可靠性 Agent 时,必须利用这一层级差异来防止“指令遵循漂移”。

3. 高级技巧:记忆持久化钩子 (Memory Persistence Hooks)

利用以下钩子自动化记忆管理:

{
  "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。

高级 AISE 专家洞察
这是 自我进化系统 (Self-Evolving System) 的雏形。通过将“临时解决方案”转化为“永久工具 (Skill)”,Claude 的能力随着项目开发周期的推进而通过元学习 (Meta-learning) 线性增长。

5. 代币优化 (Token Optimization)

首要策略:子智能体架构

工具优化:

6. 验证循环与评估 (Verification Loops and Evals)

评估模式类型:

  1. 基于检查点的评估 (Checkpoint-Based): 适用于具有明确里程碑的线性工作流。在每个点验证标准。
  2. 持续评估 (Continuous): 适用于长时间的探索性重构。每 N 分钟运行全套测试。

评分指标:

高级 AISE 专家洞察
这是从“辅助编程”向“代理工程 (Agentic Engineering)”的转变。引入 TDD (测试驱动开发) 能够让 AI 自我纠错。区分 pass@k 和 pass^k 是高级视角:对于生成创意,我们要的是一次惊喜;对于构建生产级代码,我们要的是绝对的稳定性。

7. 并行化 (Parallelization)

Git Worktrees 是核心:
当扩展实例且多个 Claude 在处理相互重叠的代码时,必须使用 Git Worktree。每个 Worktree 运行独立的 Claude 实例,避免 Git 冲突。

级联法 (The Cascade Method):
向右打开新 Tab,从左到右扫描。同时关注不超过 3-4 个任务。

8. 基础工作与最佳实践 (Groundwork)

双实例启动模式 (The Two-Instance Kickoff):

  1. 实例 1 (脚手架智能体): 搭建项目结构,配置规则。
  2. 实例 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),这样既保留了功能,又释放了宝贵的上下文窗口。


原文

源链接