search icon
宝玉

宝玉

推荐阅读:如何更好的为 OpenAI o1 这样的推理模型写提示词? 去年 OpenAI 发布 o1 这样的推理模型,接着 DeepSeek 也发布了 DeepSeek R1 推理模型,推理模型和传统的生成式语言模型的差别在于,传统的生成式语言模型在收到 Prompt 后就会马上生成,如果生成出现错误或者质量不好,是没机会纠正的,只能继续生成下去或者后续纠正继续生成,但是推理模型可以在向用户输出内容之前,会先输出思维脸(Chain of Thought),对输入的 Prompt 思考验证完成后,再开始生成,这样可以保证有更好的质量,在 o1 中,OpenAI 因为怕别人偷了了他们的推理数据,所以可以隐藏了思维链的输出内容,但是 DeepSeek 的完整思考过程是可以直接看到的。 说回来提示词(Prompt),既然推理模型自己就会做思维链,这意味着以前在提示词中加入思维链的方式已经没必要了,因为大多数时候推理模型自己写的思维链质量就很好了。另外大部分时候也不需要复杂的角色扮演、示例,因为由于思维链的存在,推理模型的“智能”程度高了很多,不需要角色设置、示例也能很好的理解和跟随指令。 所以到了推理模型,已经不需要太复杂的提示词模板,大多数时候简单的提示词就可以很好的效果,但上下文(背景信息)依旧很重要。微软的工程师写了一篇文章《Prompt Engineering for OpenAI’s O1 and O3-mini Reasoning Models》,详细说明了在给推理模型写提示词应该注意的问题,一个总结了 9 个点: 1. 保证提示清晰且具体 明确说明你想让模型完成什么。避免不相关的信息。如果问题复杂,可直接简要陈述,不要同时抛出多个话题或做过多背景描述。 2. 必要的上下文要提供,不相关的要省略 包含模型所需的领域信息或数据(如案例、事实),因为模型未必具备最新或小众知识;但别堆砌与任务无关的材料或一堆示例,以免干扰。 3. 尽量零示例或极少示例 优先采用零示例模式。只有当模型理解有误或者格式不对时,才加入简短的示例作为演示。O1/O3 本身不需要像旧版 GPT 那样大量示例来引导。 4. 使用 System/Developer 指令定位角色与风格 比如「你是一位法律分析师」,或「请做一名数学老师给学生讲解」,从而设置合适的专业度和语气;再如「请用条列式列出答案」,指定输出结构。 5. 通过指令控制回答长度与详细程度 若要简短回答,就写「限一段话内给出结论」;若要详细分析,就写「请详述你的推理过程」。O1 默认会倾向详尽,但你可以覆盖该默认。 6. 在 O3-mini 上使用“推理努力程度”参数 (若 API 允许)根据任务需求设置低/中/高,以在速度与准确性之间做平衡。 7. 避免重复的“逐步思考”指示 不必告诉 O1/O3「让我们一步步思考」,因为它们已在内部做链式推理;这类指令对 GPT-4o 更有效。只有当你想要输出“所有中间步骤”时才额外声明。 8. 测试和迭代 如果初始回答不理想,可以改变提示表述或更精确地说明需求。虽然 O1/O3 通常一次就能给出高质量解答,但微调提示仍能进一步提升可读性或输出形式。 9. 对重要结论做验证 对于需要高可靠度的回答,可进行追问或多次查询,并对比不同答案或让模型自检,以增强对结果的信心。即便是 O1 也有可能出错,务必审慎使用。

0/200

评论 0

暂无更多评论