我们最近发布了 Claude Code,这是一个用于智能体编程的命令行工具。作为一项研究项目,Claude Code 为 Anthropic 的工程师和研究人员提供了一种更原生的方式,将 Claude 集成到他们的编码工作流中。
Claude Code 故意设计得较为底层且不强制使用特定工作流,为用户提供接近原始模型的访问能力,同时保持灵活、可定制、可编写脚本并确保安全性,是一款功能强大的工具。然而,这种灵活性也带来了学习曲线,尤其对于刚接触智能体编程的工程师——直到他们建立起自己的**实践为止。
本文介绍了一些已被证明行之有效的通用模式,无论是 Anthropic 内部团队,还是在各种代码库、语言和环境中使用 Claude Code 的外部工程师,都从中受益。本文列出的内容并非铁律,也不适用于所有场景;请将这些建议视为起点。我们鼓励你大胆尝试,找到最适合自己的方式!
需要更详细的信息?我们的完整文档 claude.ai/code 包含本文提及的所有功能,并提供额外示例、实现细节和高级技巧。
- 自定义你的配置
Claude Code 是一个能自动将上下文信息拉入提示词的智能体编程助手。这种上下文收集会消耗时间和 token,但你可以通过调整环境来优化。
是一个特殊文件,当开始会话时,Claude 会自动将其内容纳入上下文。因此,它是记录以下信息的理想位置:
- 常用的 bash 命令
- 核心文件和工具函数
- 代码风格指南
- 测试说明
- 仓库协作规范(例如分支命名规则、合并还是变基等)
- 开发环境设置(例如 pyenv use、哪些编译器可用)
- 项目特有的异常行为或警告
- 任何你想让 Claude 记住的信息
文件没有强制格式要求。我们建议保持内容简洁且易于人类阅读。例如:
你可以将 文件放在多个位置:
- 仓库根目录,或你运行 命令的地方(最常见用法)。建议将其命名为 并提交到 git,以便在不同会话和团队成员之间共享;也可命名为 并加入
- 你运行 目录的任意父目录:这在单体仓库中特别有用。例如你在 运行 ,而 和 中都有 文件,这两者都会被自动拉入上下文
- 你运行 目录的任意子目录:与上述情况相反,此时 Claude 会在你处理子目录文件时按需拉入 文件
- 家目录(),这样会在所有你的 claude 会话中生效
运行 命令时,Claude 将自动为你生成一个 文件。
你的 文件会成为 Claude 提示词的一部分,因此应像优化常用提示词一样不断改进。常见错误是添加大量内容而未迭代其有效性。请花时间实验,确定何种内容能让模型更好地遵循指令。
你可以手动向 添加内容,或按下 键给出指令,Claude 会自动将其整合进相应的 文件。许多工程师在编码时常按 记录命令、文件和风格规范,随后将 的更改提交给团队,使其他人也能受益。
在 Anthropic,我们有时会用 提示词优化器 处理 文件,并经常调整指令(例如用 “IMPORTANT” 或 “YOU MUST” 强调)以提高指令遵从性。

