阅读,与值得关注的内容Readance

GPT-6 Astra 最佳实践,OpenAI 这份指南讲得很细

本文译自 OpenAI 官方指南《Using GPT-6 Astra》。下文中的“我们”指 OpenAI。

简介

GPT-6 Astra 是我们迄今最智能的模型,在电脑操作、网页浏览、软件工程、科学和专业工作等领域具备领先水平。它擅长执行跨越代码、浏览器和专业软件的多步骤工作流。在多项评测中,Astra 使用显著更少的输出 token,取得了更好的结果。尽管它的单 token 价格更高,估算的单任务 API 成本仍低于早期模型。相关评测见参考链接 [1]。

GPT-6 Astra 也是我们迄今对齐程度最高的模型。它擅长审慎行事、尊重任务边界,并进行透明沟通。当指令留有需要自行理解的空间时,它会利用已有上下文补齐常规细节;如果某个问题的答案可能改变结果,就会提出有针对性的询问。它能够吸收新要求,按请求调整方向,也能回答临时插入的问题,同时不偏离整体任务。

要使用 Astra 构建应用,请在 Responses API 请求中将 model 设置为 gpt-6-astra。Responses API 的相关说明见 [2]。

新功能

  • 异步工具调用:
    当应用正在执行一个工具时,GPT-6 Astra 可以继续推理、调用其他工具,或回答请求中相互独立的部分。在函数工具或自定义工具上设置 async: true,并在结果就绪后,使用原始的 call_id 返回结果。工具仍由你的应用执行,尚未完成的工作也由应用管理。《异步工具调用》[3] 介绍了基本用法,以及由开发者定义等待工具的模式。
  • 执行中追加指令:
    在 GPT-6 Astra 工作期间,可以发送额外的用户指令,例如纠正某个问题或调整需求。通过 WebSocket 连接,Responses API 会保留已经完成的工作,并在后续执行中纳入更新。《执行中追加指令》[4] 介绍了事件流程和工具结果的处理方式。
  • 在对话中调整推理强度,同时保留缓存:
    添加一个 configuration_update 输入项,即可针对困难任务提高推理强度,或针对常规后续任务降低强度,无需重写原始提示词前缀。更新后的推理强度会持续生效,直到被另一个 configuration_update 输入项覆盖。示例和兼容性说明见《在对话中调整推理强度》[5]。
  • 对齐偏离监测:
    作为 GPT-6 Astra 强化安全防护措施 [6] 的一部分,我们的系统会异步监测对齐偏离情况,并在必要时触发告警。更多信息见《对齐偏离监测》[7]。
  • 限制:
    GPT-6 Astra 不支持 none 推理强度。为 GPT-6 Astra 启用欧盟数据驻留时,无法使用快速模式 [8]。

GPT-6 Astra 也支持 GPT-5.6 已有的 API 能力,包括电脑操作 [9]、结构化输出 [10]、流式输出 [11]、程序化工具调用 [12]、多 Agent 编排 [13]、提示词缓存 [14]、跨调用保留推理状态 [15]、上下文压缩 [16] 和 Pro 模式 [17]。

提示词最佳实践

与 GPT-5.6 Sol 等早期模型相比,GPT-6 Astra 更智能、能力也更强。它同时表现出一些可以通过提示词进行优化的行为模式,以适配你的具体使用场景。

GPT-6 Astra 的行为特点

  • 主动性与持续执行:
    模型的设计目标是成为更有效的协作者,因此,当额外信息可能实质性改变结果时,它更倾向于向用户提问。这可能导致它停下来,而用户原本期待它作出合理假设并继续执行。
  • 指令遵循:
    GPT-6 Astra 的通用指令遵循能力强于我们此前的模型,因此你能更好地控制它的行为。它也可能对 Skill 及 AGENTS.md 等其他文件中的指令更加敏感。我们强烈建议检查模型能够访问的 Skill 和其他文件,找出其中可能影响模型行为的指令。
  • 个性与写作风格:
    模型倾向于给出详细、经过格式化的回答,并可能在不同会话中重复使用某些措辞。请明确指定应用所需的写作风格和结构。
  • 子 Agent 委派:
    模型委派任务的频率可能低于你的工作流所需。请明确指定它应当在什么情况下、以多大程度使用子 Agent 并行工作。
  • 测试与验证:
    对于编码任务,模型通常会在认定任务完成之前进行充分测试。对于较小的任务,这可能导致测试范围超出任务的实际需要。

