Everything Claude Code 长篇指南¶

前置条件:本指南基于 Everything Claude Code 简明指南 编写。如果你还没有完成技能、钩子、子代理、MCP、插件的设置,请先阅读该指南。
简明指南——请先阅读本指南
简明指南涵盖了基础设置:技能与命令、钩子、子代理、MCP、插件,以及构成高效 Claude Code 工作流支柱的配置模式。它是一份设置指南,也是基础设施。
这份长篇指南将深入探讨那些区分高效会话与低效会话的技术。如果你还没读过简明指南,请先回去完成设置。下文假定技能、代理、钩子、MCP 均已配置并正常运行。
这里的主题:Token 经济学、记忆持久化、验证模式、并行化策略,以及构建可复用工作流的复利效应。这些模式经过 10 多个月的日常使用打磨而成,决定了你是在最初一小时之内就为上下文劣化所困,还是能连续数小时维持高效的生产会话。
简明指南和长篇指南中涉及的所有内容均可在 GitHub 上获取:github.com/affaan-m/everything-claude-code
提示与技巧¶
部分 MCP 可以被替代,从而释放上下文窗口¶
关于版本管理(GitHub)、数据库(Supabase)、部署(Vercel、Railway)等 MCP——这些平台中的大多数已经拥有稳健的 CLI,而 MCP 本质上只是对它们的封装。MCP 是方便的包装器,但有成本。
若想在不实际使用 MCP 的情况下让 CLI 像 MCP 那样工作(且不会伴随上下文窗口的缩小),请考虑将功能打包进技能与命令中。把 MCP 暴露出的实用工具提取出来,转换成命令。
示例:与其始终加载 GitHub MCP,不如创建一个用你偏好的选项封装 gh pr create 的 /gh-pr 命令。与其让 Supabase MCP 消耗上下文,不如创建一个直接使用 Supabase CLI 的技能。
延迟加载基本已经解决了上下文窗口的问题。然而,Token 消耗量和成本并没有以同样的方式得到解决。CLI + 技能的做法仍然是一种 Token 优化手段。
重点内容¶
上下文与记忆管理¶
要在会话之间共享记忆,最佳方案是一个技能或命令:总结进度、进行签到,保存到 .claude 文件夹的 .tmp 文件中,并在会话结束前持续追加。第二天,你可以把它作为上下文,从中断处继续。为避免旧上下文污染新工作,请为每个会话创建新文件。
会话存储示例 -> https://github.com/affaan-m/everything-claude-code/tree/main/examples/sessions
让 Claude 创建一个总结当前状态的文件。审阅它,必要时请 Claude 编辑,然后重新开始。在新的对话中,只需提供文件路径。当你达到上下文限制、需要继续复杂工作时,这尤其有用。这些文件应包含: - 奏效的方法(附带证据、可供验证) - 尝试过但没有奏效的方法 - 尚未尝试的方法以及剩余的工作
策略性地清除上下文:
一旦计划设定好、上下文被清除(这是 Claude Code 计划模式的默认选项),你就可以按照计划开展工作。当积累了大量的探索性上下文、而这些上下文与执行不再相关时,这非常有用。要进行策略性压缩,请禁用自动压缩。在逻辑间隔处手动压缩,或者创建一个专门执行此操作的技能。
进阶:动态系统 Prompt 注入
我养成的一个模式:与其把所有内容都放进 CLAUDE.md(用户作用域)或 .claude/rules/(项目作用域)——这些会在每次会话中加载——不如使用 CLI 标志动态注入上下文。
这样一来,你可以更精准地决定在何时加载哪些上下文。系统 Prompt 的内容比用户消息权限更高,用户消息比工具结果权限更高。
实际配置:
# 日常開発
alias claude-dev='claude --system-prompt "$(cat ~/.claude/contexts/dev.md)"'
# PRレビューモード
alias claude-review='claude --system-prompt "$(cat ~/.claude/contexts/review.md)"'
# リサーチ/探索モード
alias claude-research='claude --system-prompt "$(cat ~/.claude/contexts/research.md)"'
进阶:记忆持久化钩子
有一些不为人知、但对记忆很有帮助的钩子:
- PreCompact 钩子:在上下文压缩之前,将重要状态保存到文件
- Stop 钩子(会话结束):在会话结束时将学习到的内容持久化到文件
- SessionStart 钩子:在新会话中自动加载上一次的上下文
我构建了这些钩子,并将它们放在仓库的 github.com/affaan-m/everything-claude-code/tree/main/hooks/memory-persistence 中。
持续学习 / 记忆¶
如果某个 Prompt 你需要重复多次,或者 Claude 总是遇到同一个问题、给出之前听过的答案——那么这个模式就应该被添加为技能。
问题: 浪费 Token、浪费上下文、浪费时间。
解决方案: 当 Claude Code 发现了非显而易见的内容时——调试技巧、变通方法、项目特有模式等——把这份知识保存为一个新技能。下次遇到类似问题时,技能会被自动加载。
我构建了一个持续学习技能来实现这一功能:github.com/affaan-m/everything-claude-code/tree/main/skills/continuous-learning
为什么用 Stop 钩子(而不是 UserPromptSubmit):
关键的设计决策是使用 Stop 钩子 而不是 UserPromptSubmit。UserPromptSubmit 会在每条消息上触发,给每个 Prompt 都增加延迟。Stop 只在会话结束时运行一次——轻量,且不会拖慢会话中的速度。
Token 优化¶
主要策略:子代理架构
一种专为优化工具使用而设计的子代理架构:将任务委托给对任务而言足够胜任、价格最便宜的模型。
模型选择快速参考:
常见各种任务中子代理的示例设置及选择理由
| 任务类型 | 模型 | 理由 |
|---|---|---|
| 探索/搜索 | Haiku | 快速、低成本,足以应对文件搜索 |
| 简单编辑 | Haiku | 单文件修改、指示明确 |
| 多文件实现 | Sonnet | 编码方面最均衡 |
| 复杂架构 | Opus | 需要深度推理 |
| PR 审查 | Sonnet | 理解上下文、察觉细微差别 |
| 安全分析 | Opus | 绝不能遗漏漏洞 |
| 文档编写 | Haiku | 结构简单 |
| 复杂 Bug 调试 | Opus | 需要把整个系统装进脑中 |
90% 的编码任务默认使用 Sonnet。当第一次尝试失败、任务跨 5 个以上文件、涉及架构决策或安全关键代码时,升级到 Opus。
价格参考:
来源:https://platform.claude.com/docs/en/about-claude/pricing
工具特定的优化:
用 mgrep 替换 grep——与传统 grep 或 ripgrep 相比,平均减少约 50% 的 Token:
在 50 个任务的基准测试中,mgrep + Claude Code 以与基于 grep 的工作流同等或更高的质量,使用了约少 2 倍的 Token。来源:@mixedbread-ai 的 mgrep
模块化代码库的优势:
让主文件保持在数百行而非数千行、拥有更模块化的代码库,既有助于优化 Token 成本,也有助于在第一次尝试时就正确完成任务。
验证循环与评估¶
基准测试工作流:
分别在启用技能和未启用技能的情况下请求执行相同的任务,对比输出的差异:
分叉对话,在一侧启动不带技能的工作树,最后取出 diff,确认被记录下来的内容。
评估模式类型:
- 基于检查点的评估:设置明确的检查点,对照既定标准验证,前进之前修正
- 持续评估:每 N 分钟或在大变更后运行,完整测试套件 + Lint
关键指标:
pass@k: k回の試行のうち少なくとも1回が成功
k=1: 70% k=3: 91% k=5: 97%
pass^k: k回の試行すべてが成功する必要がある
k=1: 70% k=3: 34% k=5: 17%
只要能跑通就行,用 pass@k。需要一致性时,用 pass^k。
并行化¶
在多 Claude 终端环境中分叉对话时,请明确定义分叉与原始对话各自的操作范围。尽量将代码改动的重叠降到最低。
我推荐的模式:
在主聊天中进行代码改动,在分叉中询问代码库现状的相关问题,或研究外部服务。
关于任意数量的终端:
Boris(Anthropic)谈运行多个 Claude 实例
Boris 有一些并行化的提示。他提出过类似在本地运行 5 个、在上游运行 5 个 Claude 实例的建议。我不推荐随意配置终端数量。增加终端应该源于真正的需求。
目标是:以最小限度的并行化获得最大限度的成果。
用于并行实例的 Git 工作树:
# 並列作業用にワークツリーを作成
git worktree add ../project-feature-a feature-a
git worktree add ../project-feature-b feature-b
git worktree add ../project-refactor refactor-branch
# 各ワークツリーに独自のClaudeインスタンス
cd ../project-feature-a && claude
当你开始扩展实例、多个 Claude 实例在彼此重叠的代码上工作时,使用 git 工作树并为每个实例制定非常明确的计划至关重要。请用 /rename <名前> 为所有聊天命名。
¶
初始设置:左终端编码,右终端提问——使用 /rename 和 /fork
级联方式:
同时运行多个 Claude Code 实例时,请按照「级联」模式进行组织:
- 新任务在右侧的新标签页中打开
- 从左到右,从旧到新依次推进
- 同时专注于最多 3~4 个任务
夯实基础¶
双实例启动模式:
作为自己的工作流管理方式,我喜欢在空仓库中打开两个 Claude 实例来开始。
实例 1:脚手架代理(Scaffolding Agent) - 构建脚手架和基础 - 创建项目结构 - 配置设置(CLAUDE.md、规则、代理)
实例 2:深度研究代理(Deep Research Agent) - 连接所有服务,进行 Web 搜索 - 编写详细的 PRD - 创建架构的 Mermaid 图表 - 用实际文档摘录汇编参考资料
llms.txt 模式:
如果可用,在许多文档参考的文档页面上运行 /llms.txt 就能找到 llms.txt。这样可以获得针对 LLM 优化的干净文档版本。
理念:构建可复用的模式
来自 @omarsar0:「我花了大量时间在早期构建可复用的工作流/模式。虽然构建过程很繁琐,但随着模型和代理框架(Agent Harness)的改进,它带来了惊人的复利效应。」
值得投入的方面:
- 子代理(Subagent)
- 技能(Skill)
- 命令(Command)
- 规划模式(Planning Pattern)
- MCP 工具
- 上下文工程模式(Context Engineering Pattern)
代理与子代理的最佳实践¶
子代理的上下文问题:
子代理的存在意义在于返回摘要而不是转储所有内容,从而节省上下文。但是,编排器(Orchestrator)拥有子代理所不具备的语义上下文。子代理只知道字面查询,而不知道请求背后的目的。
迭代检索模式:
- 编排器评估所有子代理的回复
- 在接受之前提出跟进问题
- 子代理回到源头,获取答案并返回
- 循环直到满意为止(最多 3 轮)
关键: 不仅要传递查询,还要传递目的的上下文。
具有顺序阶段的编排器:
フェーズ1: リサーチ(Exploreエージェント使用) → research-summary.md
フェーズ2: 計画(plannerエージェント使用) → plan.md
フェーズ3: 実装(tdd-guideエージェント使用) → コード変更
フェーズ4: レビュー(code-reviewerエージェント使用) → review-comments.md
フェーズ5: 検証(必要に応じてbuild-error-resolver使用) → 完了またはループバック
主要规则:
- 每个代理接收一个明确的输入,产生一个明确的输出
- 输出成为下一阶段的输入
- 不要跳过阶段
- 在代理之间使用
/clear - 将中间输出保存到文件
有趣的内容 / 不重要但好玩的小技巧¶
自定义状态栏¶
可以通过 /statusline 来设置——Claude 会说「目前还没有,但我可以帮你设置」,然后询问你想加入什么内容。
参考:ccstatusline(自定义 Claude Code 状态栏的社区项目)
语音输入¶
用语音与 Claude Code 对话。对许多人来说比打字更快。
- 在 Mac 上可使用 superwhisper 或 MacWhisper
- 即使语音识别有误,Claude 也能理解你的意图
终端别名¶
里程碑¶
不到一周即获得 GitHub 25,000+ 星标
资源¶
代理编排(Agent Orchestration):
- claude-flow——社区构建的企业级编排平台,拥有 54 个以上的专业代理
自我改进记忆(Self-Improving Memory):
- 参考本仓库的
skills/continuous-learning/ - rlancemartin.github.io/2025/12/01/claude_diary/ - 会话复盘模式
系统提示词参考(System Prompt Reference):
- system-prompts-and-models-of-ai-tools——AI 系统提示词的社区合集(110k+ 星标)
官方:
- Anthropic Academy: anthropic.skilljar.com
参考资料¶
- Anthropic:揭开 AI 代理评估的神秘面纱
- YK:32 个 Claude Code 提示
- RLanceMartin:会话复盘模式
- @PerceptualPeak:子代理上下文协商
- @menhguin:代理抽象层级列表
- @omarsar0:复利效应的理念
这两份指南中提到的所有内容都可以在 GitHub 上的 everything-claude-code 中找到
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC