Opus + Codex 协作开发工作流(进阶版)
本文介绍了提升Claude AI使用效率的进阶技巧:1)通过CLAUDE.md和settings.json实现项目级记忆和行为控制;2)采用分阶段规划、双AI审查等策略优化任务管理;3)使用斜杠命令将重复工作流程化;4)创建专职Subagents处理特定任务;5)开发可复用Skills技能包;6)利用Hooks实现自动化触发。这些方法可显著提高开发效率,实现更智能、更自动化的AI协作工作流。
前提
已熟悉基础版工作流,能跑通四个阶段。
本文聚焦 “如何用得更好、更快、更自动化”。
1. 上下文工程:让 AI 记住你的规则
核心思想
与其每次对话都重复说明项目规则,不如把规则写进文件,让 Claude 自动加载。
CLAUDE.md:项目级记忆
在项目根目录创建 CLAUDE.md,Claude 每次启动都会自动读取:
# 项目规范
## 技术栈
- 后端:Node.js + TypeScript + Express
- 数据库:PostgreSQL(使用 Prisma ORM)
- 测试:Jest + Supertest
## 编码规范
- 函数命名:camelCase
- 文件命名:kebab-case
- 错误处理:所有异步函数必须有 try/catch
## 禁止事项
- 不得直接修改 migration 文件
- 不得使用 any 类型
## 常用命令
- 启动:`npm run dev`
- 测试:`npm test`
- 构建:`npm run build`
最佳实践
- 单个
CLAUDE.md控制在 200 行以内(超出后 Claude 对后面内容的遵守率下降) - 用
.claude/rules/目录拆分大型规则文件,按文件名用 glob 匹配触发 - 重要规则用
<important if="...">标签包裹,防止被忽略
<!-- .claude/rules/database.md -->
<!-- Glob: src/db/** -->
<important if="editing database files">
所有数据库操作必须走事务,不得裸写 SQL
</important>
settings.json:行为级配置
.claude/settings.json 控制 Claude 的行为,比 CLAUDE.md 更可靠(由 harness 强制执行):
{
"model": "claude-opus-4-6",
"permissions": {
"allow": [
"Bash(npm run *)",
"Bash(git *)",
"Edit(src/**)",
"Edit(tests/**)"
],
"deny": [
"Bash(rm -rf *)",
"Edit(.env)"
]
},
"attribution": {
"commit": ""
}
}
重要区别:在
CLAUDE.md写"NEVER add Co-Authored-By"不可靠;用settings.json的attribution.commit: ""才是确定性的。
2. 进阶规划技巧
让 Claude 先采访你,再规划
不要一次性给出所有需求,让 Claude 用问题挖掘你可能没想到的细节:
用 AskUserQuestion 工具采访我,收集实现「用户通知系统」所需的所有信息,
直到你认为细节足够才开始规划。
这种方式产出的规划质量远高于你直接描述需求。
用第二个 Claude 审查规划
规划完成后,开一个新的 Claude 会话(或用 Codex)让它扮演「资深工程师」来挑规划的毛病:
codex "以资深工程师视角审查以下技术方案,指出:
1. 架构缺陷
2. 遗漏的边界条件
3. 潜在的扩展性问题
4. 安全风险
方案:$(cat plan.md)"
Ultraplan:在浏览器中协作审查
/ultraplan
生成云端规划草稿,可分享给团队在浏览器中添加评论,再决定是否执行。
分阶段门控规划(Phase-Gated)
把大任务拆成有明确验收标准的阶段,每阶段都包含测试:
请制定分阶段规划,每个阶段包含:
- 具体的交付物
- 单元测试要求
- 集成测试要求
- 进入下一阶段的验收标准
需求:重构用户认证模块
用 ultrathink 触发深度推理
在需要 Claude 深入思考时,在 prompt 中加入关键词:
claude --model claude-opus-4-6 "ultrathink:分析这个分布式系统中的竞态条件风险"
3. Slash Commands:把工作流变成命令
核心思想
重复做同一件事超过 2 次,就把它变成一个斜杠命令。
创建自定义命令
在项目目录创建 .claude/commands/ 文件夹,每个 .md 文件就是一个命令:
mkdir -p .claude/commands
示例:创建 /review 命令
<!-- .claude/commands/review.md -->
对当前 git diff 进行 code review,关注:
1. 逻辑错误和边界条件
2. 安全漏洞(OWASP Top 10)
3. 性能问题
4. 错误处理完整性
5. 测试覆盖是否足够
输出格式:Markdown 表格,列:文件 | 行号 | 严重程度 | 问题 | 建议
使用:
/review
示例:创建 /deploy-check 命令
<!-- .claude/commands/deploy-check.md -->
执行上线前检查清单:
1. 运行全量测试:`npm test`
2. 检查环境变量配置是否完整
3. 检查 migration 是否有未执行的
4. 审查最近的 git diff 是否有调试代码(console.log、TODO、FIXME)
5. 生成上线摘要报告
高频命令建议
| 命令名 | 用途 |
|---|---|
/review |
审查当前变更 |
/test |
运行测试并分析失败原因 |
/techdebt |
列出当前代码的技术债 |
/deploy-check |
上线前检查清单 |
/context-dump |
导出当前任务上下文到文件 |
4. Subagents:专职 AI 小组
核心思想
与其让一个 Claude 做所有事,不如给特定任务配专职 Agent,每个 Agent 有独立上下文和专属工具。
创建 Subagent
在 .claude/agents/ 目录下创建 <name>.md:
<!-- .claude/agents/security-reviewer.md -->
---
name: security-reviewer
description: 专门审查代码安全问题,当涉及认证、授权、数据验证时自动调用
model: opus
tools: Read, Grep, Glob
---
你是一个专注安全审查的工程师,专注于:
- OWASP Top 10 漏洞检测
- 认证和授权缺陷
- SQL 注入、XSS、CSRF
- 敏感数据泄露
- 加密使用是否正确
审查完成后输出结构化报告,包含严重程度(Critical/High/Medium/Low)。
在主对话中调用 Subagent
分析 src/auth/ 目录的代码,用 subagents 并行审查安全性和性能
测试时间计算(Test Time Compute)
同一模型,两个独立上下文,让一个 Agent 写代码,另一个找 bug:
# Agent 1 实现功能
claude --model claude-opus-4-6 "实现用户登录功能" > login.ts
# Agent 2(独立上下文)找 bug
cat login.ts | claude --model claude-opus-4-6 \
"找出这段代码中所有可能的 bug 和安全问题,不要提供修复,只报告问题"
为什么有效? 独立的上下文窗口让第二个 Agent 没有“确认偏差”,能更客观地找问题。
5. Skills:可复用的技能包
Skills 是比 Commands 更强大的复用单元,支持:预加载到 Agent、独立上下文运行、动态注入 shell 输出。
创建 Skill
mkdir -p .claude/skills/code-review
<!-- .claude/skills/code-review/SKILL.md -->
---
name: code-review
description: 对代码进行全面审查,关注质量、安全和性能
context: fork
allowed-tools: Read, Grep, Glob
---
## 审查框架
### 安全检查
- 输入验证(所有用户输入是否经过校验)
- 认证和授权
- 依赖版本是否有已知漏洞:!`npm audit --json 2>/dev/null | head -50`
### 性能检查
- 数据库查询(N+1 问题、缺少索引)
- 内存泄漏风险
- 同步操作阻塞事件循环
### 代码质量
- 函数复杂度(超过 20 行的函数需要拆分)
- 错误处理完整性
- 测试覆盖率
## Gotchas(Claude 常犯的错误)
- 不要忽略 async/await 中未捕获的 Promise rejection
- 检查 TypeScript 的 any 类型是否过度使用
技巧:
!command语法会在 Skill 加载时执行 shell 命令并注入结果,上例中npm audit的输出会直接进入 Claude 的上下文。
两种 Skill 使用模式
模式一:用户手动调用
/code-review
模式二:预加载到 Subagent(推荐用于专职 Agent)
<!-- .claude/agents/backend-dev.md -->
---
name: backend-dev
skills:
- code-review
- database-migration
---
6. Hooks:自动化触发器
Hooks 让 Claude Code 在特定事件发生时自动执行脚本,无需人工干预。
常用 Hook 场景
场景一:提交代码后自动格式化
// .claude/settings.json
{
"hooks": {
"PostToolUse": [{
"matcher": "Edit|Write",
"hooks": [{
"type": "command",
"command": "npm run format -- $CLAUDE_TOOL_INPUT_PATH 2>/dev/null || true"
}]
}]
}
}
场景二:Stop Hook 让 Claude 自我核查
{
"hooks": {
"Stop": [{
"hooks": [{
"type": "prompt",
"prompt": "检查你的工作是否完整:1) 有没有遗留的 TODO?2) 测试是否通过?3) 有没有调试代码未清理?如有问题请继续处理。"
}]
}]
}
}
场景三:git commit 前安全检查
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash(git commit*)",
"hooks": [{
"type": "command",
"command": "git diff --cached | grep -E '(password|secret|api_key|token)' && echo 'WARNING: 可能包含敏感信息!' || true"
}]
}]
}
}
Hook 事件完整列表
| 事件 | 触发时机 |
|---|---|
| PreToolUse | 工具调用前(可拦截) |
| PostToolUse | 工具调用后 |
| Stop | Claude 完成一轮回答后 |
| UserPromptSubmit | 用户提交 prompt 前 |
| SessionStart | 会话开始时 |
| TaskCompleted | 任务完成时 |
7. 并行开发:Git Worktrees + Agent Teams
核心思想
多个 Agent 同时处理不同功能分支,互不干扰,效率翻倍。
Git Worktrees:给每个 Agent 独立工作区
# 为新功能创建独立工作区
git worktree add .worktrees/feature-auth -b feature/auth
git worktree add .worktrees/feature-payment -b feature/payment
# 在两个 worktree 中分别启动 Claude
cd .worktrees/feature-auth && claude --model claude-opus-4-6 &
cd .worktrees/feature-payment && claude --model claude-opus-4-6 &
每个 Claude 实例在独立分支上工作,不会互相冲突。
用 tmux 管理多个 Claude 实例
# 创建 tmux 会话,左右分屏
tmux new-session -d -s dev
tmux send-keys -t dev "cd .worktrees/feature-auth && claude" Enter
tmux split-window -h -t dev
tmux send-keys -t dev "cd .worktrees/feature-payment && claude" Enter
tmux attach -t dev
Agent Teams(实验性)
让多个 Agent 共享任务协调:
# 设置环境变量启用 Agent Teams
export CLAUDE_AGENT_TEAMS=1
# 启动主 Claude,它会自动协调子 Agent
claude --model claude-opus-4-6 \
"并行实现用户模块和支付模块,用 subagents 分别处理,完成后合并方案"
清理 Worktrees
# 查看所有 worktrees
git worktree list
# 删除不再需要的 worktree
git worktree remove .worktrees/feature-auth
8. 模型与成本优化
模型选择策略
| 场景 | 推荐模型 | 原因 |
|---|---|---|
| 复杂架构设计 | Opus + ultrathink | 最强推理 |
| 日常编码 | Sonnet | 速度与质量均衡 |
| Plan Mode 规划 | Opus | 全局视角好 |
| Code Review | Sonnet 或 Codex | 足够用,成本低 |
| 简单问答/重复任务 | Haiku | 最快最便宜 |
| 单元测试生成 | Codex / Haiku | 模式匹配,不需要强推理 |
在会话中动态切换模型
# 规划阶段用 Opus
/model claude-opus-4-6
# 切到实现阶段,改用 Sonnet 节省成本
/model claude-sonnet-4-6
# 查看当前模型和上下文用量
/model
/context
上下文管理:避免“Agent 衰退区”
上下文超过 50% 后,Claude 的表现会下降。主动管理上下文:
# 在交互模式中查看上下文用量
/context
# 上下文到 50% 时主动压缩
/compact
# 切换到完全不同的任务时,清空上下文重开
/clear
命名会话,随时续接:
# 给当前会话命名
/rename "feat: 用户注册模块"
# 以后恢复这个会话
/resume
用 /sandbox 减少权限弹窗
# 启用沙箱模式,减少约 84% 的权限确认弹窗
/sandbox
9. 进阶 Git / PR 工作流
PR 体积控制
- 目标:p50 控制在 ~120 行以内
- 原则:一个 PR 只做一件事
- 好处:更容易 review、更容易 revert、更容易 cherry-pick
# 让 Claude 帮你拆分大 PR
claude "分析当前的 git diff,建议如何拆分成多个小 PR,每个 PR 专注一个逻辑变更"
Squash Merge(推荐)
始终用 squash merge,保持主分支线性历史:
- 每个功能 → 主分支一个 commit
- 方便 git revert 和 git bisect
gh pr merge --squash --auto
多 Agent PR Review
# 用内置的 code-review 功能
/code-review
# 或用 Codex 做第二视角
git diff main...HEAD | codex "以资深工程师身份审查这个 PR 的所有变更"
自动化 lint 规则生成
发现某类问题在 review 中反复出现?让 Claude 自动生成 lint 规则:
claude "分析最近 20 个 PR 的 review 意见,总结高频问题,为每类问题生成对应的 ESLint 规则"
10. 调试进阶技巧
截图调试
遇到 UI 问题时,直接截图丢给 Claude:
# 截图后在 claude 中
> 查看截图 /path/to/screenshot.png,诊断为什么按钮没有居中
让 Claude 读浏览器 Console
配合 MCP 服务(Chrome DevTools / Playwright),让 Claude 直接看到控制台报错:
# 安装 Playwright MCP
npm install -g @playwright/mcp
# 在 .mcp.json 中配置
# 然后 Claude 可以直接:
> 打开 http://localhost:3000,检查控制台报错
后台运行长命令
# 在 claude 交互模式中,让长命令在后台跑
> 在后台启动 npm run dev,监控输出,有报错时通知我
走偏了?立刻回退
# 按两次 Esc,或:
/rewind
# 回退后,换一个角度重新描述问题
> 忽略上面的方案,换一种更简单的实现思路
上下文压缩报错?
# 切到支持更长上下文的模型再压缩
/model claude-opus-4-6 # Opus 支持 1M token
/compact
11. 定时任务与自动化
/loop:本地定时循环(最长 3 天)
# 每 5 分钟检查一次 CI 状态
/loop 5m 检查 CI 状态,如果失败输出错误原因
# 每小时运行一次测试
/loop 1h npm test,分析失败的测试用例
/schedule:云端定时任务(机器关机也能跑)
# 每天早上 9 点生成每日代码质量报告
/schedule "每天 9:00" 运行 npm run lint 和 npm test,生成质量报告发给我
# 每周五下午生成本周技术债报告
/schedule "每周五 17:00" 分析本周的 git log 和 PR,总结技术债积累情况
进阶:用 Codex 做定期安全扫描
# 创建安全扫描脚本
cat > security-scan.sh << 'EOF'
#!/bin/bash
echo "=== 依赖安全扫描 ==="
npm audit
echo "=== 代码安全审查 ==="
git diff main | codex "审查这些变更的安全问题,重点关注 OWASP Top 10"
EOF
chmod +x security-scan.sh
# 在 claude 中设置定期运行
/loop 24h ./security-scan.sh
进阶技巧速查
提示词技巧
# 要求更优雅的方案(不满意初版时)
"knowing everything you know now, scrap this and implement the elegant solution"
# 让 Claude 证明方案可行
"prove to me this works — grill me on these changes before making a PR"
# 要求深度推理
"ultrathink: 分析这个设计的所有边界情况"
权限管理(替代 dangerously-skip-permissions)
// .claude/settings.json 中精细控制权限
{
"permissions": {
"allow": [
"Bash(npm run *)",
"Bash(git add *)",
"Bash(git commit *)",
"Edit(src/**)",
"Edit(tests/**)"
]
}
}
ASCII 架构图(高价值工具)
# 让 Claude 用 ASCII 图解释架构,比文字更清晰
claude "用 ASCII 图展示用户注册流程的完整架构,包括服务间调用关系"
每日最佳实践
# 每天更新 Claude Code
claude update
# 查看 changelog(了解新功能)
# https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
# 会话开始时确认环境
/doctor
进阶架构参考
Command → Agent → Skill 模式
适合复杂的多步骤工作流:
用户输入 /my-workflow
↓
.claude/commands/my-workflow.md (入口,描述工作流)
↓ 调用
.claude/agents/my-agent.md (执行者,有专属工具和技能)
↓ 使用
.claude/skills/my-skill/SKILL.md (可复用的知识包)
优势:
- Command 负责编排,Agent 负责执行,Skill 负责知识
- 每层职责清晰,独立可测试
- Skill 可以跨 Agent 复用
更多推荐





所有评论(0)