主动性与持续执行

在长时间任务中保持连贯性方面,GPT-6 Astra 通常优于 GPT-5.6 Sol 及更早的模型。同时,在早期模型可能自行作出假设的情况下,它更倾向于请求澄清。

要让模型更自主地推进工作,可以先使用下面这段提示词:

你应当根据指令和此前的对话上下文,推断用户意图及任务范围。你的职责是优先采取行动,把用户想完成的任务推进到完成。

当用户表达了开展新工作或修复现有问题的意图时,持续执行,直到用户的预期目标完成。自主推进用户的目标,例如在需要时创建隔离的 worktree 或代码检出目录、解决合并冲突、执行只读操作、创建草稿 PR 等,除非这些操作具有明确的破坏性或不可逆性。

当用户意图不明确时,模型更可能先请求澄清再继续。如果用户的提示已经隐含了授权,可以用下面的提示词要求模型持续执行:

当用户的提示表达了行动请求,例如“你能不能……”“我想……”“帮我……”及类似说法时,将其视为要求你完成工作并采取行动的指令。不要只停留在确认自己有这个能力,例如回答“可以……”,也不要只提出计划或表示可以继续。不要为了节省时间、精力或 token,就满足于未能完整实现用户任务的部分结果,或只是“已经有些帮助”的结果。如果任务需要持续推进,就完成全部必要工作,直到实现用户想要的结果。

可以要求模型先准备出具体、可审阅的结果,再请求批准。这样能避免它在尚未完成力所能及的工作之前就阻塞任务,通常也能更快完成工作。

在向用户提出澄清问题之前,先完成那些已经由上下文授权、且为使拟议行动具体可审阅所必需的工作。用户应当批准一个具体、可审阅的结果。例如,在部署变更、写入外部应用、合并 PR 或发布网站之前,先完成所有必要的准备工作,让用户批准成为最后一步。对于可逆的任务、只读操作、审查或修复,以及此前在会话中已经获得授权,或任务指令强烈暗示已获授权的事项,你不需要再次征求用户许可。

不要因为假设性的风险,主动增加用户没有要求的警告、免责声明、审批流程或安全与合规检查清单。

模型默认也喜欢在工作过程中提出不阻塞任务的问题,因此请根据应用需要的自主程度调整这些提示词。

指令遵循

GPT-6 Astra 更能遵循较长的指令,但也可能对上下文中的信息更加敏感。例如,Skill 文件中不清晰或互相冲突的指导,可能让模型暂停并过早阻塞工作。请明确用户指令与 Skill 的优先级。

用户指令优先于 Skill 中提供的一般指导。如果用户的明确指令与 Skill 的指令冲突,优先遵循用户指令。

要求模型指出导致它暂停或改变方向的 Skill 及具体指令,也有助于让模型行为更加透明。

如果某个 Skill 导致你请求许可或确认、暂停工作、未完成用户要求的任务,或偏离用户意图,请指出并链接到你实际读取的那个 SKILL.md 文件,引用相关指令,并简要说明它如何适用于当前情况。区分 Skill 的明确要求与你对一般指导的理解。

当应用加载了大量 Skill 和 AGENTS.md 等指令文件时,可以用这段提示词找出那些隐含的、互相冲突的指导。

个性与写作风格

GPT-6 Astra 倾向于使用列表、表格和 Markdown,让回答便于快速浏览。如果应用需要格式更少的连贯文字,请明确说明这一偏好。