默认情况下,Claude Code 会对任何可能修改系统的操作请求权限:文件写入、许多 Bash 命令、MCP 工具等。我们出于安全优先的考虑,特意采用这种保守设计。你可自定义白名单,允许你认为安全的额外工具,或允许可轻松撤销但可能存在风险的工具(如文件编辑、)。
有四种管理允许工具的方法:
- 会话中选择“始终允许”
- 启动 Claude Code 后使用 命令,添加或移除工具。例如添加 以始终允许文件编辑, 以允许提交, 以允许通过 Puppeteer MCP 服务器导航
- 手动编辑 或 (建议将前者加入源代码控制,与团队共享)
- 使用 CLI 标志 设置会话级权限
Claude 知道如何使用 CLI 与 GitHub 交互,用于创建 issues、打开 pull requests、读取评论等。若未安装 ,Claude 仍可通过 GitHub API 或 MCP 服务器(如果已安装)与 GitHub 通信。
- 为 Claude 添加更多工具
Claude 可访问你的 shell 环境,你可像为自己搭建环境一样,为它创建一组便捷脚本和函数。它还可以通过 MCP 和 REST API 使用更复杂的工具。
Claude Code 继承了你的 bash 环境,因此能访问所有你的工具。虽然 Claude 熟悉诸如 Unix 工具和 等常用工具,但除非明确告知,否则它并不知道你的自定义 bash 工具:
- 告诉 Claude 工具名称及使用示例
- 让 Claude 运行 查看工具文档
- 在 中记录常用工具
Claude Code 可同时作为 MCP 服务器和客户端。作为客户端,它可以连接任意数量的 MCP 服务器,通过三种方式访问其工具:
- 项目配置(在该目录运行 Claude Code 时可用)
- 全局配置(所有项目中可用)
- 检入的 文件(代码库中所有开发者均可使用)。例如,你可以在 中添加 Puppeteer 和 Sentry 服务器,使每位开发者都能开箱即用地使用这些工具。
使用 MCP 时,启动 Claude 时加上 标志有助于识别配置问题。
对于重复性工作流(如调试循环、日志分析等),可将提示词模板存储在 文件夹的 Markdown 文件中。当你输入 时,这些模板会出现在斜杠命令菜单中。你可以将这些命令提交到 git,让团队其他成员也能使用。
自定义斜杠命令可包含特殊关键字 来传入参数。
例如,以下斜杠命令可用于自动拉取并修复 GitHub issue:
将上述内容放入 后,即可在 Claude Code 中通过 命令使用。例如, 即可让 Claude 修复 issue #1234。同样,你可将个人命令添加到 文件夹,使其在所有会话中可用。
- 尝试常见工作流
Claude Code 不强制使用特定工作流,给予你充分的灵活性。在这一灵活性空间内,我们的用户社区已涌现出几种有效且成功的模式:
这是一种适用于多数问题的通用工作流:
- 让 Claude 阅读相关文件、图片或 URL,你可以提供一般性指引(如“读处理日志的文件”)或具体文件名(如“读 logging.py”),但要明确告诉它目前不要写代码。 1. 在此阶段,尤其对于复杂问题,应积极使用子智能体(subagents)。让 Claude 使用子智能体验证细节或探究其疑问,尤其是在对话或任务初期,通常能保留上下文且不会明显损失效率。
- 让 Claude 为解决特定问题制定计划。我们建议使用“think”一词触发扩展思考模式,使 Claude 有更多计算时间来更深入评估各种选项。这些特定短语直接对应系统中不同级别的思考预算:“think” < “think hard” < “think harder” < “ultrathink”。每个级别为 Claude 分配的思考预算逐步增加。 1. 如果此步骤结果合理,可让 Claude 用文档或 GitHub issue 记录计划,以便在实现(第 3 步)不如预期时能回退到此状态。
- 让 Claude 用代码实现解决方案。这也是一个好时机,可要求它在实现时显式验证方案的合理性。
- 让 Claude 提交结果并创建 Pull Request。如相关,此时也应让 Claude 更新 README 或变更日志,说明其刚刚所做修改。
第 1-2 步至关重要——缺少这两步,Claude 往往会直接跳到编码。虽然有时这正是你想要的,但要求 Claude 先研究和计划,能显著提升需要深度前期思考的问题的处理效果。
这是 Anthropic 员工喜爱的工作流,适用于可通过单元、集成或端到端测试轻松验证的变更。在智能体编程加持下,测试驱动开发(TDD)变得更加强大:
- 让 Claude 根据预期的输入/输出对编写测试。要明确指出你正在采用测试驱动开发,以防止它为代码库中尚不存在的功能创建模拟实现。
- 让 Claude 运行测试并确认测试失败。明确要求此阶段不要编写实现代码通常很有帮助。
- 当你对测试满意时,让 Claude 提交测试。
- 让 Claude 编写能通过测试的代码,并告知它不要修改测试。要求 Claude 持续迭代,直到所有测试通过。通常需要几次迭代:写代码 -> 运行测试 -> 调整代码 -> 再运行测试。 1. 此阶段可让它使用独立的子智能体验证实现是否没有过拟合测试
- 当对更改满意时,让 Claude 提交代码。
当 Claude 有明确目标(如视觉原型、测试用例或其他输出)进行迭代时,表现**。通过提供测试等预期输出,Claude 可以不断修改、评估结果并逐步改进,直到成功。
类似于测试工作流,你可以为 Claude 提供视觉目标:
- 让 Claude 能够获取浏览器截图(例如使用 Puppeteer MCP 服务器、iOS 模拟器 MCP 服务器,或手动复制/粘贴截图)。
- 通过复制/粘贴、拖放或提供图片路径,将视觉原型给到 Claude。
- 让 Claude 用代码实现设计,截图结果,并持续迭代直到结果与原型匹配。
- 当你满意时,让 Claude 提交。
与人类相似,Claude 的输出通常会随着迭代显著提升。初版可能尚可,但经过 2-3 次迭代后通常会好得多。为 Claude 提供查看其输出的工具,才能获得**结果。

