Codex需四段式指令:明确Goal动词开头、提供Context路径与代码、列出Constraints硬性条件、设定Done when可验证标准;辅以角色注入与上下文压缩提升准确率。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你正在写一段关键业务逻辑,Codex却反复生成不符合项目规范的代码,不是漏了异常处理,就是用了被禁用的库——问题不在模型能力,而在你给它的指令没框定清楚边界。
四段式结构:让Codex一次就懂你要什么
第一步:明确写清 Goal(目标),用动词开头,限定动作类型。例如“重写 src/utils/date.ts 中的 formatISODate 函数”,不能只说“优化时间格式”。
第二步:粘贴 Context(上下文)时,直接给出文件路径+关键代码片段,而不是描述“那个处理日期的工具函数”。Codex 不会自动猜你指哪段——【不提供具体路径和代码行,它大概率打开错误文件】。
第三步:Constraints(约束)要列硬性条件。比如“必须使用 dayjs 替代 moment”“禁止新增依赖”“保留原有 TypeScript 类型签名”。软性要求如“更简洁”会被忽略。
第四步:Done when(完成标准)必须可验证。写成“输出包含 3 个测试用例,覆盖 null、空字符串、ISO8601 时间戳三种输入”,比“保证健壮性”有效十倍。
角色注入法:把 Codex 变成你的同事
方法一:在提示词开头加一句身份设定,例如:“你是一位有 5 年 React 经验的前端工程师,正在维护一个基于 Vite + TypeScript 的管理后台。”
方法二:叠加技术栈限制,比如:“你熟悉 Next.js 14 的 App Router 模式,了解 server components 和 client components 的边界,不会在服务端组件里调用 localStorage。”
方法三:绑定项目现状,例如:“当前项目已禁用 class 组件,所有新功能必须用 hooks 实现;API 响应统一包装在 data 字段下。”
上下文压缩技巧:三行搞定背景交代
① 第一行写技术事实:“项目用 NestJS 10,数据库是 PostgreSQL,用户表名 users,字段含 id、email、created_at。”
通过 Codex CLI 生成图片,支持尺寸控制和批量模式。依赖:codex (npm)。代理默认启用。用 generate.sh 生成单张,batch_generate.sh 批量生成游戏 UI 素材,gen_size.sh 指定尺寸。所有输出保存至 ~/.codex/generated_images/。
② 第二行写已有约定:“密码哈希使用 bcrypt,JWT 密钥存在环境变量 JWT_SECRET 中。”
③ 第三行写本次任务锚点:“现在需要在 POST /api/auth/register 接口里,校验 email 是否已存在,并返回 409 状态码。”
这三行比写一段“我们有个注册功能,希望加个邮箱重复检查”节省 Codex 70% 的猜测成本。
约束条件怎么写才不被绕过
把“不要用 console.log”改成“所有调试信息必须通过 Logger.debug() 输出,且仅在 development 环境生效”。
把“保持风格一致”换成“函数命名使用 camelCase,if 分支必须带大括号,单行语句不省略分号”。
把“兼容现有接口”明确为“请求体字段名、类型、必选性必须与 OpenAPI spec v3.1.0 中 /v1/users 定义完全一致”。
失败响应模板:快速定位提示词漏洞
当 Codex 输出偏离预期时,复制它的第一行错误响应,粘贴进新对话框,开头加:“上一条提示词漏了哪项关键约束?请逐条对照四段式结构指出缺失项。”
它通常会回溯出你没写的 Context 路径、没声明的 Constraints 类型限制、或 Done when 中模糊的验收标准。

















