Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

OpenAI 推理模型:提示建议

Posted on 2025-02-03

OpenAI 推理模型:提示建议

OpenAI 的 o1 和 o3“推理模型”文档包含一些关于如何最好地提示它们的有趣提示:

  • 开发人员消息是新的系统消息:从o1-2024-12-17开始,推理模型支持developer消息而不是system消息,以与模型规范中描述的命令行为链保持一致。

这似乎是纯粹为了与他们的教学层次概念保持一致而进行的美学改变。据我所知,旧的system提示继续像以前一样工作 – 我们鼓励您使用新的developer消息类型,但这对实际发生的情况没有影响。

由于我的 LLM 工具已经内置了llm --system "system prompt"选项,该选项适用于来自不同提供商的多个不同模型,因此我不会急于采用这种新语言!

  • 使用分隔符以保持清晰:使用 Markdown、XML 标签和部分标题等分隔符来清楚地指示输入的不同部分,帮助模型正确解释不同的部分。

Anthropic 一段时间以来一直鼓励使用XML 式分隔符(我说 -ish 是因为不要求生成的提示是有效的 XML)。我的files-to-prompt工具有一个-c选项,可以输出 Claude 风格的 XML,在我的实验中,这个选项也适用于 o1 和 o3:

 git 克隆 https://github.com/tursodatabase/limbo cdlimbo /绑定/python  要提示的文件。 -c | llm -m o3-mini \   -o Reasoning_effort 高 \   --system '编写带有大量使用示例的详细自述文件'
  • 限制检索增强生成 (RAG) 中的附加上下文:提供附加上下文或文档时,仅包含最相关的信息,以防止模型的响应过于复杂。

这让我觉得 o1/o3 根本不是实现 RAG 的好模型 – 通过 RAG,我希望能够将尽可能多的额外上下文转储到提示中,并将其留给模型来找出相关的内容。

  • 首先尝试零样本,然后根据需要尝试少量样本:推理模型通常不需要少量样本来产生良好的结果,因此请尝试先编写没有示例的提示。如果您对所需的输出有更复杂的要求,那么在提示中包含一些输入和所需输出的示例可能会有所帮助。只需确保示例与您的提示说明非常一致,因为两者之间的差异可能会产生不良结果。

提供示例仍然是我所知道的最有力的提示技巧,因此很有趣的是,在这里看到建议仅在零样本不起作用时才切换到示例。

  • 对于您的最终目标要非常具体:在您的说明中,尝试给出非常具体的参数以实现成功的响应,并鼓励模型继续推理和迭代,直到它符合您的成功标准。

这是有道理的:推理模型会“思考”直到得出结论,因此使目标尽可能明确会带来更好的结果。

  • Markdown 格式:从o1-2024-12-17开始,API 中的推理模型将避免生成具有 Markdown 格式的响应。当您确实希望在响应中进行 Markdown 格式设置时,要向模型发出信号,请在developer消息的第一行中包含字符串Formatting re-enabled 。

这对我来说真是一个震惊!我注意到 o3-mini 输出的是•字符而不是 Markdown *项目符号,最初认为这是一个错误。

我第一次看到这个是在使用files-to-prompt对limbo/bindings/python运行这个提示时:

 git 克隆 https://github.com/tursodatabase/limbo cdlimbo /绑定/python  要提示的文件。 -c | llm -m o3-mini \   -o Reasoning_effort 高 \   --system '编写带有大量使用示例的详细自述文件'

这是完整的结果,其中包括这样的文本(注意奇怪的项目符号):

 Features -------- • High‑performance, in‑process database engine written in Rust • SQLite‑compatible SQL interface • Standard Python DB‑API 2.0–style connection and cursor objects

我用修改后的提示再次运行它:

Formatting re-enabled. Write a detailed README with extensive usage examples.

这次又回到了正确的 Markdown,在这个 Gist 中呈现。这做得非常好,并且包含使用有效 Markdown 语法的项目符号列表:

 - ** ` make test ` ** :使用 pytest 运行测试。 - ** ` make lint ` ** :运行 linters (通过[ ruff ] ( https://github.com/astral-sh/ruff ) )。 - ** ` make check-requirements ` ** :验证` requirements.txt`文件与` pyproject.toml`同步。 - ** ` makecompile-requirements ` ** :使用 pip-tools 编译` requirements.txt`文件。 

Py-Limbo。 Py-Limbo 是一个轻量级、进程内、OLTP(在线事务处理)数据库管理系统,构建为 Rust 之上的 Python 扩展模块。它的设计目的是在使用和 API 方面与 SQLite 兼容,同时提供尝试 Rust 支持的数据库功能的机会。注意:Py-Limbo 是一个正在进行中(Alpha 阶段)的项目。尚不支持某些功能(例如事务、executemany、fetchmany)。目录 - 然后是分层嵌套目录。

(使用像这样的法学硕士让我开始使用文档不足的库是我每周使用几次的技巧。)

通过@harjotsgill

标签: o1 、 openai 、 o3 、 markdown 、 ai 、 llms 、提示工程、生成人工智能、推理缩放、 rag 、人工智能辅助编程、文档

原文: https://simonwillison.net/2025/Feb/2/openai-reasoning-models-advice-on-prompting/#atom-everything

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • eighty twenty
  • Elad Gil
  • Ellie Huxtable
  • Ethan Dalool
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mostly metrics
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Rohit Patel
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Steve Blank
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • Wes Kao
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme