Codex Prompt 中“目标 + 约束”写法详解与操作指南

Codex Prompt 中“目标 + 约束”写法详解与操作指南 1. 文档目标这份文档专门解决下面几个问题为什么 Prompt 里必须写清目标和约束目标和约束分别应该怎么写什么样的写法最容易让 Codex 理解并执行不同任务场景下目标和约束该怎么变化有哪些常见误区会导致 Codex 输出跑偏读完后你应该能够写出更容易让 Codex 准确执行的 Prompt明确区分“目标”和“约束”为开发、排错、测试、文档场景写出更高质量的请求把这套方法沉淀为团队共用模板2. 为什么 Prompt 里一定要写“目标 约束”很多人问 Codex 时只写了“想做什么”却没有写“不能做什么”“应该怎么做”“做到什么程度算完成”。这就会导致几个典型问题方向对了但范围太大功能实现了但破坏了旧逻辑答案很完整但不符合项目风格它顺手做了很多你没要求的事一句话理解目标决定 Codex 要往哪里去约束决定它不能怎么走。3. 什么是“目标”目标就是你希望 Codex 最终达成的结果。一个好目标通常要回答三个问题最终要完成什么当前这一步先完成什么什么情况下算完成差的写法帮我改一下这个接口。问题改什么不清楚为什么改不清楚改到什么程度不清楚好的写法目标修复订单分页接口手机号筛选失效问题。 当前这一步先判断根因不要直接改代码。 成功标准明确是参数、Java 逻辑还是 SQL 条件导致的问题。4. 什么是“约束”约束就是你要求 Codex 在执行过程中必须遵守的边界和规则。常见约束包括不能改什么必须兼容什么不做什么优先采用什么方式输出必须包含什么差的写法帮我修好就行。问题它可能会大改可能会顺手重构可能会改到你不想动的部分好的写法约束 1. 不修改接口路径 2. 不改变入参结构 3. 不做无关重构 4. 不影响其他筛选条件 5. 优先最小改动5. 为什么很多 Prompt 会失败很多失败不是因为内容太少而是因为结构不清。常见失败原因只有目标没有约束只有约束没有明确目标目标过大但当前步没有收缩约束写得太空泛输出要求不明确6. 目标和约束在 Prompt 里的正确位置最推荐的写法是把它们单独列出来而不是埋在大段描述里。推荐结构目标当前这一步项目背景相关文件/模块约束风险提示输出要求验证标准7. 最推荐的 Prompt 结构模板请帮我处理一个任务。 目标 [最终要达成什么] 当前这一步 [当前先只完成什么] 项目背景 [项目类型 / 技术栈 / 相关模块] 相关文件或模块 [关键位置] 约束 [不能改什么 / 必须兼容什么 / 不做什么 / 优先怎么做] 风险提示 [高风险点] 输出要求 1. [先做什么] 2. [再做什么] 3. [最后做什么] 验证标准 [怎样算完成]8. 怎么写“目标”更清楚目标写法建议满足这 4 条8.1 用一句话说清最终结果例如修复什么问题增加什么能力输出什么文档8.2 当前步要收缩不要每次都要求“一步到位”而要说清当前只做哪一步。8.3 尽量有成功标准告诉 Codex 什么情况算完成。8.4 避免抽象词像“优化一下”“改好一点”“处理一下”这类词都太模糊。9. 怎么写“约束”更有效约束不是越多越好而是越具体越有价值。推荐写法不修改什么不影响什么必须兼容什么不做什么优先采用什么策略示例约束 1. 不修改数据库表结构 2. 不改变接口返回格式 3. 不影响现有权限逻辑 4. 不做无关重构 5. 优先最小修改10. 哪些约束最值得优先写下面这些约束最常用、也最有价值10.1 范围约束例如只改指定模块只改后端不改前端10.2 兼容约束例如保持接口兼容保持旧数据兼容10.3 风险约束例如不改事务边界不改数据库结构不动权限逻辑10.4 方法约束例如优先最小改动先分析再执行先给计划再改10.5 输出约束例如先输出根因分析最后给验证步骤11. 标准操作流程1. 明确最终目标2. 收缩当前步目标3. 写清关键约束4. 补项目背景和相关文件5. 明确输出要求6. 明确验证标准7. 再交给 Codex 执行12. 第一步先写最终目标再写当前这一步这个顺序非常重要。推荐写法目标给会员资料管理新增 customerLevel 字段。 当前这一步先只分析影响范围不直接改代码。为什么这样写因为最终目标给方向当前步目标给节奏13. 第二步优先写关键约束而不是想到什么写什么不是所有约束都要写优先写最会影响结果的那些。优先级通常是不能改什么不能破坏什么不做什么优先采用什么策略14. 第三步把目标和约束与项目上下文绑在一起如果你只写目标和约束但没有项目背景Codex 仍然可能给泛化答案。所以更好的方式是目标 当前步相关模块 / 文件约束输出要求15. Java / Spring Boot 项目实战实例场景订单分页接口在带手机号筛选时返回空数据。不推荐写法帮我修一下订单接口。问题目标不明确约束没有很容易发散推荐写法请帮我处理一个 bug。 目标 修复订单分页接口手机号筛选失效问题。 当前这一步 先判断根因不要直接改代码。 项目背景 这是一个 Spring Boot MyBatis 项目。 相关文件 1. OrderController 2. OrderServiceImpl 3. OrderMapper 4. OrderMapper.xml 约束 1. 不修改接口路径 2. 不改变入参结构 3. 不做无关重构 4. 不影响其他筛选条件 输出要求 1. 先判断更可能是参数、Java 逻辑还是 SQL 条件问题 2. 再给最小修复建议 3. 最后给验证步骤 验证标准 1. 手机号筛选恢复正常 2. 其他筛选条件不受影响16. 功能开发实战实例场景要给会员资料管理新增customerLevel字段。推荐写法请帮我处理一个功能开发任务。 目标 给会员资料管理新增 customerLevel 字段并最终支持新增、编辑、分页筛选和列表展示。 当前这一步 先只分析影响范围并列出应修改模块不直接改代码。 项目背景 这是一个 Java / Spring Boot MyBatis 项目。 相关模块 1. MemberController 2. MemberServiceImpl 3. MemberMapper / MemberMapper.xml 4. ReqVO / RespVO / SaveVO 5. 前端列表和表单页面 约束 1. 优先最小改动 2. 不做无关重构 3. 保持现有接口风格 4. 兼容现有列表和筛选逻辑 输出要求 1. 输出影响范围 2. 输出建议修改文件 3. 输出风险点 4. 输出建议执行顺序17. 测试任务实战实例场景一个需求已经做完现在要补测试。推荐写法请帮我补充测试方案。 目标 为本次 customerLevel 字段扩展补充测试范围和回归清单。 当前这一步 只输出测试点和验证清单不修改代码。 项目背景 Spring Boot MyBatis涉及会员列表、编辑表单和分页筛选。 已完成改动 1. 后端字段流转已完成 2. SQL 筛选已支持 3. 前端展示已完成 约束 1. 不改代码 2. 覆盖正常、异常、边界和回归场景 输出要求 1. 功能测试点 2. 异常测试点 3. 边界测试点 4. 联调清单 5. 回归清单18. 文档生成实战实例场景你想让 Codex 帮你整理一份模块说明文档。推荐写法请帮我生成一份模块说明文档。 目标 输出会员模块的结构说明、调用链说明和开发注意事项。 当前这一步 先读取相关模块并生成文档大纲不直接写最终完整文档。 项目背景 这是一个 Spring Boot 项目会员模块与订单模块有关联。 约束 1. 文档要贴近真实代码结构 2. 不写空泛描述 3. 先出结构化大纲 输出要求 1. 模块职责 2. 核心目录说明 3. 典型链路 4. 风险点 5. 开发注意事项19. 常见误区19.1 误区一只写目标不写约束问题很容易超范围执行19.2 误区二只写约束不写清目标问题Codex 不知道要达成什么结果19.3 误区三目标太大当前步不收缩问题一步到位很容易失控19.4 误区四约束写得太空例如“注意风险”“尽量别出错”这类话几乎没有执行价值。19.5 误区五没有验证标准问题很难判断结果是否真正完成20. 注意事项目标一定要具体当前这一步尽量收缩约束优先写最影响结果的部分约束尽量可执行不要空泛高风险任务一定要显式写风险和边界最后补上输出要求和验证标准21. 高质量提示词模板21.1 通用模板请帮我处理一个任务。 目标 当前这一步 项目背景 相关文件或模块 约束 风险提示 输出要求 验证标准21.2 Bug 模板请帮我处理一个 bug。 目标 当前这一步 项目背景 相关文件 约束 输出要求 1. 先判断根因 2. 再给最小修复建议 3. 最后给验证步骤 验证标准21.3 功能开发模板请帮我处理一个功能开发任务。 目标 当前这一步 项目背景 相关模块 约束 输出要求 验证标准22. 团队落地建议如果你想把这套方法推广到团队里建议这样做固化一份“目标 约束”模板沉淀几个典型高质量示例把“先写目标、再写约束、再写验证标准”写进团队 AI 规范在AGENTS.md中加入 Prompt 书写要求23. 一句话总结Codex 的高质量 Prompt不只是“说想做什么”而是把目标、当前步、约束、风险、输出要求和验证标准一起说清楚。24. 快速上手清单先写最终目标再写当前这一步再补项目背景和相关文件再写关键约束再写输出要求最后写验证标准