Opus + Codex 协作开发工作流(进阶版)

Opus + Codex 协作开发工作流(进阶版)svg xmlns http www w3 org 2000 svg style display none svg

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



 
  
    
     
      
     
前提

与其每次对话都重复说明项目规则,不如把规则写进文件,让 Claude 自动加载。

在项目根目录创建 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 匹配触发
  • 重要规则用 标签包裹,防止被忽略
 
   
    
      
   
    
      
   
    
     
       所有数据库操作必须走事务,不得裸写 SQL 
      

.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.jsonattribution.commit: "" 才是确定性的。


不要一次性给出所有需求,让 Claude 用问题挖掘你可能没想到的细节:

用 AskUserQuestion 工具采访我,收集实现「用户通知系统」所需的所有信息, 直到你认为细节足够才开始规划。 

这种方式产出的规划质量远高于你直接描述需求。

规划完成后,开一个新的 Claude 会话(或用 Codex)让它扮演「资深工程师」来挑规划的毛病:

codex "以资深工程师视角审查以下技术方案,指出: 1. 架构缺陷 2. 遗漏的边界条件 3. 潜在的扩展性问题 4. 安全风险 方案:$(cat plan.md)" 
/ultraplan 

生成云端规划草稿,可分享给团队在浏览器中添加评论,再决定是否执行。

把大任务拆成有明确验收标准的阶段,每阶段都包含测试:

请制定分阶段规划,每个阶段包含: - 具体的交付物 - 单元测试要求 - 集成测试要求 - 进入下一阶段的验收标准 需求:重构用户认证模块 

在需要 Claude 深入思考时,在 prompt 中加入关键词:

claude --model claude-opus-4-6 "ultrathink:分析这个分布式系统中的竞态条件风险" 

重复做同一件事超过 2 次,就把它变成一个斜杠命令。

在项目目录创建 .claude/commands/ 文件夹,每个 .md 文件就是一个命令:

mkdir -p .claude/commands 
示例:创建 /review 命令
 
     
    
        对当前 git diff 进行 code review,关注: 1. 逻辑错误和边界条件 2. 安全漏洞(OWASP Top 10) 3. 性能问题 4. 错误处理完整性 5. 测试覆盖是否足够 输出格式:Markdown 表格,列:文件 | 行号 | 严重程度 | 问题 | 建议 

使用:

/review 
示例:创建 /deploy-check 命令
 
     
    
        执行上线前检查清单: 1. 运行全量测试:`npm test` 2. 检查环境变量配置是否完整 3. 检查 migration 是否有未执行的 4. 审查最近的 git diff 是否有调试代码(console.log、TODO、FIXME) 5. 生成上线摘要报告 
命令名 用途 /review 审查当前变更 /test 运行测试并分析失败原因 /techdebt 列出当前代码的技术债 /deploy-check 上线前检查清单 /context-dump 导出当前任务上下文到文件

与其让一个 Claude 做所有事,不如给特定任务配专职 Agent,每个 Agent 有独立上下文和专属工具。

.claude/agents/ 目录下创建 .md

 
      
    
         --- name: security-reviewer description: 专门审查代码安全问题,当涉及认证、授权、数据验证时自动调用 model: opus tools: Read, Grep, Glob --- 你是一个专注安全审查的工程师,专注于: - OWASP Top 10 漏洞检测 - 认证和授权缺陷 - SQL 注入、XSS、CSRF - 敏感数据泄露 - 加密使用是否正确 审查完成后输出结构化报告,包含严重程度(Critical/High/Medium/Low)。 
分析 src/auth/ 目录的代码,用 subagents 并行审查安全性和性能 

同一模型,两个独立上下文,让一个 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 没有“确认偏差”,能更客观地找问题。


Skills 是比 Commands 更强大的复用单元,支持:预加载到 Agent、独立上下文运行、动态注入 shell 输出。

mkdir -p .claude/skills/code-review 
 
       
    
          --- 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 的上下文。

模式一:用户手动调用

/code-review 

模式二:预加载到 Subagent(推荐用于专职 Agent)

 
       
    
          --- name: backend-dev skills: - code-review - database-migration --- 

