2026年Claude Code **实践指南

Claude Code **实践指南我们最近发布了 Claude Code 这是一个用于智能体编程的命令行工具 作为一项研究项目 Claude Code 为 Anthropic 的工程师和研究人员提供了一种更原生的方式 将 Claude 集成到他们的编码工作流中 Claude Code 故意设计得较为底层且不强制使用特定工作流 为用户提供接近原始模型的访问能力 同时保持灵活 可定制 可编写脚本并确保安全性 是一款功能强大的工具

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



我们最近发布了 Claude Code,这是一个用于智能体编程的命令行工具。作为一项研究项目,Claude Code 为 Anthropic 的工程师和研究人员提供了一种更原生的方式,将 Claude 集成到他们的编码工作流中。

Claude Code 故意设计得较为底层且不强制使用特定工作流,为用户提供接近原始模型的访问能力,同时保持灵活、可定制、可编写脚本并确保安全性,是一款功能强大的工具。然而,这种灵活性也带来了学习曲线,尤其对于刚接触智能体编程的工程师——直到他们建立起自己的**实践为止。

本文介绍了一些已被证明行之有效的通用模式,无论是 Anthropic 内部团队,还是在各种代码库、语言和环境中使用 Claude Code 的外部工程师,都从中受益。本文列出的内容并非铁律,也不适用于所有场景;请将这些建议视为起点。我们鼓励你大胆尝试,找到最适合自己的方式!

需要更详细的信息?我们的完整文档 claude.ai/code 包含本文提及的所有功能,并提供额外示例、实现细节和高级技巧。

  1. 自定义你的配置

Claude Code 是一个能自动将上下文信息拉入提示词的智能体编程助手。这种上下文收集会消耗时间和 token,但你可以通过调整环境来优化。

是一个特殊文件,当开始会话时,Claude 会自动将其内容纳入上下文。因此,它是记录以下信息的理想位置:

  • 常用的 bash 命令
  • 核心文件和工具函数
  • 代码风格指南
  • 测试说明
  • 仓库协作规范(例如分支命名规则、合并还是变基等)
  • 开发环境设置(例如 pyenv use、哪些编译器可用)
  • 项目特有的异常行为或警告
  • 任何你想让 Claude 记住的信息

文件没有强制格式要求。我们建议保持内容简洁且易于人类阅读。例如:

 
   

你可以将 文件放在多个位置:

  • 仓库根目录,或你运行 命令的地方(最常见用法)。建议将其命名为 并提交到 git,以便在不同会话和团队成员之间共享;也可命名为 并加入
  • 你运行 目录的任意父目录:这在单体仓库中特别有用。例如你在 运行 ,而 和 中都有 文件,这两者都会被自动拉入上下文
  • 你运行 目录的任意子目录:与上述情况相反,此时 Claude 会在你处理子目录文件时按需拉入 文件
  • 家目录(),这样会在所有你的 claude 会话中生效

运行 命令时,Claude 将自动为你生成一个 文件。

你的 文件会成为 Claude 提示词的一部分,因此应像优化常用提示词一样不断改进。常见错误是添加大量内容而未迭代其有效性。请花时间实验,确定何种内容能让模型更好地遵循指令。

你可以手动向 添加内容,或按下 键给出指令,Claude 会自动将其整合进相应的 文件。许多工程师在编码时常按 记录命令、文件和风格规范,随后将 的更改提交给团队,使其他人也能受益。

在 Anthropic,我们有时会用 提示词优化器 处理 文件,并经常调整指令(例如用 “IMPORTANT” 或 “YOU MUST” 强调)以提高指令遵从性。

图 1:Claude Code 工具白名单

默认情况下,Claude Code 会对任何可能修改系统的操作请求权限:文件写入、许多 Bash 命令、MCP 工具等。我们出于安全优先的考虑,特意采用这种保守设计。你可自定义白名单,允许你认为安全的额外工具,或允许可轻松撤销但可能存在风险的工具(如文件编辑、)。

有四种管理允许工具的方法:

  • 会话中选择“始终允许”
  • 启动 Claude Code 后使用 命令,添加或移除工具。例如添加 以始终允许文件编辑, 以允许提交, 以允许通过 Puppeteer MCP 服务器导航
  • 手动编辑 或 (建议将前者加入源代码控制,与团队共享)
  • 使用 CLI 标志 设置会话级权限

