跳转到内容

怎样给 Codex 补充上下文

很多人觉得 Codex 效果不稳定,其实问题常常不是它不会,而是:

你脑子里知道的关键信息,没有告诉它。

或者反过来:

你把一堆无关信息全塞给它,反而把它带偏了。

所以这一篇讲的不是“多说一点”,而是:

怎么补对上下文。

前置教程:让 Codex 先读项目再动手
如果你还没有建立“先让 Codex 读项目”的习惯,先完成前置教程,再回到本篇。

依据来源:OpenAI Codex 官方手册中关于任务上下文、项目规则、提示词和持续协作工作流的说明。

跟着本篇做完后,你应该能做到:

  1. 知道什么信息必须补给 Codex。
  2. 知道什么信息其实不用说。
  3. 会补“目标、限制、背景、期望结果”这几类关键上下文。
  4. 会用最短的话把 Codex 拉到正确方向。
  5. 减少无效来回和返工。

补上下文,不是为了让提示词显得专业。

是为了让 Codex 少猜三件事:

  1. 你到底要什么
  2. 哪些东西不能动
  3. 什么叫做完成

如果这三件事不清楚,它就很容易:

  • 改多了
  • 改偏了
  • 改完你还得重说

这是最基本的。

例如:

我要把首页主按钮文案改成“从 0 开始学习”。

或者:

我要修复登录按钮点击后没有提示的问题。

让它知道你现在在什么场景里。

例如:

这是一个 Astro 静态教程站。

或者:

这是一个已经上线的 Vue 页面,我这次只想做局部修复。

这是最容易漏掉,但非常值钱的一类上下文。

例如:

不要改无关页面,不要动样式系统,不要安装依赖。

告诉它改完应该看到什么。

例如:

我希望改完后,这个按钮文案正确显示,且页面布局不要变化。

或者:

我希望修完后,点击按钮能正常提示,不要影响原本登录流程。

如果你已经发现了一些线索,直接告诉它。

例如:

我怀疑问题和首页 Hero 区域有关。

或者:

这个问题只在移动端出现,桌面端正常。

这些信息能让它少走弯路。

这些信息如果和当前任务没关系,就不要一股脑全说:

  • 你的长期人生规划
  • 一堆和当前任务无关的技术偏好
  • 很长的项目历史故事
  • 一整段无关聊天背景
  • “你帮我看着办,顺便优化一下”

尤其是最后一句,特别容易把任务带散。

以后你可以直接按这个顺序组织:

我要做什么
-> 这是什么项目
-> 不要动什么
-> 改完应该看到什么
-> 我已经知道什么线索

例如:

我想修复首页主按钮文案错误。
这是一个 Astro 静态教程站。
不要改布局,不要改样式系统,不要动其他页面。
改完后我希望按钮文案正确,页面外观不变化。
我怀疑问题就在首页 Hero 区域相关文件。

这段就已经很够用了。

例如:

你去新增这个类,再改那个方法。

这不是补上下文,这是替它设计实现。

你应该说的是:

我要达成什么结果,哪些东西不要碰。

说太多无关内容,Codex 反而更难抓住重点。

例如:

这个地方不对。

这不够。

最好补一句:

我希望它变成什么样。

目标清楚但边界不清楚,最容易出现“它做得很勤快,但你不满意”。

我先补充一下这次任务的上下文:
1. 当前项目是:【项目类型】
2. 我这次真正想做的是:【目标】
3. 这次不要动:【禁止项】
4. 我希望最终看到的是:【结果】
5. 我目前已知的线索是:【线索】
请基于这些上下文继续判断,不要自己补充我没有说过的目标。

这段话非常适合中途把它拉回正轨。

如果 Codex 已经跑偏了,怎么补上下文把它拉回来

Section titled “如果 Codex 已经跑偏了,怎么补上下文把它拉回来”

你可以直接这样说:

我补充一下上下文,防止你继续跑偏:
- 本次任务只处理:【这里写当前目标】
- 不处理:【这里写不处理内容】
- 我最在意的是:【这里写真正关注点】
- 如果需要扩大范围,请先停下来问我

这个很好用,尤其适合它已经开始“顺手做更多事”的时候。

很多人只在第一句给上下文,后面就不补了。

其实更高效的做法是:

  • 第一轮补目标和背景
  • 第二轮补范围和限制
  • 第三轮补你刚看到的新线索

也就是说,上下文不是一次性动作,而是随着任务推进逐步补强。

这正是 Codex 相比一次性回答型 AI 更适合做事的地方。

建议接着看:

补上下文之后,下一步就是让它在不确定时先问,而不是自作聪明。