默认使用清楚、简洁的段落,每段围绕一个主要观点展开。只有在信息确实具有并列关系、顺序关系,或适合通过列表进行比较时,才使用列表。除非层级关系无法用清晰的文字表达,否则避免嵌套列表。使用朴素、简单的语言:常见词语、具体例子和准确的动词。优先使用主动语态和直接陈述。

确保尽早、清楚地表达主要观点,再展开读者所需的解释与细节。让每句话都承接前面的内容。充分展开重要的观点,并提供足够支撑,使其真正有用。

对于技术沟通,下面的提示词有助于兼顾清晰连贯的表达与领域专业性:

优先使用普通语言,少用行话;只有技术细节有助于向用户说明一个观点或你的工作时,才引用这些细节。清楚、连贯地解释复杂概念,并根据用户提示及上下文所体现的背景知识水平调整表达。

要减少写作中的行话和套话,可以先使用下面这段提示词:

避免使用空泛的词语或套话,例如在结尾使用“Bottom Line:”(结论是),以及“delve”(深入探讨)、“foster”(促进)、“leverage”(利用)、“it's worth noting”(值得注意的是)、“importantly”(重要的是)、“Question? Answer.”(自问自答)、“This isn't about X. It's about Y.”(这不是关于 X,而是关于 Y)、“genuinely”(真正地),以及用连字符拼接的复合描述和形容词。不要使用“In short:…”(简而言之……)、“The simplest mental model is:…”(最简单的理解方式是……)之类的总结句。

直接说清打算采取的行动。不要附加说明你不会做什么、哪些内容保持不变,或你会怎样拆分、归类结果。不要使用“X, not Y”或“X—not Y”这样的对比表述,引入用户并未提出的另一种方案。避免自造复合标签,例如“exact-head checks”和“editorial-row layouts”,也不要使用含糊的限定语和套式过渡;用普通动词和介词说清实际关系。

子 Agent 委派

GPT-6 Astra 经过训练,能够拆分任务并委派给并行工作的子 Agent。如果你正在自己的 Agent 运行框架中实现多 Agent 系统,可以用下面的提示词调整 GPT-6 Astra 委派工作的程度:

无论你是主 Agent 还是子 Agent,只要在任何时候可以把任务委派给另一个 Agent 来并行处理,并且这样能节省时间或提高质量,就应使用协作工具进行委派。

Agent 之间的消息可能出现语法或空格错误。可以使用下面的提示词,让 Agent 间消息更容易阅读:

你发给其他 Agent 的消息以及最终回答,都可能由人类阅读,因此请保证表达清楚。在单词之间以及数字与其他文字之间使用适当的空格。

模型通常能够很好地响应关于何时、如何委派任务的提示词,请根据你的 Agent 运行框架和多 Agent 实现调整这一行为。

测试与验证

对于编码任务,请根据改动校准所需的测试与验证程度。这样有助于避免针对小改动进行不必要的测试或重复检查。

对于可逆、影响较小的改动,不要编写只是照着实现重复一遍的测试。如果你选择通过测试来验证工作,请确保这些测试有意义,并且确实是验证实现所必需的。

运行与改动相适应的测试,并完成必需的检查。检查通过后,只有出现新的改动、失败或尚未解决的问题,足以支持扩大或重复测试时,才继续测试;否则,应继续推进任务直至完成。

迁移快速入门

使用 Codex 迁移

Codex 可以借助 OpenAI Docs 技能 [18],应用本指南建议的修改。

$openai-docs migrate this project to GPT-6 Astra

要在其他 Coding Agent 中使用这个技能,可以从 OpenAI 技能仓库 [18] 下载。

更新 API 和模型参数