Claude 知道如何使用 CLI 与 GitHub 交互,用于创建 issues、打开 pull requests、读取评论等。若未安装 ,Claude 仍可通过 GitHub API 或 MCP 服务器(如果已安装)与 GitHub 通信。

  1. 为 Claude 添加更多工具

Claude 可访问你的 shell 环境,你可像为自己搭建环境一样,为它创建一组便捷脚本和函数。它还可以通过 MCP 和 REST API 使用更复杂的工具。

Claude Code 继承了你的 bash 环境,因此能访问所有你的工具。虽然 Claude 熟悉诸如 Unix 工具和 等常用工具,但除非明确告知,否则它并不知道你的自定义 bash 工具:

  1. 告诉 Claude 工具名称及使用示例
  2. 让 Claude 运行 查看工具文档
  3. 在 中记录常用工具

Claude Code 可同时作为 MCP 服务器和客户端。作为客户端,它可以连接任意数量的 MCP 服务器,通过三种方式访问其工具:

  • 项目配置(在该目录运行 Claude Code 时可用)
  • 全局配置(所有项目中可用)
  • 检入的 文件(代码库中所有开发者均可使用)。例如,你可以在 中添加 Puppeteer 和 Sentry 服务器,使每位开发者都能开箱即用地使用这些工具。

使用 MCP 时,启动 Claude 时加上 标志有助于识别配置问题。

对于重复性工作流(如调试循环、日志分析等),可将提示词模板存储在 文件夹的 Markdown 文件中。当你输入 时,这些模板会出现在斜杠命令菜单中。你可以将这些命令提交到 git,让团队其他成员也能使用。

自定义斜杠命令可包含特殊关键字 来传入参数。

例如,以下斜杠命令可用于自动拉取并修复 GitHub issue:

 
    

将上述内容放入 后,即可在 Claude Code 中通过 命令使用。例如, 即可让 Claude 修复 issue #1234。同样,你可将个人命令添加到 文件夹,使其在所有会话中可用。

  1. 尝试常见工作流

Claude Code 不强制使用特定工作流,给予你充分的灵活性。在这一灵活性空间内,我们的用户社区已涌现出几种有效且成功的模式:

这是一种适用于多数问题的通用工作流:

  1. 让 Claude 阅读相关文件、图片或 URL,你可以提供一般性指引(如“读处理日志的文件”)或具体文件名(如“读 logging.py”),但要明确告诉它目前不要写代码。 1. 在此阶段,尤其对于复杂问题,应积极使用子智能体(subagents)。让 Claude 使用子智能体验证细节或探究其疑问,尤其是在对话或任务初期,通常能保留上下文且不会明显损失效率。
  2. 让 Claude 为解决特定问题制定计划。我们建议使用“think”一词触发扩展思考模式,使 Claude 有更多计算时间来更深入评估各种选项。这些特定短语直接对应系统中不同级别的思考预算:“think” < “think hard” < “think harder” < “ultrathink”。每个级别为 Claude 分配的思考预算逐步增加。 1. 如果此步骤结果合理,可让 Claude 用文档或 GitHub issue 记录计划,以便在实现(第 3 步)不如预期时能回退到此状态。
  3. 让 Claude 用代码实现解决方案。这也是一个好时机,可要求它在实现时显式验证方案的合理性。
  4. 让 Claude 提交结果并创建 Pull Request。如相关,此时也应让 Claude 更新 README 或变更日志,说明其刚刚所做修改。

第 1-2 步至关重要——缺少这两步,Claude 往往会直接跳到编码。虽然有时这正是你想要的,但要求 Claude 先研究和计划,能显著提升需要深度前期思考的问题的处理效果。

这是 Anthropic 员工喜爱的工作流,适用于可通过单元、集成或端到端测试轻松验证的变更。在智能体编程加持下,测试驱动开发(TDD)变得更加强大:

  1. 让 Claude 根据预期的输入/输出对编写测试。要明确指出你正在采用测试驱动开发,以防止它为代码库中尚不存在的功能创建模拟实现。
  2. 让 Claude 运行测试并确认测试失败。明确要求此阶段不要编写实现代码通常很有帮助。
  3. 当你对测试满意时,让 Claude 提交测试
  4. 让 Claude 编写能通过测试的代码,并告知它不要修改测试。要求 Claude 持续迭代,直到所有测试通过。通常需要几次迭代:写代码 -> 运行测试 -> 调整代码 -> 再运行测试。 1. 此阶段可让它使用独立的子智能体验证实现是否没有过拟合测试
  5. 当对更改满意时,让 Claude 提交代码

