通过本文,你会意识到以下几点:
- Plan Mode 原来要这么用!
- 这样管理你的会话:不要长对话,干净上下文更重要。
- git worktree 不是高级功能,而是 Vibe Coding 的必须项。
- Spec Kit 虽然重,但适合长上下文+复杂场景下使用。
- Hooks 真是个好东西,一定要用起来。
本文基于本人这半年来综合使用Codex、Claude Code、OpenCode的Vibe Coding经验以及 整合得到。 十分值得一看,在写本文时,我也从其中学到了很多内容。
本文不探讨各家模型哪个好哪个差,但很多思想都是通用的。
假设你刚加入一个新项目,需要快速了解其结构。
- 进入你的目录
- 打开Claude
- 获得项目概率、深入了解各个组件
假设你遇到了错误消息,需要找到并修复其来源。
- 告诉Claude你的问题
- 请求修复建议
- 根据你的具体分析与需求应用修复
Plan Mode 指示 Claude 通过使用只读操作分析代码库来创建计划,非常适合探索代码库、规划复杂更改或安全地审查代码。在 Plan Mode 中,Claude 使用 来收集需求并在提出计划之前澄清你的目标。
简单的说,你在这些情况下最好使用Plan Mode:
- 多步骤实现:当您的功能需要编辑许多文件时
- 代码探索:当您想在更改任何内容之前彻底研究代码库时
- 交互式开发:当您想与 Claude 迭代方向时
- 开启Plan Mode(使用 进行切换)
- 描述你的需求:
- Claude在调研后会给你详尽的回复,并问你是要手动接受、全盘接受并自动根据计划推进工作,继续改进还是其他。
- 进入Accept Edit Mode或者手动批准Claude的后续更改。
如果你使用Spec Kit的话,我建议在 时才开启Plan Mode,否则会导致在Accept后他就自己推进实现代码去了,根本无法充分利用Spec Kit的各种特性拆分工作。
在使用Claude Code时,很多人习惯于直接将文件拖拽进终端,使用路径的方式进行引用。这样 Claude 需要自己决定是否调用工具去读取文件,且可能需要多轮交互(搜索 → 读取 → 分析)。而使用 ,文件内容立即被读取并嵌入到你的提示中(如果是目录,则会给出目录内容列表),并且一步到位,Claude 直接看到内容。所以对于文本内容,若文本量在合理范围内直接 是最好的。
假设你需要同时处理多个任务,并在 Claude Code 实例之间完全隔离代码,Git worktree是你最好的选择。
Git worktree 允许你从同一个仓库同时检出多个分支到不同的目录,每个目录都是一个 独立的工作区。这意味着你不再需要为了切换分支而 stash 或 commit手头未完成的工作——只需 git worktree add ../feature-branchfeature-branch,就能在另一个目录里直接开始工作。所有 worktree 共享同一份 .git数据,不会产生额外的克隆开销。它特别适合需要同时在多个分支上开发、做代码对比、或者在长时间运行的构建过程中切到另一个分支继续工作的场景。
对worktree的管理讲的很好,值得一看
- 每个 worktree 都有自己的独立文件状态,非常适合并行 Claude Code 会话
- 在一个 worktree 中所做的更改不会影响其他 worktree,防止 Claude 实例相互干扰
- 所有 worktrees 共享相同的 Git 历史和远程连接
- 对于长期运行的任务,您可以在一个 worktree 中让 Claude 工作,同时在另一个 worktree 中继续开发
- 使用描述性目录名称来轻松识别每个 worktree 的任务
- 记住根据您的项目设置在每个新 worktree 中初始化您的开发环境。
对话是持久的和可逆的。利用这一点!
一旦你注意到 Claude 偏离轨道,立即纠正它。
最好的结果来自紧密的反馈循环。虽然 Claude 有时会在第一次尝试时完美地解决问题,但快速纠正通常会更快地产生更好的解决方案。
- :使用 键停止 Claude 的中途操作。上下文被保留,所以你可以重定向。
- 或 :按 两次或运行 打开 rewind 菜单并恢复之前的对话和代码状态。
- :让 Claude 恢复其更改。
- :重置不相关任务之间的上下文。具有无关上下文的长会话可能会降低性能。
如果你在一个会话中对同一问题纠正了 Claude 两次以上,上下文会被失败的方法污染。运行
并使用更具体的提示重新开始,该提示包含你学到的东西。具有更好提示的干净会话几乎总是优于具有累积更正的长会话。
在不相关的任务之间频繁运行 以重置上下文。
当你接近上下文限制时,Claude Code 会自动压缩对话历史,这保留了重要的代码和决策,同时释放空间。在长会话中,Claude 的 context window 可能会被无关的对话、文件内容和命令填满。这可能会降低性能,有时会分散 Claude 的注意力。
- 在任务之间频繁使用 以完全重置 context window
- 当自动压缩触发时,Claude 总结最重要的内容,包括代码模式、文件状态和关键决策
- 为了更好地控制,运行 ,如
- 在 CLAUDE.md 中自定义压缩行为,使用像 这样的指令,以确保关键上下文在总结中幸存
由于上下文是你的基本约束,subagents 是最强大的可用工具之一。当 Claude 研究代码库时,它读取许多文件,所有这些都会消耗你的上下文。Subagents 在单独的 context windows 中运行并报告摘要:
subagent 探索代码库、读取相关文件并报告发现,所有这些都不会使你的主对话变得混乱。
Hooks 是用户自定义的 shell 命令(或 HTTP 端点、LLM Prompt),在 Claude Code 生命周期的特定节点自动触发执行。Prompt 是”建议”,但 Hooks 是”保证”——每次匹配的事件发生时,它们都会必然执行。
Hooks 支持多种生命周期事件,以下是最常用的几种:
Hooks 在 settings 文件中配置,有三个层级:
- — 用户级(全局生效)
- — 项目级(提交到 Git)
- — 本地项目级(不提交)
你也可以直接在 Claude Code 中输入 打开交互式管理器。
每次 Claude 编辑或创建文件后,自动运行 Prettier:
防止 Claude 写入 、生产配置或 目录:
- :允许操作继续
- :阻止操作并向 Claude 显示 stderr 信息
如果你使用 GitButler,可以让 Hooks 自动管理每个 Claude 会话的代码变更,自动隔离到独立分支:
- 手动测试:在配置前先手动验证你的 hook 脚本:
- 环境变量:Hooks 运行时可以访问 (项目根目录)、 等环境变量
- 并行执行:所有匹配的 hooks 并行运行,相同的 handler 会自动去重
- 禁用所有 hooks:在 settings 中设置 或在 菜单中切换
- 安全提醒:Hooks 会在你的机器上执行任意命令,不要随意复制不信任的 hook 脚本
Spec Kit 是 GitHub 开源的规格驱动开发工具包,它的核心思想是:先写规格,再写代码。不是随手丢个 prompt 就让 AI 开始生成代码,而是通过结构化的流程把需求、架构、任务拆解清楚,然后才进入实现阶段。
传统的 Vibe Coding 模式下,你给 Claude 一句话需求,它就开始写代码。这对于小功能没问题,但当项目复杂到一定程度:
- 需求会漂移,Claude 对”你到底要什么”理解不一致
- 架构决策散落在对话中,无法追溯
- 测试标准和质量检查可能被跳过
- 多次迭代后上下文混乱,代码方向越来越偏
Spec Kit 通过强制你在写代码前先想清楚来解决这些问题。它让规格成为开发的中心——驱动实现、检查清单和任务分解。
Spec Kit 提供了五个核心斜线命令,构成一条完整的开发流水线:
定义项目的核心原则和开发准则,比如代码质量标准、测试要求、性能预算等。
描述你要构建的内容,包括需求、用户故事和验收标准。
这一步会生成 文件,包含详细的功能需求、数据实体和成功标准。
如果规格中有模糊的地方,用这个命令让 Claude 进行结构化提问:
提供技术方向,让 Claude 生成详细的实施计划:
输出包括技术选型、数据模型设计、API 契约、项目结构等。
基于计划自动生成结构化、可执行的任务列表,按依赖顺序排列。
按照任务清单开始编码,遵循 TDD 原则(先写测试,再写实现)。
如果你想让 Claude Code 一句话跑完整个流程,可以搭配 subagent 使用。在 下创建一个 spec-kit agent,让它自动依次执行各个 命令:
这样,你只需一句话:
Claude 就会自动走完 constitution → specify → plan → tasks → implement 的完整流程。
适合使用的场景:
- 从零开始构建新项目或添加重大功能
- 需求复杂、涉及多个模块的长期项目
- 团队协作,需要统一的规格文档
- 你希望 Claude 有序地、端到端地完成工作
不适合使用的场景:
- 修复一个小 bug
- 微调一个小功能
- 快速原型验证
- 项目已经很成熟,只需要局部改动
文件会在每次会话开始时自动加载到 Claude 的上下文中。把你的项目约定、代码规范、常用命令、架构决策都写在里面:
Claude Code 在执行需要写入或运行命令时会请求权限。根据你的信任程度选择:
- 逐个批准:默认模式,最安全
- Accept Edit Mode:自动批准编辑但保留对命令的控制,适合你信任 Claude 的修改方向时
- :跳过所有权限提示,仅在自动化和 CI/CD 场景下使用
将本文介绍的各种工具组合起来,一个高效的开发流程可能是这样的:
- Git worktree 隔离工作环境 → 每个功能一个目录
- CLAUDE.md 提供项目上下文 → Claude 一上来就知道该怎么做
- Spec Kit 驱动复杂需求 → 先规格后代码
- Plan Mode 辅助设计阶段 → 充分调研再动手
- Hooks 保障代码质量 → 自动格式化、自动测试、阻止危险操作
- Subagents 处理调研任务 → 不污染主会话上下文
- 频繁 保持干净上下文 → 干净上下文 > 长对话
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/225905.html