Codex: Codex 工作流模式

最后更新:2026-08-31

Codex 支持多种工作流模式,根据任务复杂度和自主程度选择合适的模式。

📋 前置知识:了解 Codex 基本操作

1. 你将学到


2. 三种工作流模式

模式 自主程度 人工参与 适用场景
提问模式 咨询、分析、学习
任务模式 具体开发任务
Agent 模式 复杂多步骤任务

3. 提问模式

(1) 特点

(2) 使用方式

TEXT 📖 仅展示
> 解释 React useEffect 的清理机制
> 这个正则表达式匹配什么?/\d{3}-\d{4}/
> TypeScript 中 type 和 interface 有什么区别?
> 如何在 Node.js 中实现优雅关闭?

▶ 示例 1: Alice 用提问模式学习

TEXT 📖 仅展示
# Alice 接手一个 Rust 项目,用提问模式快速理解

> 解释 src/parser/mod.rs 中的 AST 结构
> 这个项目用的是什么错误处理模式?
> 为什么这里用 Arc<Mutex<T>> 而不是 RefCell<T>?
> 给我画一个模块依赖关系图

4. 任务模式

(1) 特点

(2) 使用方式

TEXT 📖 仅展示
> 为 auth 模块添加 JWT 支持
> 修复 test_user_login 测试失败
> 将 this.state 转换为 React Hooks
> 为 API 添加请求限流

(3) 任务拆解原则

原则 说明
单一职责 一次只做一件事
明确边界 指定修改范围
包含验证 说明如何验证
参考已有 指定风格参考

▶ 示例 2: Bob 的任务拆解

TEXT 📖 仅展示
# Bob 需要添加用户注册功能,拆解为:

Step 1: "创建 User 模型,字段包含 email、password_hash、created_at"
Step 2: "实现注册 API 端点 POST /api/register,包含邮箱格式验证"
Step 3: "添加密码哈希,使用 bcrypt"
Step 4: "为注册流程写集成测试"
Step 5: "添加邮箱验证流程"

5. Agent 模式

(1) 特点

(2) 使用方式

BASH
# Full Auto 模式
codex --full-auto "将整个项目从 JavaScript 迁移到 TypeScript"

# 或在对话中切换
/mode full-auto

(3) Agent 工作循环

100%
graph TB
    A[接收任务] --> B[分析理解]
    B --> C[规划步骤]
    C --> D[执行步骤 1]
    D --> E[验证结果]
    E --> F{成功?}
    F -->|否| G[修正重试]
    G --> D
    F -->|是| H[执行步骤 2]
    H --> I[继续...]
    I --> J[汇总结果]
    J --> K[汇报完成]

▶ 示例 3: Alice 的 Agent 模式

TEXT 📖 仅展示
# Alice 用 Agent 模式处理大型重构
> 将 Express 项目迁移到 Fastify:
> 1. 替换所有路由定义
> 2. 更新中间件语法
> 3. 修改启动脚本
> 4. 确保所有测试通过
> 5. 更新 package.json

# Codex 自主执行:
→ Scanning 45 files...
→ Converting routes (32 routes)...
→ Updating middleware (8 files)...
→ Test run: 89/89 passed ✓
→ Updating dependencies...
→ Final test: 89/89 passed ✓
→ Migration complete!

6. 模式选择策略

(1) 决策树

TEXT 📖 仅展示
任务类型?
├── 只需要信息 → 提问模式
├── 需要修改代码
│   ├── 单一明确任务 → 任务模式
│   └── 复杂多步骤任务
│       ├── 风险可控 → Agent 模式
│       └── 风险较高 → 任务模式(分步)

(2) 选择矩阵

任务 模式 原因
解释代码逻辑 提问 不需要修改
修复单个 Bug 任务 单一明确
添加一个功能 任务 需要逐步确认
全项目重构 Agent 步骤多但有规律
数据库迁移 任务 风险高需逐步确认
批量生成测试 Agent 重复性工作

7. 混合工作流

实际工作中,三种模式常常混合使用:

TEXT 📖 仅展示
# Alice 的混合工作流

1. [提问] "这个项目的认证架构是怎样的?"
2. [提问] "JWT 刷新令牌的最佳实践是什么?"
3. [任务] "添加 JWT 刷新令牌端点"
4. [任务] "为刷新令牌写单元测试"
5. [Agent] "审查整个 auth 模块,修复所有安全问题"

❓ 常见问题

Q 可以在一次会话中切换模式吗?
A 可以。使用 /mode 命令或直接调整交互方式——提问式交互就是提问模式,任务式交互就是任务模式。
Q Agent 模式安全吗?
A 取决于任务风险和审批策略。建议配合 Git 安全网——操作前先 commit,出错可回滚。高风险任务建议用任务模式。
Q 如何判断任务是否适合 Agent 模式?
A 问自己三个问题:1) 步骤是否可预见?2) 错误是否可回滚?3) 是否需要人工判断?都是 → Agent;否 → 任务模式。
Q 提问模式会消耗上下文吗?
A 会。每个问题和回答都占用上下文窗口。大量提问后建议 /compact/new
Q 哪种模式最省 token?
A 提问模式最省,因为不执行操作只输出文字。Agent 模式最费,因为需要多轮执行和验证。

📖 小节


📝 作业

  1. 基础题(难度⭐):分别用三种模式完成同一个主题的不同任务,记录体验差异。
  2. 进阶题(难度⭐⭐):用任务模式完成一个中等复杂度功能,练习任务拆解。
  3. 挑战题(难度⭐⭐⭐):设计一个混合工作流——先用提问模式分析,再用任务模式实现,最后用 Agent 模式审查。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