当 Claude 有明确目标(如视觉原型、测试用例或其他输出)进行迭代时,表现**。通过提供测试等预期输出,Claude 可以不断修改、评估结果并逐步改进,直到成功。

类似于测试工作流,你可以为 Claude 提供视觉目标:

  1. 让 Claude 能够获取浏览器截图(例如使用 Puppeteer MCP 服务器、iOS 模拟器 MCP 服务器,或手动复制/粘贴截图)。
  2. 通过复制/粘贴、拖放或提供图片路径,将视觉原型给到 Claude。
  3. 让 Claude 用代码实现设计,截图结果,并持续迭代直到结果与原型匹配
  4. 当你满意时,让 Claude 提交

与人类相似,Claude 的输出通常会随着迭代显著提升。初版可能尚可,但经过 2-3 次迭代后通常会好得多。为 Claude 提供查看其输出的工具,才能获得**结果。

图 2:安全的“YOLO”模式

你可以使用 跳过所有权限检查,让 Claude 无中断运行直至完成,而不是监督它。这种模式适用于修复 lint 错误或生成样板代码等工作流。

允许 Claude 运行任意命令有风险,可能导致数据丢失、系统损坏,甚至数据泄露(如通过提示词注入攻击)。为最小化风险,请在无网络连接的容器中使用 。可参考此使用 Docker Dev 容器的 参考实现。

初到新代码库时,可使用 Claude Code 进行学习和探索。你可以像结对编程时向项目中的另一位工程师提问那样问 Claude。Claude 可以自主搜索代码库,回答一般性问题,例如:

  • 日志系统是如何工作的?
  • 如何创建新的 API 端点?
  • 文件第 134 行的 做了什么?
  • 处理了哪些边界情况?
  • 为何在第 333 行调用 而不是 ?
  • 第 334 行的等效 Java 实现是什么?

在 Anthropic,这种用法已成为核心入职工作流,显著缩短了上手时间,并减轻了其他工程师的负担。无需特殊提示!只需提问,Claude 就会探索代码以寻找答案。

图 3:让 Claude 与 git 交互

Claude 能有效处理许多 git 操作。许多 Anthropic 工程师将 Claude 用于 90% 以上的 git 操作:

  • 搜索 git 历史 以回答诸如“v1.2.3 包含了哪些变更?”、“谁负责这个特性?”或“为何这个 API 要如此设计?”等问题。明确提示 Claude 查阅 git 历史以回答此类查询很有帮助。
  • 编写提交信息:Claude 会自动查看你的变更和近期历史,综合所有相关上下文撰写提交信息
  • 处理复杂 git 操作,例如恢复文件、解决变基冲突,以及比较和移植补丁

Claude Code 可管理许多 GitHub 操作:

  • 创建 Pull Requests:Claude 理解缩写 “pr”,并会根据差异和上下文生成合适的提交信息。
  • 一键解决问题:对于简单的代码审查评论,只需告诉 Claude 修复 PR 中的评论(可选地给出更具体指示),完成后推送到 PR 分支。
  • 修复构建失败 或 Linter 警告
  • 分类和筛选待处理 Issues:让 Claude 循环遍历所有开放的 GitHub Issues

这消除了记住 命令行语法的需要,并自动化了日常任务。

Anthropic 的研究人员和数据科学家使用 Claude Code 读写 Jupyter 笔记本。Claude 能解读输出(包括图片),提供了一种快速探索和与数据交互的方式。没有强制的工作流或提示,但我们推荐的工作流是:在 VS Code 中将 Claude Code 和 文件并排打开。

你也可以让 Claude 在展示给同事之前清理或美化 Jupyter 笔记本。明确告诉它让笔记本或其数据可视化“美观”通常有助于提醒它优化人类的阅读体验。

  1. 优化你的工作流

以下建议适用于所有工作流:

