会「交互」,比会「提问」更重要
前面讲了怎么写任务描述。这一节讲和 Codex 的交互技巧——不是一次提问就完,而是一来一回、不断逼近目标的过程。会用 Codex 的人,都很会「交互」。
text-tools 加功能时,第一次往往不会完美。这节学的「反馈循环」就是你把这个工具磨到可用的核心手段:跑偏了给具体反馈、一次给足上下文、小步验证。下一模块我们就要靠它端到端完成 text-tools。核心技巧:反馈循环
Codex 第一次不一定做对。别重开、别抱怨,用反馈循环逐步修正:
Codex 出了结果 → 你看哪里不对 → 补充说明 → 它再改 → 再看 → …
每轮都往目标靠近一步,直到满意。
一个可复制的交互起步——先让它「自报计划」,再动手:
codex "先别写代码。我要给 text-tools 加一个『统计每个字出现次数』的功能,你先说说你打算怎么写、改哪个文件,我确认后再做。"
「先出计划、再动手」是新手最实用的交互习惯,能提前拦截一大半跑偏。
怎么给有效反馈
不好的反馈:
❌ 「不对,重来」——它不知道错在哪,怎么改?
有效的反馈(指出「哪里错 + 要什么」):
✅ 「
calc.js里除零应该报错而不是返回 Infinity,把它改成抛异常,并加个测试。」
反馈要具体到「哪里 + 怎么改」,Codex 才能精准行动。
一个 text-tools 场景的完整示例,可直接照抄:
codex "tool.py 的统计字数函数,把中文字符也算成 1 个,但标点符号不要计入。现在它把空格也算进去了,改成只统计汉字和字母。"
这里同时说清了「哪里错」(空格被计入)和「要什么」(只统计汉字和字母),Codex 就能精准改。
一次给足,减少来回
与其挤牙膏式一句句补,不如一次把上下文给足:
- 相关的代码
- 报错信息
- 你试过的尝试
- 约束和期望
给足一次,省好几轮。「多花十秒写清楚,省十分钟来回改」。
给 text-tools 加功能时同理:把「现在输出什么样、你希望什么样、相关文件、示例输入输出」一次说清,而不是让它反复猜。
交互中的几个好习惯
- 先问后做:方向不确定时,先让 Codex 说计划,再动手
- 小步验证:让它一次改一小块,你验证了再继续
- 保留上下文:同一个任务在同一会话里推进,别频繁重开
- 跑偏就打断:发现方向不对,及时叫停纠正
给 text-tools 做大改动尤其要「小步验证」:一次加一个功能、跑一次、确认了再加下一个,别让它一口气改五个功能然后一起翻车。
一个完整交互示例
你:给 calc.js 加除零保护。
Codex:已实现,除零返回 null。
你:不对,我想要抛异常而不是返回 null,这样调用方容易发现。
Codex:明白,改成抛 RangeError('division by zero'),并更新了调用方。
你:跑一下测试看看。
Codex:新增用例通过,原有 8 个全过。
注意到没——你每轮都给了「具体 + 可行动」的反馈,Codex 每轮都往对的方向走。
换成 text-tools 一版:
你:给 tool.py 加个大小写转换,支持 to-upper 和 to-lower。
Codex:已加,默认转大写。
你:我要能选 to-upper 还是 to-lower,不是只有默认大写。加个参数控制。
Codex:改成接受一个 mode 参数,to-upper 转大写、to-lower 转小写,缺省是大写。
你:跑一下验证两种模式都正常。
Codex:两个用例都通过。
落地练习:和 Codex 磨出一个 text-tools 功能
用「反馈循环」真正把 text-tools 的一个功能磨到能用的程度:
- 选一个功能(比如「去重:删除重复行,只保留第一行」),用五段式描述发给 Codex
- 看它的第一次输出,找出至少一处「不对或可以更好」的地方
- 用「哪里错 + 要什么」的方式给出反馈,让它改;重复到符合你的验收为止
怎么判断做对了?——你的每次反馈都能让输出更接近目标,而不是在绕圈。你数得出「来回了几轮、每轮都往哪走了一步」。最终的输出能通过你定的验收样例。
卡住了怎么办? 反馈了它还是不对?检查是不是反馈又变模糊了,把「哪里错 + 要什么」补具体。来回很多轮?可能上下文没给足,一次把相关代码和期望样例发全。方向跑了?及时打断,让它先出个计划再动。
常见坑:反馈只说「不对」,不说「要什么」
新手反馈最容易犯的错:只说「不对」「重来」「不是这个」,却不告诉 Codex 到底要什么、怎么改才算对。
Codex 不是读心术,你说「不对」它只能猜「哪不对、怎么才对」。结果就是反复「不对、重来」,越来越乱。每次反馈都要带上「你要什么」——指出哪里错,更重要的是明确「改成什么样」。给 text-tools 反馈时,养成「哪里错 + 要什么」两句并说的习惯,交互效率立刻翻倍。
小结
- 会用 Codex 的关键是「交互」,不是「一次提问」
- 反馈循环:具体指出「哪里错 + 要什么」
- 一次给足上下文,减少来回
- 好习惯:先问后做、小步验证、跑偏就打断
- text-tools:用反馈循环把一个功能磨到能验收
下一节,用 cc-switch 把多模型接进来并开启路由。