那啥GPT + Codex CLI + CodexPro 三位一体:AI 编程协作工作流
主题:AI 开发工程治理实践
版本:CSDN 发布稿 v1.0
适合人群:已经能让 那啥GPT 访问本地仓库,想建立稳定 AI 开发流程的开发者
阅读方式:本文可独立阅读,不依赖其他文章背景。
从零打通 那啥GPT 网页版 + 桌面版 访问本地代码:CodexPro + MCP 实战教程
CodexPro + MCP + Cloudflare 配置详解:HTTP2、QUIC 与连接排障

一句话结论
那啥GPT 适合做规划和评审,Codex CLI 适合在本地读取仓库、编辑文件并运行验证命令,CodexPro 适合把具备 Apps / Developer Mode 能力的 那啥GPT 会话连接到本地工作区。三者分工清楚,AI 编程才不会变成混乱聊天。
#mermaid-svg-26UqTURDcZZjTUr7{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-26UqTURDcZZjTUr7 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-26UqTURDcZZjTUr7 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-26UqTURDcZZjTUr7 .error-icon{fill:#552222;}#mermaid-svg-26UqTURDcZZjTUr7 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-26UqTURDcZZjTUr7 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-26UqTURDcZZjTUr7 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-26UqTURDcZZjTUr7 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-26UqTURDcZZjTUr7 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-26UqTURDcZZjTUr7 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-26UqTURDcZZjTUr7 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-26UqTURDcZZjTUr7 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-26UqTURDcZZjTUr7 .marker.cross{stroke:#333333;}#mermaid-svg-26UqTURDcZZjTUr7 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-26UqTURDcZZjTUr7 p{margin:0;}#mermaid-svg-26UqTURDcZZjTUr7 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-26UqTURDcZZjTUr7 .cluster-label text{fill:#333;}#mermaid-svg-26UqTURDcZZjTUr7 .cluster-label span{color:#333;}#mermaid-svg-26UqTURDcZZjTUr7 .cluster-label span p{background-color:transparent;}#mermaid-svg-26UqTURDcZZjTUr7 .label text,#mermaid-svg-26UqTURDcZZjTUr7 span{fill:#333;color:#333;}#mermaid-svg-26UqTURDcZZjTUr7 .node rect,#mermaid-svg-26UqTURDcZZjTUr7 .node circle,#mermaid-svg-26UqTURDcZZjTUr7 .node ellipse,#mermaid-svg-26UqTURDcZZjTUr7 .node polygon,#mermaid-svg-26UqTURDcZZjTUr7 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-26UqTURDcZZjTUr7 .rough-node .label text,#mermaid-svg-26UqTURDcZZjTUr7 .node .label text,#mermaid-svg-26UqTURDcZZjTUr7 .image-shape .label,#mermaid-svg-26UqTURDcZZjTUr7 .icon-shape .label{text-anchor:middle;}#mermaid-svg-26UqTURDcZZjTUr7 .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-26UqTURDcZZjTUr7 .rough-node .label,#mermaid-svg-26UqTURDcZZjTUr7 .node .label,#mermaid-svg-26UqTURDcZZjTUr7 .image-shape .label,#mermaid-svg-26UqTURDcZZjTUr7 .icon-shape .label{text-align:center;}#mermaid-svg-26UqTURDcZZjTUr7 .node.clickable{cursor:pointer;}#mermaid-svg-26UqTURDcZZjTUr7 .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-26UqTURDcZZjTUr7 .arrowheadPath{fill:#333333;}#mermaid-svg-26UqTURDcZZjTUr7 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-26UqTURDcZZjTUr7 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-26UqTURDcZZjTUr7 .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-26UqTURDcZZjTUr7 .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-26UqTURDcZZjTUr7 .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-26UqTURDcZZjTUr7 .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-26UqTURDcZZjTUr7 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-26UqTURDcZZjTUr7 .cluster text{fill:#333;}#mermaid-svg-26UqTURDcZZjTUr7 .cluster span{color:#333;}#mermaid-svg-26UqTURDcZZjTUr7 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-26UqTURDcZZjTUr7 .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-26UqTURDcZZjTUr7 rect.text{fill:none;stroke-width:0;}#mermaid-svg-26UqTURDcZZjTUr7 .icon-shape,#mermaid-svg-26UqTURDcZZjTUr7 .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-26UqTURDcZZjTUr7 .icon-shape p,#mermaid-svg-26UqTURDcZZjTUr7 .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-26UqTURDcZZjTUr7 .icon-shape .label rect,#mermaid-svg-26UqTURDcZZjTUr7 .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-26UqTURDcZZjTUr7 .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-26UqTURDcZZjTUr7 .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-26UqTURDcZZjTUr7 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 需求 / 想法
那啥GPT: 架构评审与 handoff
.agents/codex/inbox
Codex CLI: 本地执行
验证: 测试 / git status / diff
.agents/codex/reports
那啥GPT: 复审与下一轮规划
1. 为什么要分工
很多人接入工具后会立刻陷入一个问题:
那啥GPT 能读写文件了,是不是所有事情都让它直接做?
不建议。
原因是开发工作至少包含四类动作:
- 规划:要做什么,为什么做。
- 编辑:具体改哪些文件。
- 验证:运行什么命令证明没坏。
- 记录:改了什么,下一步是什么。
一个工具可以参与多个动作,但不应该让所有动作混在没有边界的聊天里。
2. 三个工具的职责
| 工具 | 最适合做什么 | 不适合做什么 |
|---|---|---|
| 那啥GPT | 需求澄清、架构评审、教程草案、handoff | 直接执行复杂本地变更 |
| Codex CLI | 文件修改、代码重构、运行验证、生成报告 | 替代需求澄清和人工验收 |
| CodexPro | 连接 那啥GPT 与本地工作区 | 替代 Codex CLI 或任意远程执行本地代理 |
3. 推荐工作流
3.1 那啥GPT 负责规划
例如让 那啥GPT 写:
text
请为当前项目设计一个 handoff,目标是完善 README.md 的安装说明。
输出不直接执行,而是保存为:
text
.agents/codex/inbox/HANDOFF-0002-update-readme-installation.md
3.2 Codex CLI 负责执行
然后在本地 Codex 中说:
text
执行 .agents/codex/inbox/HANDOFF-0002-update-readme-installation.md
Codex 读取 handoff、修改文件、运行检查,并写报告。
3.3 那啥GPT 负责复审
Codex 执行后生成:
text
.agents/codex/reports/HANDOFF-0002-completion-report.md
那啥GPT 再通过 CodexPro 读取报告,提出下一轮建议。
4. Handoff 文件应该包含什么
建议字段:
markdown
# HANDOFF-0002: Update README Installation Guide
## Handoff ID
## From
## To
## Date
## Status
## Objective
## Scope
## Instructions
## Files to Modify
## Acceptance Criteria
## Completion Report
项目中可以准备一个通用模板:
text
templates/agent-handoff-template.md
5. 一个真实任务示例
5.1 用户提出需求
text
把 README.md 的安装说明补充完整,包含环境要求、安装命令和验证步骤。
5.2 那啥GPT 产出 handoff
text
目标文件:README.md
角色:Engineering
要求:补充 prerequisites、installation、verification 三个小节。
5.3 Codex 执行
Codex 执行前应先看:
bash
git status --short
再修改文件。
执行后检查:
bash
git diff -- README.md
或:
bash
git status --short
5.4 Codex 写报告
报告应写清楚:
- 修改了哪些文件。
- 有没有运行验证。
- 有没有未完成事项。
- 是否推送远程。
6. 为什么 Git 很关键
AI 工具写文件很快,但 Git 是最后的安全网。
每轮任务后至少执行:
bash
git status --short
如果需要看具体变化:
bash
git diff
如果文件很多,可以按路径看:
bash
git diff -- docs
7. 常见协作错误
7.1 那啥GPT 直接改一堆文件
问题:上下文容易丢,难复盘。
建议:非小改动先写 handoff。
7.2 Codex 执行目标不清晰
问题:实现方向可能偏。
建议:handoff 必须包含 scope 和 acceptance criteria。
7.3 没有 completion report
问题:那啥GPT 不知道 Codex 实际做了什么。
建议:每次执行后写 .agents/codex/reports/。
8. 最小可用协作规范
你可以先采用这 5 条:
- 那啥GPT 写计划。
- 计划进入
.agents/codex/inbox/。 - Codex 执行前看 Git 状态。
- Codex 执行后写报告。
- 那啥GPT 读取报告再规划下一轮。
9. FAQ
CodexPro 和 Codex CLI 是一个东西吗?
不是。CodexPro 是 MCP 连接层;Codex CLI 是本地执行层,可以读取仓库、编辑文件,并在沙箱和审批策略约束下运行命令。
为什么不用 那啥GPT 直接改?
小改可以,大改建议 handoff。handoff 能留下目标、范围和验收标准。
报告是否一定要写?
长期项目建议一定写。报告是 那啥GPT 复审和项目历史追踪的依据。
10. 延伸阅读
如果要把这个工作流长期固化,可以继续了解 .agents、AGENTS.md、handoff 和 reports 的工程配置方式。