Claude Code 的成功率在指令越具体时越高,尤其是在初次尝试时。事先给出明确指示,可减少后续调整的需求。

例如:

不佳良好 为 foo.py 添加测试为 foo.py 编写一个新测试用例,覆盖用户未登录这一边界情况。避免使用模拟 为什么 ExecutionFactory 有如此奇怪的 API?查阅 ExecutionFactory 的 git 历史,总结其 API 的演变过程 添加一个日历组件查看首页上现有组件的实现方式,理解代码和接口分离的模式。HotDogWidget.php 是一个很好的起点。然后遵循这一模式,实现一个新的日历组件,允许用户选择月份并通过向前/向后翻页选择年份。从头构建,只能使用代码库中已用的库

Claude 能推断意图,但无法读心。越具体,越能与预期对齐。

图 4:给 Claude 图片

Claude 能通过多种方法出色处理图片和图表:

  • 粘贴截图(小技巧:在 macOS 上按 cmd+ctrl+shift+4 截图到剪贴板,然后按 ctrl+v 粘贴。注意这不是通常在 Mac 上使用的 cmd+v,且远程操作无效。)
  • 直接拖放图片到提示输入框
  • 提供图片的文件路径

在以设计原型作为 UI 开发参考点,或分析调试视觉图表时,这尤其有用。若不添加视觉内容到上下文,也仍可明确告诉 Claude 结果的视觉美观性很重要。

图 5:提及你希望 Claude 查看或操作的文件

使用 Tab 补全,可快速引用仓库中任意位置的文件或文件夹,帮助 Claude 找到或更新正确资源。

图 6:给 Claude 提供 URL

在提示中粘贴特定 URL,让 Claude 获取并阅读。为避免对相同域名(如 docs.foo.com)重复请求权限,可使用 将域名加入白名单。

虽然自动接受模式(按 Shift+Tab 切换)可让 Claude 自主工作,但你通常会通过积极参与和引导获得更好的结果。最好的做法是在开始时彻底向 Claude 解释任务,同时也可以随时纠正其方向。

以下四个工具可帮助纠正方向:

  • 在编码前让 Claude 制定计划。明确告知在确认计划合理前不要编码。
  • 按 Esc 键中断 Claude 在任何阶段(思考、工具调用、文件编辑)的操作,保留上下文以便你重新引导或扩展指令。
  • 双击 Esc 键回溯历史,编辑之前的提示,并探索不同方向。可以反复编辑提示直到获得满意结果。
  • 让 Claude 撤销更改,通常与上述方法结合使用,以尝试不同路径。

尽管 Claude Code 偶尔能第一次就完美解决问题,但使用这些纠正工具通常能更快获得更好的解决方案。

长时间会话中,Claude 的上下文窗口可能充满不相关的对话、文件内容和命令,这会降低性能,有时还会干扰 Claude。在任务之间频繁使用 命令可重置上下文窗口。

对于多步骤的大任务或需要详尽解决方案的任务(如代码迁移、批量修复 lint 错误或运行复杂构建脚本),让 Claude 使用 Markdown 文件(甚至 GitHub issue)作为清单和工作草稿,能提升表现:

例如,修复大量 lint 问题,可按以下步骤进行:

  1. 让 Claude 运行 lint 命令,并将所有错误(含文件名和行号)写入 Markdown 清单
  2. 指示 Claude 逐个解决问题,修复并验证后再勾选并进入下一个

有几种方法可向 Claude 提供数据:

  • 直接复制粘贴到提示中(最常用方法)
  • 通过管道传入 Claude Code(例如 ),对日志、CSV 和大数据特别有用
  • 让 Claude 通过 bash 命令、MCP 工具或自定义斜杠命令拉取数据
  • 让 Claude 读取文件或获取 URL(也适用于图片)

多数会话会结合使用这些方法。例如,你可以通过管道传入日志文件,然后告诉 Claude 使用工具拉取更多上下文来调试日志。

  1. 使用无头模式自动化你的基础设施

Claude Code 提供无头模式,用于 CI、提交前钩子、构建脚本和自动化等非交互式场景。使用 标志加提示词启用无头模式,使用 获取流式 JSON 输出。

注意:无头模式不会在会话间持久存在,必须在每次会话中触发。

