GPT-5 在编码方面能力很强,但对 Prompt的编写有一定的要求,以下是 OpenAI 总裁 Greg Brockman 也认可的最佳编码实践

虽然强大的 GPT-5 可以应对不同的编程模式,但也有一些技巧能帮助你从 API 或编程工具中获得最大收益。

1. 避免冲突信息

新版 GPT-5 模型在遵循指令方面有显著提升,但如果指令模糊或包含冲突信息,仍可能导致副作用。例如,避免在 .cursor/rulesAGENTS.md 文件中出现冲突指令。

2. 运用正确的推理力

GPT-5 总是会进行某种程度的推理来解决问题。为了获得最佳结果,请对最复杂的任务使用高推理力。如果你发现模型过度思考简单问题,请调低推理力,选择中等低等级别。

3. 使用 XML 语法来组织指令

结合 Cursor,我们发现 GPT-5 在使用类似 XML 的语法来提供更多上下文时效果更好。例如,你可以遵循以下模型编程指南:

<code_editing_rules>
<guiding_principles>
- 每个组件都应该是模块化和可重用
- ...
</guiding_principles>
<frontend_stack_defaults>
- Styling:TailwindCSS
</frontend_stack_defaults>
</code_editing_rules>

4. 避免过度使用硬性语言

与其他模型一样,你可能习惯使用硬性语言,例如:

在收集信息时彻底。 确保你在回复前已掌握全貌

对于 GPT-5,这些指令可能会适得其反,因为模型可能会过度遵循,导致不自然。例如,它可能会过度使用工具调用来获取上下文。

5. 为规划和自我反思留出空间

如果你正在创建从零到一的应用,给模型指令以进行自我反思可以提供帮助。

<self_reflection>
- 首先,花点时间思考一下要使用的评估标准。
- 然后,清晰地思考关于一键式 Web 应用程序的每个方面,你需要创建一个评估标准,其中有 5-7 个类别。这个标准很难做到完全正确,但不要直接展示给用户。这是为了你自己的目的。
- 最后,使用这个评估标准,以最好的方式思考并迭代,来响应所提供的提示。如果你对自己的回应没有达到评估标准中的最高分,你需要再次开始。
</self_reflection>

6. 控制你的编程代理的积极性

GPT-5 默认情况下会努力做到全面且详尽地收集上下文信息。你可以通过提示词来更具指导性地控制它应该有多积极,以及是否应该并行进行发现/工具调用。

给予模型一个工具预算,指定它何时应该更彻底或不那么彻底,以及何时需要与用户确认。例如:

<persistence>
- 不要要求人类确认或澄清假设,因为你总是可以稍后调整
- 决定最合理的假设是什么,然后据此进行,并在你完成操作后将其记录下来,供用户参考
</persistence>