Hooks 让 Claude Code 在特定事件发生时自动执行脚本,无需人工干预。

场景一:提交代码后自动格式化
// .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 前安全检查
] }] } } 

事件 触发时机 PreToolUse 工具调用前(可拦截) PostToolUse 工具调用后 Stop Claude 完成一轮回答后 UserPromptSubmit 用户提交 prompt 前 SessionStart 会话开始时 TaskCompleted 任务完成时

多个 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 会话,左右分屏 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 共享任务协调:

# 设置环境变量启用 Agent Teams export CLAUDE_AGENT_TEAMS=1

# 启动主 Claude,它会自动协调子 Agent claude –model claude-opus-4-6 “并行实现用户模块和支付模块,用 subagents 分别处理,完成后合并方案”

# 查看所有 worktrees git worktree list # 删除不再需要的 worktree git worktree remove .worktrees/feature-auth 

场景 推荐模型 原因 复杂架构设计 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 

上下文超过 50% 后,Claude 的表现会下降。主动管理上下文:

# 在交互模式中查看上下文用量 /context

上下文到 50% 时主动压缩

/compact

切换到完全不同的任务时,清空上下文重开

/clear

命名会话,随时续接:

# 给当前会话命名 /rename “feat: 用户注册模块”

以后恢复这个会话

/resume

# 启用沙箱模式,减少约 84% 的权限确认弹窗 /sandbox 

  • 目标:p50 控制在 ~120 行以内
  • 原则:一个 PR 只做一件事
  • 好处:更容易 review、更容易 revert、更容易 cherry-pick
# 让 Claude 帮你拆分大 PR claude "分析当前的 git diff,建议如何拆分成多个小 PR,每个 PR 专注一个逻辑变更" 

始终用 squash merge,保持主分支线性历史:

  • 每个功能 → 主分支一个 commit
  • 方便 git revert 和 git bisect
gh pr merge –squash –auto 

# 用内置的 code-review 功能 /code-review # 或用 Codex 做第二视角 git diff main...HEAD | codex "以资深工程师身份审查这个 PR 的所有变更" 

发现某类问题在 review 中反复出现?让 Claude 自动生成 lint 规则:

claude “分析最近 20 个 PR 的 review 意见,总结高频问题,为每类问题生成对应的 ESLint 规则” 

遇到 UI 问题时,直接截图丢给 Claude:

# 截图后在 claude 中 > 查看截图 /path/to/screenshot.png,诊断为什么按钮没有居中 

配合 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 

# 每 5 分钟检查一次 CI 状态 /loop 5m 检查 CI 状态,如果失败输出错误原因 # 每小时运行一次测试 /loop 1h npm test,分析失败的测试用例 
# 每天早上 9 点生成每日代码质量报告 /schedule "每天 9:00" 运行 npm run lint 和 npm test,生成质量报告发给我 # 每周五下午生成本周技术债报告 /schedule "每周五 17:00" 分析本周的 git log 和 PR,总结技术债积累情况 
# 创建安全扫描脚本 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: 分析这个设计的所有边界情况" 
// .claude/settings.json 中精细控制权限 { "permissions": { "allow": [ "Bash(npm run *)", "Bash(git add *)", "Bash(git commit *)", "Edit(src/)", "Edit(tests/)" ] } } 
# 让 Claude 用 ASCII 图解释架构,比文字更清晰 claude "用 ASCII 图展示用户注册流程的完整架构,包括服务间调用关系" 

# 每天更新 Claude Code claude update

# 查看 changelog(了解新功能) # https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md

# 会话开始时确认环境 /doctor


适合复杂的多步骤工作流:

用户输入 /my-workflow

.claude/commands/my-workflow.md (入口,描述工作流)

↓ 调用 

.claude/agents/my-agent.md (执行者,有专属工具和技能)

↓ 使用 

.claude/skills/my-skill/SKILL.md (可复用的知识包)

优势

  • Command 负责编排,Agent 负责执行,Skill 负责知识
  • 每层职责清晰,独立可测试
  • Skill 可以跨 Agent 复用

小讯
上一篇 2026-04-17 14:49
下一篇 2026-04-17 14:47

相关推荐

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