OpenAI Prompt Engineering:开发者提示设计方法
API 中的提示设计不是寻找“万能咒语”,而是把产品规则与用户任务写成可执行、可验证的输入。稳定的提示通常明确任务、背景、材料、限制、输出格式和验收标准,并把不同权限层级的内容分开。
1、区分应用规则与用户输入
instructions 适合放语言、角色、业务边界和处理不确定信息的方式;input 放当前用户问题和材料。不要把用户文本直接拼接到开发者规则中,也不要依赖“忽略恶意指令”一句话解决权限问题。
const response = await client.responses.create({
model: "gpt-5.6",
instructions: `你负责整理客户反馈。
只根据输入材料归纳,不补充未提供的事实。
缺少信息时使用“未提供”。`,
input: `反馈内容:${sanitizedFeedback}`,
});
这里的 sanitizedFeedback 必须由应用先做长度和敏感信息检查。来自网页、文件或用户的内容都属于不可信数据,不能因为被放入提示就获得更高权限。
2、加入可测试的验收标准
“写得专业”无法自动验证,可以改成“输出三项问题、每项包含证据句和建议动作;没有证据时标记未知”。如果下游程序需要固定字段,应使用 Structured Outputs,而不是不断强调“必须返回 JSON”。
少量示例可以澄清分类边界或语气,但示例过多会增加成本并可能让模型过度模仿。先用最小示例集,再通过评测确认是否真的改善结果。
3、用评测迭代而不是凭感觉修改
收集代表性输入,记录正确性、格式遵循、拒绝行为和人工修改时间。每次只改变一个主要因素,例如模型、指令或 Schema,再运行同一测试集。对于模型升级,重新查看该模型的官方提示指南;旧模型上有效的冗长强调不一定适合新模型。
提示词不能替代身份验证、数据库权限和业务规则。它负责指导模型行为,服务端负责强制安全边界。下一页将把这些原则用于文本生成接口。