你可以使用 跳过所有权限检查,让 Claude 无中断运行直至完成,而不是监督它。这种模式适用于修复 lint 错误或生成样板代码等工作流。
允许 Claude 运行任意命令有风险,可能导致数据丢失、系统损坏,甚至数据泄露(如通过提示词注入攻击)。为最小化风险,请在无网络连接的容器中使用 。可参考此使用 Docker Dev 容器的 参考实现。
初到新代码库时,可使用 Claude Code 进行学习和探索。你可以像结对编程时向项目中的另一位工程师提问那样问 Claude。Claude 可以自主搜索代码库,回答一般性问题,例如:
- 日志系统是如何工作的?
- 如何创建新的 API 端点?
- 文件第 134 行的 做了什么?
- 处理了哪些边界情况?
- 为何在第 333 行调用 而不是 ?
- 第 334 行的等效 Java 实现是什么?
在 Anthropic,这种用法已成为核心入职工作流,显著缩短了上手时间,并减轻了其他工程师的负担。无需特殊提示!只需提问,Claude 就会探索代码以寻找答案。

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 笔记本。明确告诉它让笔记本或其数据可视化“美观”通常有助于提醒它优化人类的阅读体验。
- 优化你的工作流
以下建议适用于所有工作流:
Claude Code 的成功率在指令越具体时越高,尤其是在初次尝试时。事先给出明确指示,可减少后续调整的需求。
例如:
Claude 能推断意图,但无法读心。越具体,越能与预期对齐。

Claude 能通过多种方法出色处理图片和图表:
- 粘贴截图(小技巧:在 macOS 上按 cmd+ctrl+shift+4 截图到剪贴板,然后按 ctrl+v 粘贴。注意这不是通常在 Mac 上使用的 cmd+v,且远程操作无效。)
- 直接拖放图片到提示输入框
- 提供图片的文件路径
在以设计原型作为 UI 开发参考点,或分析调试视觉图表时,这尤其有用。若不添加视觉内容到上下文,也仍可明确告诉 Claude 结果的视觉美观性很重要。

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