将 model 设置为 gpt-6-astra,然后检查以下项目:

  • 推理强度:
    如果你当前使用 none 或 minimal,请从 low 开始,并比较结果。否则,保留当前实际生效的推理强度 [19]。在 Responses 中使用 reasoning.effort,在 Chat Completions 中使用 reasoning_effort。
  • 工具调用:
    使用 Responses API [20]。GPT-6 Astra 支持 Chat Completions,但工具调用需要使用 Responses。
  • 不支持的参数:
    移除 temperature、top_p 和 top_logprobs。对于 Chat Completions,还要移除 logprobs。对于 Responses,从 include 中移除 message.output_text.logprobs。
  • 快速模式:
    使用欧盟数据驻留时,请选择 Standard 处理模式。GPT-6 Astra 在欧盟数据驻留配置下,不支持 service_tier: "fast" 或 service_tier: "priority"。GPT-6 Astra 的快速模式不提供延迟 SLA。详见《快速模式兼容性》[21]。
  • 调整推理强度:
    如果应用会在两次响应之间调整推理强度,请在标准的单 Agent 请求中使用 configuration_update 输入项。保持请求级的 reasoning.effort 不变,以保留用于缓存的提示词前缀。采用这一功能之前,请检查兼容性限制 [5]。
  • 提示词缓存:
    从 GPT-5.5 或更早版本迁移时,将 prompt_cache_retention 替换为 prompt_cache_options.ttl,并将其设置为 "30m"。请查看提示词缓存的变化 [22],包括缓存边界和缓存写入计费。
  • 不必要的审批暂停:
    如果遇到模型不断请求批准才肯继续的问题,请参考前文“主动性与持续执行”部分,用提示词引导它更自主地执行。关于指令遵循、写作风格、子 Agent 委派以及测试的建议,请参阅“提示词最佳实践”的其他部分。

文中索引

[1] GPT-6 Astra 介绍与评测:https://openai.com/index/gpt-6-astra/
[2] 迁移到 Responses API:https://developers.openai.com/api/docs/guides/migrate-to-responses
[3] 异步工具调用:https://developers.openai.com/api/docs/guides/async-tool-calling
[4] 执行中追加指令:https://developers.openai.com/api/docs/guides/steering
[5] 在对话中调整推理强度:https://developers.openai.com/api/docs/guides/reasoning#change-reasoning-mid-conversation
[6] GPT-6 Astra 的强化安全防护:https://openai.com/index/path-to-astra/
[7] 对齐偏离监测:https://developers.openai.com/api/docs/guides/safety-checks/misalignment-monitoring
[8] 快速模式:https://developers.openai.com/api/docs/guides/fast-mode
[9] 电脑操作:https://developers.openai.com/api/docs/guides/tools-computer-use
[10] 结构化输出:https://developers.openai.com/api/docs/guides/structured-outputs
[11] 流式输出:https://developers.openai.com/api/docs/guides/streaming-responses
[12] 程序化工具调用:https://developers.openai.com/api/docs/guides/tools-programmatic-tool-calling
[13] 多 Agent 编排:https://developers.openai.com/api/docs/guides/responses-multi-agent
[14] 提示词缓存:https://developers.openai.com/api/docs/guides/prompt-caching
[15] 跨调用保留推理状态:https://developers.openai.com/api/docs/guides/reasoning#preserve-reasoning-across-calls
[16] 上下文压缩:https://developers.openai.com/api/docs/guides/compaction
[17] Pro 模式:https://developers.openai.com/api/docs/guides/reasoning#reasoning-mode
[18] OpenAI Docs 技能仓库:https://github.com/openai/skills/tree/main/skills/.curated/openai-docs
[19] 推理强度:https://developers.openai.com/api/docs/guides/reasoning#reasoning-effort
[20] 从 Chat Completions 迁移到 Responses:https://developers.openai.com/api/docs/guides/migrate-to-responses#migrating-from-chat-completions
[21] 快速模式与数据驻留等要求的兼容性:https://developers.openai.com/api/docs/guides/fast-mode#is-fast-mode-compatible-with-data-residency-zero-data-retention-and-a-baa
[22] 不同模型的提示词缓存差异:https://developers.openai.com/api/docs/guides/prompt-caching#summary-of-model-differences

参考链接

  • 原文:Using GPT-6 Astra:https://developers.openai.com/api/docs/guides/latest-model?model=gpt-6-astra

前往微信阅读全文

内容来自公众号,可前往微信查看原文。

查看作者的更多文章 →