Anthropic官方发布的:Claude Code智能编程最佳实践指南,经其内部使用和社区反馈的经验,整理而成的工作流程和技巧。几个关键点:
1、自定义设置
(1)创建 CLAUDE文件: 这是一个Claude自动读取的特殊文件,用于存储项目相关的上下文信息,例如常用bash命令、核心文件、代码风格指南、测试说明、仓库规范、开发者环境设置以及项目特有的行为或警告等。可以将 CLAUDE文件放在仓库根目录、父目录、子目录或用户主目录下。 /init 命令可以自动生成 CLAUDE文件。
(2)调整CLAUDE文件: 像优化任何常用提示一样优化 CLAUDE文件的内容,使其简洁易读,并使用 “IMPORTANT” 或 “YOU MUST” 等强调词语来提高 Claude 的依从性。可以使用 # 快捷键将指令添加到 CLAUDE文件中
(3)管理Claude的允许工具列表: 默认情况下,Claude Code对修改系统的操作(如文件写入、bash 命令、MCP 工具等)需要获得许可,可以自定义允许列表,以允许已知安全的工具或易于撤销的潜在不安全工具
(4)安装 gh CLI: 如果使用GitHub,安装gh CLI可以让 Claude更有效的与GitHub交互,比如创建问题、打开拉取请求、阅读评论等
2、为 Claude 提供更多工具
(1)使用bash工具: Claude Code继承了bash环境,可以访问所有bash工具,需要告知Claude工具名称和使用方法,或在CLAUDE中记录常用工具
(2)使用MCP: Claude Code可以作为MCP服务器和客户端,连接到其他MCP服务器以访问其工具。可以在项目配置、全局配置或 .mcp.json 文件中配置MCP服务器
(3)使用自定义斜杠命令: 可以将重复的工作流程存储为 Markdown文件,放在 .claude/commands 文件夹中,然后通过斜杠命令 / 调用
3、尝试常见工作流程
(1)探索、计划、编程、提交: 先让Claude阅读相关文件,然后制定计划,再进行编程,最后提交代码,建议使用 “think” 触发 Claude 的扩展思考模式
(2)编写测试、提交;编码、迭代、提交: 先编写测试用例并确保其失败,然后编写代码使测试通过,最后提交代码
(3)编写代码、截图结果、迭代: 提供视觉目标(例如设计模型),让Claude编写代码并截图结果,然后迭代改进直到结果匹配模型
(4)安全YOLO模式: 使用claude –dangerously-skip-permissions 跳过所有权限检查,让Claude不间断工作。建议在没有互联网访问的容器中使用此模式
(5)代码库问答: 使用Claude Code学习和探索新代码库,提出类似于结对编程时会问的问题
(6)使用Claude与git交互: 使用Claude执行各种git操作,比如搜索git历史记录、编写提交消息、处理复杂git操作等
(7)使用Claude与GitHub交互: 使用Claude执行GitHub 操作,例如创建拉取请求、修复代码审查评论、修复构建失败或linter警告等
(8)使用Claude处理Jupyter notebooks: 用于读取和编写 Jupyter notebooks,解释输出(包括图像),并进行数据探索和交互
4、优化工作流程
(1)明确指令: 提供具体的指令可以提高Claude的成功率
(2)提供图像: 通过粘贴、拖放或提供文件路径的方式为 Claude 提供图像,尤其是在UI开发和可视化图表分析时非常有用。
(3)提及要处理的文件: 使用tab补全快速引用文件或文件夹,帮助 Claude 找到正确的资源。
(4)提供URL: 粘贴URL让Claude获取和阅读
(5)尽早且经常地进行修正: 使用Escape中断Claude,双击Escape回溯历史记录,或要求Claude撤销更改
(6)使用/clear 保持上下文聚焦: 定期清除上下文窗口以提高性能
(7)使用清单和草稿板处理复杂工作流程: 使用 Markdown文件或GitHub issue作为清单和草稿板,以提高 Claude处理复杂任务的效率
(8)向Claude传递数据: 通过复制粘贴、管道、bash 命令、MCP 工具、自定义斜杠命令、读取文件或获取 URL 等方式向 Claude 提供数据
5、使用headless模式自动化基础设施
(1)用于问题分类: 在非交互式上下文中使用-p标志启用 headless模式,例如在CI、pre-commit钩子、构建脚本和自动化中
(2)用作linter: Claude Code可以提供主观的代码审查,例如识别拼写错误、过时的注释、误导性的函数或变量名等
6、使用多 Claude 工作流程
(1)一个Claude编写代码,另一个Claude验证: 类似于多个工程师协同工作,使用不同的Claude实例分别编写和审查代码
(2)拥有多个仓库副本: 在不同的文件夹中创建多个 git 副本,并在每个文件夹中启动Claude执行不同的任务
(3)使用 git worktrees: 使用git worktrees并行运行多个 Claude 会话,处理不同的任务
(4)使用自定义工具的headless模式: 将Claude Code 以编程方式集成到更大的工作流程中,并利用其内置工具和系统提示

参考文献:
[1] https://www.anthropic.com/engineering/claude-code-best-practices
知识星球服务内容:Dify源码剖析及答疑,Dify对话系统源码,NLP电子书籍|报告下载,公众号所有付费资料。加微信buxingtianxia21进NLP工程化资料群。
(文:NLP工程化)