在提示中粘贴特定 URL,让 Claude 获取并阅读。为避免对相同域名(如 docs.foo.com)重复请求权限,可使用 将域名加入白名单。
虽然自动接受模式(按 Shift+Tab 切换)可让 Claude 自主工作,但你通常会通过积极参与和引导获得更好的结果。最好的做法是在开始时彻底向 Claude 解释任务,同时也可以随时纠正其方向。
以下四个工具可帮助纠正方向:
- 在编码前让 Claude 制定计划。明确告知在确认计划合理前不要编码。
- 按 Esc 键中断 Claude 在任何阶段(思考、工具调用、文件编辑)的操作,保留上下文以便你重新引导或扩展指令。
- 双击 Esc 键回溯历史,编辑之前的提示,并探索不同方向。可以反复编辑提示直到获得满意结果。
- 让 Claude 撤销更改,通常与上述方法结合使用,以尝试不同路径。
尽管 Claude Code 偶尔能第一次就完美解决问题,但使用这些纠正工具通常能更快获得更好的解决方案。
长时间会话中,Claude 的上下文窗口可能充满不相关的对话、文件内容和命令,这会降低性能,有时还会干扰 Claude。在任务之间频繁使用 命令可重置上下文窗口。
对于多步骤的大任务或需要详尽解决方案的任务(如代码迁移、批量修复 lint 错误或运行复杂构建脚本),让 Claude 使用 Markdown 文件(甚至 GitHub issue)作为清单和工作草稿,能提升表现:
例如,修复大量 lint 问题,可按以下步骤进行:
- 让 Claude 运行 lint 命令,并将所有错误(含文件名和行号)写入 Markdown 清单
- 指示 Claude 逐个解决问题,修复并验证后再勾选并进入下一个
有几种方法可向 Claude 提供数据:
- 直接复制粘贴到提示中(最常用方法)
- 通过管道传入 Claude Code(例如 ),对日志、CSV 和大数据特别有用
- 让 Claude 通过 bash 命令、MCP 工具或自定义斜杠命令拉取数据
- 让 Claude 读取文件或获取 URL(也适用于图片)
多数会话会结合使用这些方法。例如,你可以通过管道传入日志文件,然后告诉 Claude 使用工具拉取更多上下文来调试日志。
- 使用无头模式自动化你的基础设施
Claude Code 提供无头模式,用于 CI、提交前钩子、构建脚本和自动化等非交互式场景。使用 标志加提示词启用无头模式,使用 获取流式 JSON 输出。
注意:无头模式不会在会话间持久存在,必须在每次会话中触发。
无头模式可驱动由 GitHub 事件触发的自动化,例如代码库中创建新 issue 时。例如,公开的 Claude Code 仓库 使用 Claude 检查传入的新 issue 并分配适当标签。
Claude Code 可提供主观代码审查,识别传统 linter 工具检测不到的问题,如拼写错误、陈旧注释、误导性的函数或变量名等。
- 通过多 Claude 工作流提升能力
除了独立使用,一些最强大的应用涉及并行运行多个 Claude 实例:
一种简单但有效的方法是让一个 Claude 写代码,另一个审核或测试。就像与多名工程师合作,有时独立的上下文更有利:
- 用 Claude 写代码
- 运行 或在另一终端启动第二个 Claude
- 让第二个 Claude 审核第一个 Claude 的工作
- 启动另一个 Claude(或再次 )读取代码和审核反馈
- 让这个 Claude 根据反馈修改代码
你也可以对测试这样做:让一个 Claude 写测试,另一个 Claude 写出通过测试的代码。你甚至可以让 Claude 实例相互通信,通过给它们分配不同的工作草稿并指定写入和读取哪个。
这种分离方式的结果通常优于让单个 Claude 处理所有事情。
无需等待 Claude 完成每一步,Anthropic 的许多工程师会:
- 在不同文件夹中创建 3-4 个 git 副本
- 在多个终端标签中打开每个文件夹
- 在每个文件夹中启动 Claude,分配不同任务
- 轮流切换,检查进度并批准/拒绝权限请求
此方法适用于多个独立任务,比多个副本更轻量。git worktrees 允许你从同一个仓库检出多个分支到不同目录。每个 worktree 拥有独立的文件工作目录,同时共享相同的 Git 历史和 reflog。
使用 git worktrees 可让你在项目的不同部分同时运行多个 Claude 会话,每个会话专注于独立任务。例如,你可让一个 Claude 重构认证系统,同时另一个开发完全无关的数据可视化组件。由于任务不重叠,每个 Claude 可全速工作,无需等待对方的更改或处理合并冲突:
- 创建 worktrees:
- 在每个 worktree 中启动 Claude:
- 根据需要创建更多 worktrees(在新终端标签中重复步骤 1-2)
一些提示:
- 使用一致的命名规范
- 每个 worktree 对应一个终端标签
- 如果你在 Mac 上使用 iTerm2,设置通知,当 Claude 需要关注时提醒你
- 为不同 worktrees 使用单独的 IDE 窗口
- 完成后清理:
(无头模式)可编程地将 Claude Code 集成到更大工作流中,同时利用其内置工具和系统提示。无头模式有两种主要使用模式:
- 分发处理(Fanning out):处理大型迁移或分析(如分析数百条日志的情感或分析数千个 CSV):
- 让 Claude 写一个脚本生成任务列表。例如生成 2000 个需要从框架 A 迁移到框架 B 的文件列表。
- 遍历任务,为每个任务编程调用 Claude,并给出任务和可用工具集。例如:
- 多次运行脚本,并优化你的提示词以获得理想结果。
- 流水线处理(Pipelining):将 Claude 集成到现有数据/处理流水线:
- 调用 ,其中 是处理流水线的下一步
- 完成!可选的 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 的宝贵见解和实践经验帮助塑造了这些建议。

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