无头模式可驱动由 GitHub 事件触发的自动化,例如代码库中创建新 issue 时。例如,公开的 Claude Code 仓库 使用 Claude 检查传入的新 issue 并分配适当标签。

Claude Code 可提供主观代码审查,识别传统 linter 工具检测不到的问题,如拼写错误、陈旧注释、误导性的函数或变量名等。

  1. 通过多 Claude 工作流提升能力

除了独立使用,一些最强大的应用涉及并行运行多个 Claude 实例:

一种简单但有效的方法是让一个 Claude 写代码,另一个审核或测试。就像与多名工程师合作,有时独立的上下文更有利:

  1. 用 Claude 写代码
  2. 运行 或在另一终端启动第二个 Claude
  3. 让第二个 Claude 审核第一个 Claude 的工作
  4. 启动另一个 Claude(或再次 )读取代码和审核反馈
  5. 让这个 Claude 根据反馈修改代码

你也可以对测试这样做:让一个 Claude 写测试,另一个 Claude 写出通过测试的代码。你甚至可以让 Claude 实例相互通信,通过给它们分配不同的工作草稿并指定写入和读取哪个。

这种分离方式的结果通常优于让单个 Claude 处理所有事情。

无需等待 Claude 完成每一步,Anthropic 的许多工程师会:

  1. 在不同文件夹中创建 3-4 个 git 副本
  2. 在多个终端标签中打开每个文件夹
  3. 在每个文件夹中启动 Claude,分配不同任务
  4. 轮流切换,检查进度并批准/拒绝权限请求

此方法适用于多个独立任务,比多个副本更轻量。git worktrees 允许你从同一个仓库检出多个分支到不同目录。每个 worktree 拥有独立的文件工作目录,同时共享相同的 Git 历史和 reflog。

使用 git worktrees 可让你在项目的不同部分同时运行多个 Claude 会话,每个会话专注于独立任务。例如,你可让一个 Claude 重构认证系统,同时另一个开发完全无关的数据可视化组件。由于任务不重叠,每个 Claude 可全速工作,无需等待对方的更改或处理合并冲突:

  1. 创建 worktrees
  2. 在每个 worktree 中启动 Claude
  3. 根据需要创建更多 worktrees(在新终端标签中重复步骤 1-2)

一些提示:

  • 使用一致的命名规范
  • 每个 worktree 对应一个终端标签
  • 如果你在 Mac 上使用 iTerm2,设置通知,当 Claude 需要关注时提醒你
  • 为不同 worktrees 使用单独的 IDE 窗口
  • 完成后清理:

(无头模式)可编程地将 Claude Code 集成到更大工作流中,同时利用其内置工具和系统提示。无头模式有两种主要使用模式:

  1. 分发处理(Fanning out):处理大型迁移或分析(如分析数百条日志的情感或分析数千个 CSV):
  2. 让 Claude 写一个脚本生成任务列表。例如生成 2000 个需要从框架 A 迁移到框架 B 的文件列表。
  3. 遍历任务,为每个任务编程调用 Claude,并给出任务和可用工具集。例如:
  4. 多次运行脚本,并优化你的提示词以获得理想结果。
  5. 流水线处理(Pipelining):将 Claude 集成到现有数据/处理流水线:
  6. 调用 ,其中 是处理流水线的下一步
  7. 完成!可选的 JSON 输出有助于为自动化处理提供结构。

对于这两种用例,使用 标志调试 Claude 调用可能会有帮助。我们通常建议在生产环境中关闭详细模式,以获得更清爽的输出。

你在使用 Claude Code 时有哪些技巧和**实践?@AnthropicAI 让我们看看你在构建什么!

作者:Boris Cherny。本工作借鉴了 Claude Code 用户社区的广泛**实践,他们富有创意的方法和工作流程持续启发着我们。特别感谢 Daisy Hollman、Ashwin Bhat、Cat Wu、Sid Bidasaria、Cal Rueb、Nodir Turakulov、Barry Zhang、Drew Hodun 以及其他许多 Anthropic 工程师,他们对 Claude Code 的宝贵见解和实践经验帮助塑造了这些建议。

图 7:互锁的拼图块,具有复杂几何形状和精细表面纹理

小讯
上一篇 2026-04-03 22:54
下一篇 2026-04-03 22:52

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/224132.html