跳转至

Everything Claude Code 长篇指南

横幅: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 标志动态注入上下文。

claude --system-prompt "$(cat memory.md)"

这样一来,你可以更精准地决定在何时加载哪些上下文。系统 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。

价格参考:

Claude 模型定价 来源:https://platform.claude.com/docs/en/about-claude/pricing

工具特定的优化:

用 mgrep 替换 grep——与传统 grep 或 ripgrep 相比,平均减少约 50% 的 Token:

mgrep 基准测试 在 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 谈并行终端 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 <名前> 为所有聊天命名。

Two Terminal Setup 初始设置:左终端编码,右终端提问——使用 /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)拥有子代理所不具备的语义上下文。子代理只知道字面查询,而不知道请求背后的目的。

迭代检索模式:

  1. 编排器评估所有子代理的回复
  2. 在接受之前提出跟进问题
  3. 子代理回到源头,获取答案并返回
  4. 循环直到满意为止(最多 3 轮)

关键: 不仅要传递查询,还要传递目的的上下文。

具有顺序阶段的编排器:

フェーズ1: リサーチ(Exploreエージェント使用) → research-summary.md
フェーズ2: 計画(plannerエージェント使用) → plan.md
フェーズ3: 実装(tdd-guideエージェント使用) → コード変更
フェーズ4: レビュー(code-reviewerエージェント使用) → review-comments.md
フェーズ5: 検証(必要に応じてbuild-error-resolver使用) → 完了またはループバック

主要规则:

  1. 每个代理接收一个明确的输入,产生一个明确的输出
  2. 输出成为下一阶段的输入
  3. 不要跳过阶段
  4. 在代理之间使用 /clear
  5. 将中间输出保存到文件

有趣的内容 / 不重要但好玩的小技巧

自定义状态栏

可以通过 /statusline 来设置——Claude 会说「目前还没有,但我可以帮你设置」,然后询问你想加入什么内容。

参考:ccstatusline(自定义 Claude Code 状态栏的社区项目)

语音输入

用语音与 Claude Code 对话。对许多人来说比打字更快。

  • 在 Mac 上可使用 superwhisper 或 MacWhisper
  • 即使语音识别有误,Claude 也能理解你的意图

终端别名

alias c='claude'
alias gb='github'
alias co='code'
alias q='cd ~/Desktop/projects'

里程碑

25k+ GitHub Stars 不到一周即获得 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

参考资料


这两份指南中提到的所有内容都可以在 GitHub 上的 everything-claude-code 中找到

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC