本文是利用 AI 创建的技术解析与实现示例。虽然发布的代码和步骤是基于一手信息构建的,但笔者并未在实机上进行运行确认。根据环境和版本的不同,运行结果可能会有所差异。
OpenAI 官方的“Prompt engineering”指南解释了如何从大语言模型中获得一致输出的基本思路以及利用 API 的实现方法。本文将对官方指南中展示的提示词设计主要要素、模型选择以及指令给予方式进行整理。
从官方信息中可以确认的内容
利用 OpenAI API,可以像聊天机器人一样从提示词生成文本。生成文本的格式丰富多样,包括代码、数学公式、结构化 JSON 数据以及自然语言文本等。一手信息中介绍了使用 Responses API 和 Chat Completions API 的实现示例。
响应结构与输出获取
来自 API 的响应对象包含模型生成的内容数组。
Responses API: 数组存储在响应的
output属性中。其中不仅包含消息,有时还包含工具调用以及推理模型生成的推理标记(token)相关的数据等。因此,官方说明指出,单纯指定第一个元素来提取文本并不是安全的做法。部分官方 SDK 提供了将所有文本输出汇总为单个字符串的output_text属性,可以作为快捷方式使用。Chat Completions API: 数组存储在响应的
choices属性中,其中包含消息和结束原因(finish_reason)等。此外,还可以根据需要返回 JSON 格式的结构化数据(Structured Outputs)。
模型选项与特性
使用 API 时最重要的选择之一是决定使用哪个模型。一手信息列出了以下模型类型的特征:
推理模型 (Reasoning models): 生成用于分析输入提示词的内部思维链(chain of thought)。虽然在理解复杂任务和多阶段规划方面表现出色,但与常规 GPT 模型相比,处理速度较慢,成本也往往更高。
GPT 模型: 速度快、成本效益高且具备高度的智能,但如果给出关于如何完成任务的更明确指令,效果会更好。
大模型与小模型(如 mini 和 nano 等): 提供了速度、成本和智能之间的权衡。大规模模型在理解提示词和解决不同领域的问题方面表现出色,而小规模模型则能以更高速度和更低成本使用。 当拿不定主意时,针对常规文本生成或提示词的迭代作业,
gpt-5.6被定位为一个强有力的默认选项。
提示词工程的基本方针
提示词工程是编写有效指令的过程,旨在使模型能够持续生成满足要求的内容。由于模型生成的内容具有不确定性,因此要获得期望的输出,需要结合技术和科学两方面的方法。
构建应用程序时的重要建议包括以下两点:
固定模型快照: 为了保持行为的一致性,将生产应用程序固定到特定的模型快照(例如:
gpt-4.1-2025-04-14)。构建测试与评估套件: 创建用于衡量提示词行为的测试,以便在进行迭代作业或升级模型版本时能够监控性能。
消息的角色与指令的给予方式
作为向模型以不同权限级别授予指令的方法,可以使用 instructions API 参数或消息的 role。
instructions参数: 为模型提供关于生成响应时的行为的高级指令,例如语调、目标以及正确响应的示例。通过此参数指定的指令优先于input参数内的提示词。消息角色(developer / user 等): 可以在输入数组中按角色分割内容,并明确区分开发者的指令或来自用户的提问进行传递。一手信息中的解说指出,使用
instructions参数指定的设置与在input数组中明确指定developer或user角色的消息结构在概念上是等效的。
使用时的注意事项与最佳实践
为防止产生不可预测的输出,建议在生产环境中固定模型版本。
在解析响应时,不应仅以前提
output[0]或choices[0]为限,而应利用 SDK 提供的汇总属性,或者安全地处理返回的数组结构。由于不同的模型系列或快照之间的输出结果可能存在差异,因此在进行更改时务必执行评估是非常重要的。

コメント