工作流程
Claude Code 不强加特定工作流,给你充分的灵活性。本文介绍已被证明有效的各种工作流模式和优化技巧。
核心工作流模式
Section titled “核心工作流模式”探索、规划、编码、提交(EPCI)
Section titled “探索、规划、编码、提交(EPCI)”这是适用于多种问题的通用工作流,特别适合复杂功能开发:
1. 探索阶段
Section titled “1. 探索阶段”# 让 Claude 先理解现状,明确告知不要写代码
> 请阅读处理用户认证的相关文件,了解当前的实现方式。暂时不要写任何代码,先帮我理解架构。
# 让 Claude 使用子代理进行深度调研
> 请使用子代理详细调研现有的日志系统,包括日志格式、存储位置、轮转策略等。探索阶段最佳实践:
- 给出大致指示(如”读处理日志的文件”)或具体文件名
- 充分利用子代理进行细节核查
- 让 Claude 先理解业务逻辑,再考虑技术实现
2. 规划阶段
Section titled “2. 规划阶段”# 触发扩展思考模式,获得更多计算时间
> think hard: 如何重构当前的用户认证系统以支持多种登录方式?
# 思考预算级别:think < think hard < think harder < ultrathink
> ultrathink: 设计一个可扩展的微服务架构来处理高并发用户请求规划阶段最佳实践:
- 使用不同级别的”think”指令分配思考预算
- 让 Claude 创建 GitHub issue 或文档记录计划
- 制定明确的验证标准和成功指标
3. 编码阶段
Section titled “3. 编码阶段”# 让 Claude 按计划实施,并在过程中验证
> 根据我们制定的计划,开始实现用户认证重构。请在实现过程中验证每一步是否符合设计原则。4. 提交阶段
Section titled “4. 提交阶段”# 自动化提交和 PR 创建
> 请提交这些更改并创建 PR,确保提交信息清晰描述了重构的目标和影响。测试驱动开发(TDD)
Section titled “测试驱动开发(TDD)”特别适合功能明确、可测试的开发场景:
- 编写测试:
> 我们要实现一个用户注册功能。请先编写测试用例,包括成功注册、重复邮箱、无效输入等场景。明确说明这是 TDD,不要写 mock 实现。- 验证测试失败:
> 运行测试并确认它们按预期失败。不要写任何实现代码。- 提交测试:
> 对测试满意后,请提交这些测试用例。- 实现功能:
> 现在编写通过测试的代码。不要修改测试,专注于实现功能直到所有测试通过。- 迭代优化:
# 让独立子代理验证实现质量
> 请启动一个子代理来审查当前的实现,确保它没有过拟合测试用例。可视化迭代开发
Section titled “可视化迭代开发”适合 UI 开发、数据可视化等需要视觉反馈的工作:
# 配置截图工具(如 Puppeteer MCP 服务器)
# 或准备手动截图工具-
提供视觉目标:
- 粘贴设计稿或 mockup
- 拖拽参考图片到输入框
- 明确说明”结果需要美观”
-
实现并截图:
> 实现这个用户仪表板界面,完成后请截图展示结果,与提供的设计稿对比。- 迭代改进:
> 当前的实现与目标设计在颜色和布局上有差异,请调整以更好地匹配设计稿。- 最终确认:
> 满意后请提交所有更改。高级工作流模式
Section titled “高级工作流模式”安全 YOLO 模式
Section titled “安全 YOLO 模式”适合批量修复、样板代码生成等低风险场景:
- 修复 lint 错误
- 生成样板代码
- 批量重命名
- 简单的重构任务
# 在隔离环境中使用
docker run -it --rm -v $(pwd):/workspace node:latest bash
cd /workspace && claude --dangerously-skip-permissions
# 或使用 Dev Containers
# 在 .devcontainer/devcontainer.json 中配置无网络访问> 修复所有的 ESLint 错误,包括格式化、导入排序、未使用变量等。代码库问答模式
Section titled “代码库问答模式”适合新项目学习、代码审查、知识传递:
常见问题模式
Section titled “常见问题模式”# 架构理解
> 这个项目的整体架构是怎样的?数据流如何?
# 功能实现
> 用户认证是如何实现的?包含哪些安全措施?
# 代码细节
> src/utils/helpers.js 第 45 行的这个函数是做什么的?为什么这样设计?
# 比较分析
> 这个 Python 函数在 JavaScript 中的等价实现是什么?# 让 Claude 自动探索代码库
> 分析这个 React 应用的状态管理模式,识别所有的状态来源和数据流。
# 边界情况分析
> CustomerOnboardingFlowImpl 类处理了哪些边界情况?是否有潜在的安全风险?Git 工作流集成
Section titled “Git 工作流集成”智能 Git 操作
Section titled “智能 Git 操作”Claude 可以处理 90% 以上的 git 操作:
> 搜索 git 历史,找出 v1.2.3 版本包含了哪些重要更改?
> 谁最近修改了用户认证相关的代码?这些更改的背景是什么?
> 这个 API 端点为什么要这样设计?请查看相关的 commit 历史和 PR 讨论。> 查看我的更改并生成合适的提交信息,确保遵循项目的提交规范。
# Claude 会自动:
# 1. 运行 git status 和 git diff
# 2. 分析更改内容
# 3. 查看最近的提交历史了解风格
# 4. 生成符合规范的提交信息复杂 Git 操作
Section titled “复杂 Git 操作”> 我需要回滚 src/auth.js 文件到三个提交之前的版本,但保留其他文件的当前更改。
> 帮我解决这个 rebase 冲突,优先保留 feature 分支的更改。
> 将 feature-A 分支的特定提交移植到 feature-B 分支。GitHub 集成工作流
Section titled “GitHub 集成工作流”# 创建 PR
> 为当前分支创建 PR,根据更改内容生成合适的标题和描述。
# 处理 PR 反馈
> 修复 PR #123 中的所有审查评论,完成后推送到对应分支。
# 分析构建失败
> PR #456 的 CI 构建失败了,请分析失败原因并修复。Issue 管理
Section titled “Issue 管理”# 自动化 issue 处理
> 分析 issue #789 并实现修复方案,包括测试和文档更新。
# 批量 issue 管理
> 循环处理所有标记为 "bug" 的 open issues,提供修复建议或关闭不再相关的 issues。Jupyter Notebook 工作流
Section titled “Jupyter Notebook 工作流”适合数据科学、研究、实验性开发:
数据探索工作流
Section titled “数据探索工作流”# VS Code 中并排打开 Claude Code 和 .ipynb 文件
> 分析这个数据集的基本统计信息,识别异常值和数据质量问题。
> 为这个时间序列数据创建可视化图表,重点展示趋势和季节性模式。# 性能优化
> 优化这个 pandas 操作的性能,考虑内存使用和执行速度。
# 可视化美化
> 让这些图表更美观,改善配色、标签和布局。工作流优化技巧
Section titled “工作流优化技巧”# 任务完成后及时清理上下文
/clear
# 长任务分解
> 这是一个复杂的任务,请先制定清单,然后我们逐项完成。# 使用 Markdown 清单跟踪进度
> 创建一个 GitHub issue 来跟踪这个重构任务的进度,包含所有子任务。
# 草稿本协作
> 在 draft.md 文件中记录当前的进展和下一步计划。# 中断和重定向
# 按 Escape 键中断 Claude,然后:
> 停止当前的方法,我们换个思路...
# 历史编辑
# 双击 Escape 回到历史,编辑之前的提示# 详细指令(好的示例)
> 参考 HotDogWidget.php 的实现模式,创建一个日历 widget。支持月份选择和年份翻页,使用项目现有的 UI 组件库,不引入新依赖。
# 模糊指令(避免)
> 做一个日历功能。数据传递模式
Section titled “数据传递模式”多种数据输入方式
Section titled “多种数据输入方式”# 直接粘贴(小量数据)
> 分析这个错误日志:[粘贴日志内容]
# 管道输入(大量数据)
cat application.log | claude
# 文件引用(结构化数据)
> 读取 data/users.csv 文件并分析用户行为模式。
# URL 获取(在线资源)
> 分析这个 API 文档:https://docs.example.com/api自动化和 CI/CD 集成
Section titled “自动化和 CI/CD 集成”无头模式应用
Section titled “无头模式应用”批量处理脚本
Section titled “批量处理脚本”#!/bin/bash
# migrate-files.sh
for file in src/legacy/*.js; do
echo "Migrating $file..."
claude -p "Migrate $file from jQuery to React. Return OK if successful, FAIL if failed." \
--allowedTools "Edit" \
--output-format json >> migration-log.json
done# .github/workflows/claude-review.yml
name: Claude Code Review
on: [pull_request]
jobs:
claude-review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run Claude Code Review
run: |
claude -p "Review this PR for security issues and code quality problems" \
--output-format stream-json > review-output.jsonPre-commit 钩子
Section titled “Pre-commit 钩子”# .git/hooks/pre-commit
#!/bin/bash
claude -p "Check for common issues in staged files: security vulnerabilities, code smells, inconsistent formatting" --allowedTools "Grep,Read"最佳实践总结
Section titled “最佳实践总结”选择合适的工作流
Section titled “选择合适的工作流”- 简单任务:直接编码 → 提交
- 复杂功能:探索 → 规划 → 编码 → 提交(EPCI)
- 已知需求:测试驱动开发(TDD)
- UI/可视化:可视化迭代开发
- 批量操作:安全 YOLO 模式
- 学习探索:代码库问答模式
工作流优化原则
Section titled “工作流优化原则”- 明确阶段分离:探索、规划、实现、验证各有侧重
- 充分利用工具:git、GitHub、MCP、自定义命令
- 及时保存状态:使用清单、草稿本跟踪进度
- 适时清理上下文:保持 Claude 的注意力聚焦
- 迭代改进:根据结果调整工作流模式
通过掌握这些工作流模式,你可以根据具体任务选择最适合的方法,最大化 Claude Code 的效率和准确性。