多轮对话编程是复杂需求下的核心使用方式:在 Codex 侧边栏的同一会话中,所有代码、修改记录、需求背景会自动保留上下文,你可以像和同事对接需求一样,一步步打磨代码,从基础可用逐步优化到符合生产规范。不用每次重复粘贴代码、不用一次性把所有需求说全,适合功能迭代、样式调整、排错优化等需要反复打磨的场景。
一、核心使用逻辑与入口
所有多轮迭代都在 Codex 侧边栏对话面板 中进行,这是唯一支持上下文延续的入口:
- 自动保留当前会话的所有历史代码与修改指令,无需重复粘贴完整代码;
- 后续指令默认基于上一版代码继续修改,不会每次重新生成全新版本;
- 支持随时回溯、调整方向,适合需求逐步明确、边想边写的开发场景。
行内补全、右键菜单均为单次触发,不保留对话历史,复杂优化请统一使用侧边栏对话。
二、标准迭代流程(新手推荐按步骤来)
遵循“先跑通、再优化、后规范”的顺序,比一次性抛出所有需求准确率更高、返工更少。
- 首轮:生成基础可用版本
先讲清核心功能,不纠结细节,先拿到一版可运行的基础代码。
示例指令:用 Node.js + Express 写一个用户查询接口,根据用户ID返回用户基本信息
- 次轮:补全业务规则与边界处理
基于第一版,逐个补充业务约束、异常处理,一次只加一类规则。
示例指令:在上面的基础上,加上参数非空校验、ID格式校验,用户不存在时返回统一的错误格式
- 深化:优化结构、性能与规范
功能跑通后,再做可读性、性能、编码规范层面的优化。
示例指令:把数据库查询逻辑抽成独立的 service 层,加上错误捕获和日志打印,统一响应格式
- 收尾:配套完善
最后补充注释、生成单元测试,完成标准化交付。
示例指令:给所有核心函数加上中文注释,再生成对应的单元测试用例
三、高效迭代的实用技巧
- 每次只聚焦一个修改目标
不要一次同时改功能、改样式、改性能,单目标迭代逻辑更清晰,出错概率更低。比如先改参数校验,再改返回格式,最后优化性能,分步推进。
- 指令要具体,避免模糊描述
不要说“改得更好一点”“优化一下”,直接说明具体要求:
- ✅ 正确:
把错误提示的状态码统一改成 200,错误信息放在 msg 字段里 - ❌ 错误:
返回格式改得规范一点
- 报错反馈要给全信息
修复后运行仍有问题时,不要只说“还是不对”,粘贴完整报错信息+实际现象,AI才能精准定位:
示例反馈:按上面的修改后运行报错,错误信息是 TypeError: Cannot read property 'id' of undefined,报错在第 18 行
- 善用回溯与换方案
改偏了、不满意,不用从头重写,直接指令回溯:
- 回到指定版本:
回到上一版,不要抽 service 层,保持简单结构 - 换实现思路:
这个方案太复杂,换一种更简洁的实现方式,不引入额外依赖
- 长会话及时重置上下文
当对话已经迭代了十几轮、代码改动很大时,可以把当前最新的完整代码复制出来,新开一个会话粘贴后继续迭代,避免上下文过长导致遗忘早期逻辑、出现前后矛盾。
四、常见误区与避坑
- 不要一次性堆叠十几个需求
把所有要求一次性全说出来,很容易出现顾此失彼、部分需求被遗漏的情况,分步迭代整体效率更高。
- 不要用模糊的否定式反馈
“不对”“不行”“不好用”这类反馈没有有效信息,AI无法判断是哪里不对、预期是什么,修改很容易偏离方向。
- 不要把对话历史当版本管理
重要的版本节点要及时保存到本地文件,不要依赖对话历史回溯,会话清空、上下文超限后历史记录可能丢失。
- 不要在一个会话里混多个不相关项目
不同项目、不同功能的代码不要放在同一个会话里迭代,上下文会互相干扰,导致生成的代码串逻辑。
五、常见问题处理
- 多轮后AI忘了之前的代码,前后逻辑矛盾
把当前最新的完整代码重新粘贴到输入框,补充一句:基于这段最新的代码继续修改,前面的上下文以这段为准,手动刷新上下文即可。
- 越改越乱,想回到最开始的版本
直接在对话里说:回到第一版代码,重新开始优化,AI会回溯到首轮生成的版本;如果会话太长回溯失败,就新开会话重新生成。
- 会话太长,响应变慢、出错率升高
复制当前最终版代码,新开一个会话继续迭代;同时可以在新会话里简要说明核心背景,不用复述所有修改历史。
实用小提示:每完成一个阶段的迭代,就把代码替换到本地文件中运行验证,确认没问题再继续下一轮优化,避免攒了很多改动后一次性运行,出问题不知道是哪一步引入的。