GPT-4.1 Prompting 提示词官方指南汇集了 OpenAI 内部大量测试后总结的 prompt 技巧,目的是帮助开发者充分利用 GPT-4.1 模型家族的强大功能,特别是在编码、指令遵循和处理长上下文方面。
GPT-4.1 更严格地遵循指令,需要更明确和精确的 prompt。以往的模型可能会更自由地推断意图,但 GPT-4.1 需要更直接的指示。
如果模型行为不符合预期,只需用一句话明确说明所需行为,通常就能纠正。
持久性 (Persistence):
确保模型理解进入多轮对话,防止过早放弃控制权。 例:“请持续进行,直到用户查询完全解决。”
工具调用 (Tool-calling):
鼓励模型充分利用工具,减少幻觉。 例:“如果不确定文件内容或代码库结构,请使用工具读取文件,不要猜测。”
规划 (Planning, 可选):
确保模型在每次工具调用前进行规划和反思。 例:“在每次函数调用前必须进行广泛的规划,并对前一次函数调用的结果进行广泛的反思。”
GPT-4.1 擅长构建 agentic 工作流。建议在所有 agent prompt 中包含以下三种提醒:
使用 OpenAI API 的 tools 字段传递工具,而不是手动将工具描述注入 prompt。
GPT-4.1 具有强大的 1M token 输入上下文窗口,适用于结构化文档解析、重排序、选择相关信息和多跳推理等任务。
指令的最佳位置是在提供的上下文的开头和结尾。如果只想包含一次指令,放在上下文的上方效果更好。
考虑回答问题所需的外部与内部知识的结合。有时需要模型使用自身知识连接概念或逻辑跳转,而有时最好只使用提供的上下文。
虽然 GPT-4.1 不是一个推理模型,但引导模型逐步思考(CoT)可以有效地将问题分解成更易于管理的部分。
从简单的 CoT 指令开始,例如:“首先,仔细思考回答查询所需的文档。然后,打印出每个文档的标题和 ID。然后,将 ID 格式化为列表。”
可以通过审计失败的例子和评估,并针对系统性的规划和推理错误给出更明确的指令来改进 CoT prompt 。
从一个总体的“响应规则”或“指令”部分开始,提供高级指导。
如果想改变更具体的行为,添加一个部分来指定该类别的更多细节,例如“# 示例短语”。
如果有希望模型在其工作流程中遵循的特定步骤,添加一个有序列表并指示模型遵循这些步骤。
GPT-4.1 在指令遵循方面表现出色,可以精确地控制输出。
推荐的工作流程:
Prompt 结构
定义角色和目标,提供明确的指令,指定推理步骤、输出格式,并提供示例。
分隔符
推荐使用 Markdown 或 XML 格式,尤其是在处理大量文档时。JSON 也可以,但在代码上下文中更合适。
局限性
模型可能对生成非常长、重复的输出有所抵触。如果需要,应强烈指示模型完整输出信息。同时,并行工具调用可能会出错,建议测试并考虑禁用并行调用。
GPT-4.1 在 diff 功能方面有了显著改进。文档中提供了一种推荐的 diff 格式,该模型经过了广泛的训练。
apply_patch 工具是进行代码文件添加、删除、移动或编辑。