GPT-6 Astra 提示指南:五类提示词,调整模型的默认行为
先理解模型特点与 API 新能力,再用中英双语提示词调整行为,最后逐项完成版本迁移。
- Astra 更擅长长任务,也更愿意澄清关键问题;提示词需要写清交付结果、授权范围和完成条件。
- 异步工具与中途指导让任务能在等待或需求变化时继续推进,应用必须接入相应 API 才能实现。
- 持续推进、规则冲突、文风、分工和验证可以分别用提示词调整;每组中英同框,按任务选择使用。
- 迁移要同时检查接口、推理强度、废弃参数和缓存配置;单任务成本应在自己的工作负载上验证。
OpenAI 发布了其最新旗舰模型GPT-6 Astra ,同时更新了GPT-6 Astra 提示指南,核心内容涵盖了模型特性、全新 API 功能、提示词(Prompt)优化技巧以及旧版本迁移要点。
OpenAI 发布 GPT-6 Astra:强大的 Computer Use 能力让 AI 能连续推进独立完成一个完整的工作
了解 GPT-6 Astra 的模型能力、Computer Use 演示与实际任务表现。
一、GPT-6 Astra 有什么变化
执行能力更强,成本要按完整任务比较
OpenAI 将 Astra 定位为其迄今最智能的模型,重点能力包括电脑操作、网页浏览、软件工程、科学与专业工作。它擅长把多个步骤串起来执行,例如在代码、浏览器和专业软件之间切换,持续完成同一个目标。
成本需要同时看单价和用量。官方指出,在若干评测中,Astra 取得了更好的结果,同时使用显著更少的输出 Token;因此,即使单 Token 定价更高,估算的单任务 API 成本仍低于较早模型。这个结论有评测范围,实际项目还要按自己的任务测算,不能直接理解为所有请求都会更便宜。
更重视边界,也更容易在关键处提问
官方把 Astra 描述为更重视任务边界、谨慎执行和透明沟通的模型。面对不完整的要求,它会利用上下文补全常规细节;当某个答案可能改变结果时,更倾向于提出针对性问题。它还可以在长任务中纳入新要求、按指示调整方向,并在回答临时问题后继续跟进主任务。
这种协作方式也解释了后面的提示建议:用户以为“帮我改好”已经足够明确,模型却可能仍在等待确认;旧技能文件里的一条规则,也可能让它提前停下。它默认还偏好详细、格式化的回答,可能少用子代理,并对小改动做过多测试。提示词需要把这些默认行为调到当前任务需要的程度。
二、API 新功能怎样支持持续执行
要让模型在等待工具时继续工作,或接收运行途中的补充要求,应用需要接入相应的 API 能力。理解这一层,才能分清哪些行为可以用提示词调整,哪些需要开发者先提供执行条件。
异步工具调用:等待结果时,继续独立工作
普通的等待会让依赖工具的流程停住。Astra 的异步工具调用允许模型在应用执行工具期间继续推理、调用其他工具,或回答请求中不依赖当前结果的部分。
接入时,在函数或自定义工具定义上设置 async: true。工具仍由应用实际执行;应用还要管理未完成的调用,并在结果就绪后用原 call_id 回传。这个标识用来把结果关联到对应的工具调用。
例如,应用正在读取文件时,模型可以先按用户已经给定的栏目整理提纲;必须依据文件内容才能作出的判断,则要等读取结果返回。
模型发出读取文件的异步调用
两条工作轨道可以并行
应用执行工具
读取文件
结果就绪后,用原 call_id 回传
模型继续独立工作
按用户已给定的栏目整理提纲
此时还不能据文件内容作判断
结果返回后,结合文件内容继续判断
因此,提示“等待期间先做独立部分”要配合应用的异步接入才能发挥作用。具体接入和等待工具的写法见异步工具调用指南。
中途指导:补充要求后,沿着已有工作继续
Mid-turn steering 允许用户在模型运行过程中追加指令,例如纠正方向或改变需求。应用通过 WebSocket 连接发送更新,Responses API 保留已经完成的工作,并把新指令纳入后续执行。
这对应日常协作中的“做到一半再补充”:已经完成的部分保留下来,后续工作根据新要求调整。要在应用里实现这种体验,还需按中途指导文档处理事件和工具结果。
动态推理强度:难题多想,常规跟进少想
在对话中加入 configuration_update 输入项,可以提高困难步骤的推理强度,或降低常规跟进的强度。更新后的设置持续生效,直到下一条配置更新覆盖它。
这项能力同时照顾缓存:保持请求级 reasoning.effort 不变,用输入项表达后续调整,就能保留原始提示前缀。Prompt 缓存复用的是先前相同的输入部分;保留前缀有利于继续复用,但不等于每次请求都保证命中缓存。官方将这项用法限定于标准、单代理请求,接入前应检查输入示例与兼容条件。
监控、限制与延续支持的能力
OpenAI 的系统会异步监控模型是否出现偏离预期的行为,并在必要时触发警报。这里的“不对齐监控”指这套系统机制,原文没有把它描述成同步的逐步审批。
Astra 不支持 none 推理强度;欧盟数据驻留配置下无法使用 Fast mode。具体迁移字段见最后一节。
它也延续支持 GPT-5.6 已有的能力:电脑操作、结构化输出、流式输出、程序化工具调用、多代理编排、提示缓存、推理状态保留、上下文压缩,以及 pro mode。这些是已有能力的延续,和本节新增功能一起构成应用可以调用的工具与接口基础。
三、五类提示词,调整模型的默认行为
应用接好能力后,还需要明确模型怎样使用它们。官方的提示建议集中在持续推进、指令冲突、文风、子代理分工和验证范围五个方面。下面每项先解释行为与问题,再给出可复制的提示。
每组中英文放在同一个框内,任选一种语言使用。两版均依据官方建议整合改写;最后的完整任务是本文示例。可先用于当前任务,经常需要的规则再放入应用支持的自定义指令或项目指导文件。
1. 自主推进:写清交付结果和确认边界
Astra 更愿意在补充信息可能改变结果时提问。要减少不必要的等待,应明确最终交付物,并要求它在局部问题未确定时继续处理独立部分。例如,“把现有文案整理成可打开的产品页,交付预览;未指定的间距自行决定”,比“帮我做一个产品页”给出了更完整的执行范围。
先说明如何把行动请求推进到完成:
中文
根据当前要求和已有上下文判断我的目标与任务范围,持续完成任务。当我说“帮我做”“能否修改”“我想要”时,按执行请求处理。不要停在能力说明、计划或询问是否继续,也不要为了节省时间、精力或 Token,把只完成了一部分的结果当作任务已经完成。常规细节采用合理假设;缺少的信息会实质改变结果时,指出它影响哪项决定,同时完成不依赖这个回答的部分。
English
Infer my goal and the scope of the task from the current request and earlier context, and work through to completion. Treat requests such as “help me do this,” “can you change this,” and “I want this” as requests to act. Do not stop after describing your capabilities, presenting a plan, or asking whether to continue. Do not treat a partial result as completion merely to save time, effort, or tokens. Make reasonable assumptions about routine details. When missing information could materially change the outcome, explain which decision depends on it and continue the work that does not depend on that answer.
再说明既有授权如何延续,以及需要最终确认时先准备什么。以待发布页面为例,模型应先完成已授权的内容和本地预览,再围绕具体成果询问发布决定:
中文
沿用此前已经给出的授权,以及当前任务明确或强烈隐含的授权。对已在授权范围内的可逆操作、只读操作、审查和修复,不重复请求许可。明确具有破坏性或不可逆的动作,先确认是否已获授权。需要我最终确认时,先完成已授权的准备工作,交出具体、可审阅的成果,再询问最后一步。不要仅因假想风险,自行添加我未要求的警告、免责声明、审批流程或安全合规检查清单。
English
Carry forward authorization already given, including authorization that is clear or strongly implied by the current task. Do not repeatedly ask permission for reversible actions, read-only work, reviews, or fixes that are within that scope. For clearly destructive or irreversible actions, first establish whether they are authorized. When my final approval is needed, complete the authorized preparation and present a concrete result I can review before asking about the final step. Do not add unsolicited warnings, disclaimers, approval procedures, or safety and compliance checklists solely because of hypothetical risks.
途中提问和补充要求也应纳入正在执行的任务。以下工作约定把原文所述的跟进能力转成可操作的要求,避免回答一个临时问题后遗忘主任务:
中文
工作中的提问不必让所有工作暂停。需要的信息若只影响局部决定,提出问题后继续处理独立部分。把我后续补充的要求纳入正在执行的任务;我纠正方向时相应调整。回答临时问题后继续主任务,只有我明确取消或替换目标时,才停止原任务。
English
A question during execution does not have to pause all work. If the missing information affects only a particular decision, ask about it and continue independent work. Incorporate additional requirements into the task in progress, and adjust course when I correct the direction. After answering a side question, return to the main task. Stop pursuing the original task only when I explicitly cancel it or replace its goal.
2. 指令冲突:检查它读到了哪条规则
如果已经要求继续,它仍反复停下,要检查模型读到的技能与项目文件。Astra 对上下文中的指令更敏感;SKILL.md 中的技能步骤、AGENTS.md 中的项目约定,都可能影响执行。
例如,用户已经指定主题并要求成稿,旧技能却还写着“确认选题后再开始”。此时应让模型指出具体规则、判断确认条件是否已经满足。只追加一句“继续”,无法说明冲突来自哪里。
中文
我的明确要求与技能文件中的指导冲突时,以我的要求为准。如果某条技能规则让你请求确认、暂停、未完成任务,或偏离我的目标,请给出你实际读取的文件路径或链接,引用相关原句,并说明它为什么适用于当前任务。区分文件的明确要求和你自己的推断。
English
When my explicit request conflicts with guidance in a skill file, follow my request. If a skill rule leads you to seek confirmation, pause, leave work unfinished, or depart from my goal, identify and link to the exact file you read, quote the relevant instruction, and explain why it applies to this task. Distinguish an explicit requirement in the file from your own interpretation.
这里的优先关系针对用户要求与技能指导之间的冲突。拿到文件、原句和适用理由后,才能判断是旧规则需要调整,还是当前任务确实缺少必要信息。
3. 文风控制:保留解释,删掉套话
Astra 默认倾向于详细回答,喜欢用列表、表格和 Markdown 组织内容。想得到连贯的自然段,就要同时说清读者是谁、保留哪些信息、怎样组织。只要求“简洁”,可能让背景和原因一起被删掉。
面向第一次接触某个功能的读者,可以这样写:
中文
面向第一次接触这个功能的读者。先说明他会遇到什么问题、为什么会发生,再给出解决方法和具体例子。把主要判断尽早写清,每个自然段围绕一个意思展开,让后一句接着解释前一句。保留完成操作所需的背景、原因、步骤和限制;删除套话、空泛总结及重复提醒。并列比较或操作步骤才用列表、表格;只有层级关系难以用自然段表达时,才使用嵌套列表。
English
Write for someone encountering this feature for the first time. Explain the problem they may face and why it occurs, then give the solution and a concrete example. State the main point early. Develop one idea per paragraph, with each sentence building on the one before it. Keep the background, reasoning, steps, and limitations the reader needs to carry out the task. Remove stock phrases, empty summaries, and repeated reminders. Use lists or tables for comparisons or steps, and use nested lists only when prose would not express the hierarchy clearly.
技术说明还需要控制术语密度和解释深度,让读者知道谁做什么、为什么这样做:
中文
使用熟悉的词、具体例子和准确动词,优先用主动语态直接说明谁做什么。术语第一次出现时,解释到读者能够继续理解和操作的程度。根据读者已有知识控制技术细节,不堆砌缩写,也不省略影响判断的条件。
English
Use familiar words, concrete examples, and precise verbs. Prefer active sentences that make clear who does what. Explain unfamiliar terminology when it first appears, to the depth needed for the reader to understand and act. Match technical detail to the reader’s existing knowledge. Avoid piling up acronyms, and preserve conditions that affect the reader’s judgment.
官方还建议直接限制反复出现的套话和无关的表达说明。例如 Bottom Line、delve、it's worth noting;中文场景可按偏好加入“值得注意的是”等表达。限制套话的同时,应保留理解和操作所需的信息:
中文
直接说明要做的动作和结果。只有会影响读者决定时,才补充哪些事不做、哪些内容保持不变、结果如何分类。少用自造的复合标签、模糊限定词和固定过渡句。不要用空洞的对比或总结代替解释;避免反复以 Bottom Line、In short 或类似套话收尾。
English
State the intended action and result directly. Explain exclusions, unchanged content, or how results are grouped only when that information affects the reader’s decision. Avoid invented compound labels, vague qualifiers, and canned transitions. Do not substitute empty contrasts or summaries for an explanation, and avoid repeatedly closing with stock phrases such as “Bottom Line” or “In short.”
4. 子代理分工:规定什么时候委派、委派多少
Astra 具备把任务分给子代理并行处理的能力,但默认委派频率可能低于应用需要。提示词应说明分工条件、每项工作的产物与依赖关系,也可以限定委派范围。
例如,修改网站时,“读取接口文档”和“检查当前页面”可以独立进行;依赖文档结论的修改决定,要等结果回来。下面的提示适用于已经提供子代理和协作工具的应用:
中文
无论你是主代理还是子代理,都应在执行过程中识别可并行的工作。存在可独立完成的子任务,且委派能节省时间或提高质量时,使用协作工具。按当前任务对委派程度的要求,为每个子代理说明目标、必要输入和返回产物;继续推进其余工作。依赖某个结果的判断,等待该结果;等待期间先做独立部分。代理消息和最终回答保持清楚可读,词语和数字之间保留正常空格。
English
Whether you are the main agent or a subagent, look for opportunities to work in parallel throughout the task. Use collaboration tools when a subtask can be handled independently and delegation can save time or improve quality. Follow the task’s requirements for the extent of delegation. Give each subagent a goal, the necessary inputs, and a clear deliverable, while continuing the remaining work. Wait for a result before making judgments that depend on it, and use the waiting time for independent work. Keep messages between agents and final responses legible, with normal spacing between words and numbers.
这一要求同时适用于主代理与子代理。实际委派程度要配合应用实现和任务需要,不能仅凭代理数量判断效果,也不能靠提示词让未接入协作工具的应用获得多代理能力。
5. 测试验证:按改动决定范围,通过后及时交付
Astra 在编码任务中倾向于充分测试。对于小改动,这可能带来超出需要的测试和重复检查。提示词要说明哪些验证有用,以及什么情况才需要继续扩大范围。
中文
验证范围应与当前改动相称。对于可逆、低影响的修改,不编写只是在复述实现的测试。需要测试时,确保它能验证真正可能出错的行为。完成相关测试和必需检查后,只有出现新改动、失败或未解决的问题,才扩大或重复验证;否则交付结果,并说明实际验证了什么。
English
Match verification to the change being made. For reversible, low-impact changes, do not add tests that merely restate the implementation. When tests are needed, ensure they check behavior that could actually fail. Complete the relevant tests and required checks. Expand or repeat verification only when a new change, a failure, or an unresolved concern justifies it. Otherwise, deliver the result and state what was actually verified.
例如,修改按钮文字时,应检查文字和显示是否正常,并完成项目要求的检查;修改提交逻辑时,则要验证输入、状态变化和异常处理。检查范围由改动决定;通过后若没有新问题,就应交付结果。
组合示例:把规则放进一项真实任务
实际使用时,先写当前任务的目标、材料和交付要求,再选择需要的行为约束。下面是本文编写的组合示例,适用于能够读写项目、运行检查并提供预览的编码助手:
中文
请根据项目中已有的产品文案,完成一个可本地预览的介绍页,交付预览地址和主要改动说明。保留已有设计风格;没有明确指定的间距等常规细节,自行合理决定。价格等关键资料缺失时标出待补充,其余部分继续完成。
按执行请求处理,不停在计划或“是否继续”,也不把部分完成当作交付。如果项目技能要求再次确认已经明确的事项,列出具体规则,判断该条件是否已经满足。遇到临时补充或侧面问题,处理后继续推进主任务。
页面文案先讲清用户的问题、产品如何解决以及下一步怎么做,保留必要原因和例子,删掉套话。有可独立处理的工作且工具支持时,合理委派。完成与改动相关的检查后交付;需要扩大验证时,说明新出现的问题。
English
Using the product copy already in the project, build an introduction page that can be previewed locally. Deliver the preview URL and a short explanation of the main changes. Keep the existing design style, and make reasonable decisions about routine details such as unspecified spacing. Mark missing critical information, such as pricing, for follow-up and complete the rest.
Treat this as a request to execute. Do not stop at a plan or a question about whether to proceed, and do not count a partial result as delivery. If a project skill asks for confirmation of something already established, identify the specific rule and determine whether its condition has already been met. Handle additional requirements or side questions, then continue the main task.
Explain the user’s problem, how the product addresses it, and what the user should do next. Keep the necessary reasoning and examples, and remove stock phrases. Delegate independent work when the tools support it. Deliver after completing checks relevant to the change; if further verification is needed, explain the new issue that justifies it.
替换成自己的任务时,优先写清交付物、可自行决定的范围、关键缺失资料如何处理,以及验证完成条件。这些具体要求决定模型应当做什么、什么时候提问和什么时候交付。
四、从旧模型迁移,逐项修改配置
提示词调整解决模型怎样执行的问题;迁移还需要处理接口和参数兼容。将模型名设为 gpt-6-astra 后,按当前使用的接口检查下表,避免继续发送旧模型支持、Astra 已不支持的字段。
| 检查项 | 迁移时如何处理 |
|---|---|
| 模型与工具调用 | 模型名设为 gpt-6-astra。Astra 支持 Chat Completions,但工具调用必须使用 Responses API。 |
| 推理强度 | 原来用 none 或 minimal,先从 low 开始并比较结果;其他情况保留当前实际推理强度。Responses 用 reasoning.effort,Chat Completions 用 reasoning_effort。 |
| 通用旧参数 | 移除 temperature、top_p、top_logprobs。 |
| 对数概率相关字段 | Chat Completions 还需移除 logprobs;Responses 需从 include 中移除 message.output_text.logprobs。 |
| 欧盟数据驻留与速度 | 使用 Standard processing;该区域不支持 service_tier: "fast" 或 service_tier: "priority"。另外,Astra 的 Fast mode 不包含延迟 SLA,即延迟服务级别承诺。 |
| 对话中切换推理强度 | 在标准、单代理请求中使用 configuration_update;保持请求级 reasoning.effort 不变,并检查兼容条件。 |
| 从 GPT-5.5 或更早版本迁移缓存 | 将 prompt_cache_retention 替换为 prompt_cache_options.ttl,值设为 "30m";还要检查缓存边界和缓存写入计费变化。 |
需要 Codex 协助迁移时,官方给出的调用方式是 $openai-docs migrate this project to GPT-6 Astra,通过 OpenAI Docs skill 应用指南中的建议。其他编码代理也可从该仓库取得技能。
迁移后如果模型仍频繁停下来请求确认,再回到第三节调整持续推进与授权提示。接口兼容、应用接入和行为约束都明确后,才能用实际任务比较完成质量、耗时与成本。完整参数说明见官方迁移清单。
Using GPT-6 | OpenAI API
Learn how to use GPT-6 Astra, GPT-6.1 Sol, GPT-6 Sol, and GPT-6 Luna for reasoning, coding, professional work, and tool-using workflows, and how to migrate from GPT-5.6.
Choose a GPT-6 model based on the reasoning your task requires, speed, and cost.
- GPT-6 Astra Highest intelligence For the most demanding reasoning, coding, and professional work.
- GPT-6.1 Sol Balanced speed, cost, and intelligence Near-Astra performance for complex work at a lower cost.
- GPT-6 Luna Fastest and most cost-effective Strong performance for focused, high-volume tasks.
To get started, set model in a Responses API request. If you already use gpt-6-sol, review the migration guidance before switching to GPT-6.1 Sol.
GPT-6 Astra
GPT-6 Astra is our most intelligent model yet, with state-of-the-art performance in computer use, browsing, software engineering, science, and professional work. It can carry out multi-step workflows across code, browsers, and professional software. In several evaluations, Astra achieved stronger results using substantially fewer output tokens. Its estimated API cost per task was lower than earlier models despite its higher per-token pricing.
GPT-6 Astra is also our most aligned model yet. It excels at exercising care, respecting task boundaries, and communicating transparently. When instructions leave room for interpretation, it uses the context it has to fill in routine gaps and asks focused questions when the answer could change the outcome. It incorporates new requirements, changes course when asked, and answers side questions without losing track of the broader task.
All GPT-6 Astra users also have access to Fast mode and the new Ultrafast mode for our fastest API speeds.
GPT-6.1 Sol
Use GPT-6.1 Sol for complex coding, computer use, and professional work when you want near-Astra performance at a lower cost. Compare it with Astra on your tasks to assess the tradeoff between quality and cost.
Set reasoning.effort to low, medium (default), high, xhigh, or max. Use the Responses API for tool calling. Chat Completions supports requests without tools. The none and minimal reasoning efforts are not supported.
See the model page for specifications, pricing, and availability, or model selection for guidance on choosing a model.
- Async tool calling: GPT-6 can continue reasoning, call other tools, or answer independent parts of a request while your application runs a tool. Set
async: trueon a function or custom tool and return its result when ready using the originalcall_id. Your application still executes the tool and manages pending work. See Async tool calling for basic usage and a developer-defined wait-tool pattern. - Mid-turn steering: Send additional user instructions while GPT-6 is working, such as a correction or a change in requirements. Over a WebSocket connection, the Responses API preserves completed work and includes the update in a continuation. See Mid-turn steering for the event flow and tool-result handling.
- Change reasoning mid-conversation while preserving cache: Add a
configuration_updateinput item to increase reasoning effort for difficult work or reduce it for routine follow-ups without rewriting the original prompt prefix. The updated reasoning effort applies until anotherconfiguration_updateinput item overrides it. See Change reasoning mid-conversation for examples and compatibility. - Misalignment monitoring: As part of our strengthened safeguards for GPT-6 Astra, our systems asynchronously monitor for misalignment and trigger alerts when necessary. See Misalignment monitoring for more information.
GPT-6 also supports the existing API capabilities available with GPT-5.6, including computer use, Structured Outputs, streaming, Programmatic Tool Calling, multi-agent orchestration, prompt caching, persisted reasoning, compaction, and pro mode.
- GPT-6 Astra and GPT-6.1 Sol do not support the
nonereasoning effort; GPT-6 Sol and GPT-6 Luna do. - Fast mode supports EU data residency for GPT-6.1 Sol, GPT-6 Sol, and GPT-6 Luna, but not GPT-6 Astra. Ultrafast mode for GPT-6.1 Sol supports US and EU data residency and global processing. GPT-6 Astra Ultrafast supports US data residency and global processing only. See data residency eligibility.
Use the following prompts as a starting point across the GPT-6 model family. They address behavior observed with GPT-6 Astra; evaluate them with your chosen model and workload.
GPT-6 Astra behavior
- Initiative and follow-through: The model is designed to be a more effective collaborator and is thus more likely to ask the user a question when additional input could materially change the result. This can cause it to stop when the user may expect it to make reasonable assumptions and persist.
- Instruction following: GPT-6 Astra is stronger at general instruction following than our previous models, giving you greater control over its behavior. It can be more sensitive to instructions contained in skills and other files, such as
AGENTS.md. We strongly recommend auditing skills and other files accessible to your model for instructions that could influence its behavior. - Personality and writing style: The model tends toward detailed, formatted responses and may use recurring phrases across sessions. Specify the writing style and structure your application needs.
- Subagent delegation: The model may delegate less often than desired for your workflow. Specify when and how much it should use subagents for parallel work.
- Testing and verification: For coding tasks, the model tends to be thorough in testing before considering a task complete. For smaller tasks, this can result in broader tests than the task requires.
Initiative and follow-through
GPT-6 Astra is generally better than GPT-5.6 Sol and earlier models at staying coherent during long tasks. It is also more likely to ask for clarification where earlier models would make assumptions.
To encourage more autonomous work, start with this prompt:
You should infer the user's intent and task scope from the instructions and prior conversation context. Your job is to bias towards action and carry the user's intended task to completion.
When the user expresses intent to perform new work or fix an existing issue, persist until the user's intended goal is complete. Progress autonomously towards the user's goal (e.g. creating isolated worktrees / checkouts if needed, resolving merge conflicts, read-only actions, creating draft PRs etc.) unless they are clearly destructive or irreversible.When the user’s intent is unclear, the model is more likely to ask the user for clarification to proceed. Prompt the model to follow through if the user’s prompt implies authorization:
When the user's prompt indicates a request for action, such as "can you...", "I want to...", "help me..." and similar expressions, treat these as instructions to do the work and take action. Do not stop at acknowledging capability (e.g. "Yes…"), proposing a plan, or offering to continue. Do not settle for a partial or "helpful enough" solution that does not fully satisfy the user's task to save time, effort or tokens. If a task requires sustained work, complete all the necessary work until the intended outcome is fulfilled.Prompt the model to ask for approval only after preparing a concrete, reviewable result. This avoids blocking the task before the model has done the work it can, and often leads to quicker task completion.
Before asking the user clarifying questions, you should complete the work that is already authorized from context and necessary to make the proposed action concrete and reviewable. The user should be approving a concrete, reviewable result. For example, before deploying a change, writing to an external application, merging a PR or publishing a site, do all the required work first so that user approval is the final step. You don't need user permission for reversible tasks, read-only actions, reviews or fixes, or anything for which authorization is provided earlier in the session or strongly implied from the task instruction.
Do not introduce unsolicited warnings, disclaimers, approval flows, or safety/compliance checklists due to hypothetical risk.The model also likes to ask non-blocking questions as it’s working by default, so adjust these prompts to match the level of autonomy your application needs.
Instruction following
GPT-6 Astra is better able to follow longer instructions, but can also be more sensitive to information in context. For example, unclear or conflicting guidance in a skill file may cause the model to pause and block work early. Make the priority of user instructions and skills explicit.
The user's instructions take precedence over guidelines provided in a skill. If explicit user instructions conflict with a skill's instructions, prioritize the user's instructions.Asking the model to identify the skill and instruction that caused it to pause or change direction can also be effective in providing transparency into model behavior.
If a skill causes you to ask for permission or confirmation, pause, leave requested work unfinished, or diverge from the user's intent, name and link to the exact SKILL.md file you read, quote the relevant instruction, and briefly explain how it applies. Distinguish explicit skill requirements from your interpretation of guidelines.Use this prompt to find silent and conflicting guidance when your application loads many skills and instruction files such as AGENTS.md.
Personality and writing style
GPT-6 Astra tends to use lists, tables and Markdown to make responses scannable. If your application needs prose with less formatting, specify that preference.
Default to using clear, concise paragraphs, each developing one main idea. Use lists only when the information is genuinely parallel, sequential, or easier to compare, and avoid nested lists unless the hierarchy cannot be expressed clearly in prose. Use plain, simple language: familiar words, concrete examples, and precise verbs. Prefer active voice and direct statements.
Make sure to state the main point clearly and early, then develop it with the explanation and detail the reader needs. Let each sentence build on what came before. Develop the points that matter and provide enough support to be useful.For technical communication, the following prompt helps strike a balance between using clear, coherent language while remaining domain appropriate:
Use plain language over jargon, and reference technical details only to the degree that it helps illustrate an idea or your work to the user. Communicate complex concepts in a clear and cohesive manner, and calibrate your writing to the level of background knowledge assumed from the user's prompt and context.To reduce jargon and stock phrases in writing, start with this prompt:
Avoid using slop words or phrases like "Bottom Line:" in conclusions, "delve," "foster," "leverage," "it's worth noting," "importantly," "Question? Answer." or "This isn't about X. It's about Y.", "genuinely" or hyphenated compound descriptions and adjectives. Do not use concluding summary statements such as "In short:..", "The simplest mental model is:...".
State the intended action directly. Avoid adding what you won't do, what will remain unchanged, or how you'll separate or categorize results. Do not use contrastive framing such as "X, not Y" that introduces an unprompted alternative that the user didn't ask about. Avoid invented compound labels like "exact-head checks" and "editorial-row layouts", vague qualifiers, and canned transitions; use plain verbs and prepositions to state the actual relationship directly.Subagent delegation
GPT-6 Astra is trained to be able to divide and delegate work to subagents that work in parallel. If you are implementing a multi-agent system in your harness, use the following prompt to tune how much GPT-6 Astra should delegate work:
If at any point you can parallelize work by delegating tasks to another agent (no matter if you are the root or subagent), you should do so using collaboration tools if it could save time or improve quality.Messages between agents may contain grammar or spacing errors. Use this prompt to make inter-agent messages easier to read:
Messages that you send to other agents and your final answer may be read by a human, so ensure they are legible. Always put proper spaces between words and/or numbers.The model tends to respond well to prompting for how and when it should delegate work to subagents, so tune this behavior to fit with your harness and multi-agent implementation.
Testing and verification
For coding tasks, calibrate how much testing and verification a change requires. This can help avoid unnecessary tests or repeated checks for small changes.
Do not write tests for reversible, low-impact changes that mirror the implementation. If you do choose to verify your work with tests, make sure that the tests are meaningful and necessary to verify implementation.
Run tests appropriate to the change and complete required checks. Once those pass, broaden or repeat testing only when new changes, failures, or unresolved concerns justify it; otherwise, continue toward completing the task.Migrate with Codex
Codex can apply the recommended changes in this guide with the OpenAI Docs skill.
$openai-docs migrate this project to the GPT-6 model familyTo use this skill in other coding agents, download it from the Codex repository.
Update API and model parameters
Set model to gpt-6-astra, gpt-6.1-sol, or gpt-6-luna, then check the following:
- Reasoning effort: Preserve your current effective reasoning effort where supported. GPT-6 Astra and GPT-6.1 Sol do not support
none; uselowinstead. GPT-6 Sol and GPT-6 Luna supportnone. If your existing request usesminimal, start withlowand compare results on representative tasks. Usereasoning.effortin Responses orreasoning_effortin Chat Completions. - Tool calling: Use the Responses API. GPT-6 Astra and GPT-6.1 Sol support Chat Completions, but tool calling requires Responses. GPT-6 Sol and GPT-6 Luna support function calling in Chat Completions only with
reasoning_effort: "none". Use Responses for reasoning with tools. - Unsupported parameters: When reasoning effort is not
none, removetemperature,top_p, andtop_logprobs. For Chat Completions, also removelogprobs. For Responses, removemessage.output_text.logprobsfrominclude. - Data residency: Fast mode supports EU data residency for GPT-6.1 Sol, GPT-6 Sol, and GPT-6 Luna, but not GPT-6 Astra. Ultrafast mode for GPT-6.1 Sol supports US and EU data residency and global processing. GPT-6 Astra Ultrafast supports US data residency and global processing only. Fast mode for GPT-6 Astra does not include a latency SLA. See Fast mode compatibility.
- Changing reasoning effort: If your application changes effort between responses, use
configuration_updateitems in standard, single-agent requests. Keep request-levelreasoning.effortunchanged to preserve the prompt prefix for caching. Check the compatibility limits before adopting this feature. - Prompt caching: When migrating from GPT-5.5 or earlier, replace
prompt_cache_retentionwithprompt_cache_options.ttlset to"30m". Review the prompt caching changes, including cache boundaries and cache-write billing. - Unnecessary approval pauses: If you run into issues where the model keeps asking for approval before proceeding, use the initiative and follow-through guidance to prompt for more autonomous execution. See the rest of Prompting best practices for guidance on instruction following, writing style, subagent delegation, and testing.
Using GPT-5.6
Learn best practices, features, and migration guidance for GPT-5.6 and the GPT-5.6 model family.
GPT-5.6 sets a new quality and efficiency baseline for complex production workflows. GPT-5.6 is especially token-efficient and improves frontend aesthetics, including layout, visual hierarchy, and design judgment.
GPT-5.6 also introduces a new naming scheme. The gpt-5.6 alias routes requests to gpt-5.6-sol, the model for flagship capability. Use gpt-5.6-terra for strong performance at a lower price and gpt-5.6-luna for efficient, high-volume workloads.
When migrating from GPT-5.5 or GPT-5.4, start with your current GPT-5.5 or GPT-5.4 reasoning setting, then test the same setting and one level lower on representative tasks. GPT-5.6 can often maintain or improve quality with fewer tokens, but the best setting depends on your workload.
- Programmatic Tool Calling: GPT-5.6 can write JavaScript to call eligible tools, pass results between calls, and process intermediate outputs in a hosted runtime. Use Programmatic Tool Calling for bounded, tool-heavy workflows that do not require fresh model judgment between each step. Programmatic Tool Calling is ZDR-compatible with no additional container costs.
- Multi-agent [beta]: Multi-agent lets a GPT-5.6 instance coordinate multiple subagents in parallel and synthesize their results. Similar to ultra mode in Codex, this can reduce wall-clock time and improve performance for complex tasks that divide cleanly into independent workstreams. Multi-agent is available as a beta feature in the Responses API as we iterate on developer feedback.
- Explicit prompt caching: GPT-5.6 lets you mark exactly which reusable prompt prefixes OpenAI caches. You can still use automatic caching in implicit mode. OpenAI bills cache writes at 1.25× the uncached input rate, while cache reads remain discounted. Learn how to configure prompt caching.
- Persisted reasoning: GPT-5.6 can reuse available reasoning items across turns to improve multi-turn quality and cache efficiency. Use
reasoning.contextto select the behavior. Learn how to preserve reasoning across calls. - Max reasoning effort: GPT-5.6 supports
maxreasoning effort for demanding tasks that need more exploration and verification. If you currently usexhigh, compare both settings on representative workloads. - Pro mode: GPT-5.6 can perform more model work to improve reliability on difficult tasks and return a single final answer. Enable it with
reasoning.mode: "pro"when quality matters more than latency and token usage. Learn how to use pro mode. - Token efficiency: GPT-5.6 reaches flagship-level performance with fewer output tokens.
- Frontend design: GPT-5.6 creates more polished and usable websites and applications, with stronger layout, visual hierarchy, and design judgment.
- Intent understanding: GPT-5.6 can better infer the user’s underlying goal and intended level of work from context, so you often do not need to prescribe every step. Continue to provide domain context, hard constraints, approval boundaries, and success criteria. Tell the model when an important ambiguity should trigger a question.
- Original image detail: GPT-5.6 preserves image dimensions with
originalorautodetail, except that images larger than 65,535 pixels on either side are scaled down to fit that limit. The API rejects images that still exceed the 30,000-patch limit, rather than resizing them to fit it. Large images can use more input tokens and increase latency. Learn how to choose an image detail level.
When using GPT-5.6 models, users may encounter safeguards that block or refuse some requests due to real-time cyber and biology misuse classifiers that are run as model outputs are generated. Other requests may take longer because generation is paused for several seconds mid-stream while these classifiers synchronously review outputs. Safeguards may occasionally intervene on legitimate work, particularly in dual-use areas where defensive and offensive activity can initially look similar.
If your application serves individual end users, send a stable, privacy-preserving safety_identifier with each request. See Implement safety identifiers for guidance.
We are continuously evolving these safeguards so that they are robust and effective in holding up to adversarial pressure, while preserving access to legitimate work such as code review, vulnerability research, patch development, debugging, security education, and defensive testing.
Migrate with Codex
Codex can apply the recommended changes in this guide with the OpenAI Docs skill.
$openai-docs migrate this project to the GPT-5.6 model familyTo use this skill in other coding agents, download it from the OpenAI skills repository.
Update API and model parameters
- Choose the target model for the workload. Use
gpt-5.6-solfor flagship capability,gpt-5.6-terrafor a balance of intelligence and cost, orgpt-5.6-lunafor efficient, high-volume workloads. Thegpt-5.6alias routes requests togpt-5.6-sol. - Use the Responses API for reasoning, tool-calling, and multi-turn workflows.
- Set
reasoning.effortintentionally. GPT-5.6 supportsnone,low,medium,high,xhigh, andmax. If you are migrating from GPT-5.5 or GPT-5.4, preserve your current reasoning effort as the baseline, then compare one level lower. If you usenone, keep it as your latency baseline and also testlowwhen the workflow benefits from reasoning or tool use. Usemediumas a balanced starting point andlowfor latency-sensitive workloads. Usehighorxhighwhen more reasoning produces a measured quality gain. Reservemaxfor the hardest quality-first workloads. Comparemaxandxhighto find the best quality, latency, and cost tradeoff for your use case. - To use pro mode, keep your selected GPT-5.6 model and set
reasoning.modetoproin the Responses API; do not switch to a separate Pro model slug. Choosereasoning.effortindependently. If you omit it, GPT-5.6 defaults tomediumin both standard and pro modes. See reasoning mode for a request example and billing details. - Configure persisted reasoning based on how much prior reasoning is still relevant. GPT-5.6 models default to
all_turns; earlier models default tocurrent_turn. Omitreasoning.contextor set it toautoto useall_turns, the GPT-5.6 default. Check the response’sreasoning.contextfield to confirm the effective mode. Setreasoning.contexttoall_turnswhen the task’s goals, assumptions, and priorities stay stable across turns. Withall_turns, continue withprevious_response_idto make reasoning from earlier responses available to the model. When managing history manually, preserve and resend previous user inputs and every response output item. Forstore: falseor Zero Data Retention, replay the encrypted reasoning items that the API returns by default. Setreasoning.contexttocurrent_turnwhen earlier reasoning is no longer relevant. - Review prompt caching. You do not need to change code to keep using implicit caching. Because GPT-5.6 cache writes cost 1.25× the uncached input rate, track
cached_tokensandcache_write_tokensto understand net cost. Use explicit breakpoints orprompt_cache_options.mode: "explicit"to avoid unnecessary writes, and replaceprompt_cache_retentionwithprompt_cache_options.ttl. - To use Programmatic Tool Calling, add the
programmatic_tool_callingtool and opt eligible tools in withallowed_callers. Update your application to handleprogramitems, program-issued function calls, andprogram_outputitems while preserving each call’scall_idandcallerlinkage. See the Programmatic Tool Calling guide for request and continuation examples. Benchmark the PTC-enabled workflow on representative tasks. Compare task success, final-answer completeness, required evidence, total tokens, latency, and cost. Fewer calls, turns, or intermediate outputs are improvements only when the final answer still meets the required quality bar.
Favor leaner prompts
Removing repeated instructions and examples and simplifying tool descriptions can improve task performance and token efficiency. In a sample of internal coding-agent eval runs, configurations with leaner system prompts improved evaluation scores by roughly 10–15% while reducing total tokens by 41–66% and cost by 33–67%. Results will vary by workload, so treat these ranges as directional and validate changes on representative tasks from your own application.
To simplify prompts without losing important guidance:
- Start with a prompt and tool set that already works. Remove one group of instructions, examples, or tools at a time, then rerun the same evals.
- State each instruction once.
- Expose only tools relevant to the task, and keep their descriptions concise and precise.
- Keep examples and style guidance when they encode a product requirement or correct a measured gap.
- Track context both at the start of a run and as the conversation grows. Long sessions can amplify repeated prompt and tool content.
Define autonomy and approval boundaries
GPT-5.6 can be proactive and persistent when carrying out multi-step tasks. Define what level of action each request authorizes so the model can continue safe, in-scope work without unnecessary pauses while stopping before external, destructive, costly, or scope-expanding actions.
A compact policy is usually sufficient:
For requests to answer, explain, review, diagnose, or plan, inspect the relevant
materials and report the result. Do not implement changes unless the request also
asks for them.
For requests to change, build, or fix, make the requested in-scope local changes
and run relevant non-destructive validation without asking first.
Require confirmation for external writes, destructive actions, purchases, or a
material expansion of scope.Name safe local actions explicitly, such as reading files, inspecting logs, editing in-scope code, and running tests. Keep the policy in one place and state each rule once. Repeating instructions such as “ask first,” “do not mutate,” or “wait for approval” can cause unnecessary approval requests for safe, expected actions.
Set response length and style
GPT-5.6 tends to be more concise by default than GPT-5.5. When migrating, check whether broad brevity instructions such as “Be concise” or “Keep it short” are still useful. They may be unnecessary for some tasks and can sometimes make responses too brief. Keep them when they reliably produce the output your application needs.
For more consistent control across requests, use text.verbosity to set the default level of detail, then use the prompt for task-specific requirements.
Set a default with text.verbosity
Choose low, medium, or high as the default level of detail for a request. In the prompt, specify any task-specific length, structure, or required content. See Set up text.verbosity for an API example.
Specify what a short answer must include
When a task calls for a shorter answer, identify the information the model must preserve and the detail it can omit. For example:
Lead with the conclusion. Include the evidence needed to support it, any material
caveat, and the next action. Omit secondary detail and repetition.
Keep all required facts, decisions, caveats, and next steps. Trim introductions,
repetition, generic reassurance, and optional background first.This gives the model a clear priority order: preserve the content needed to complete the task, then remove lower-value detail.
Define the tone
Broad labels such as “friendly” or “empathetic” can be ambiguous. Describe the writing choices that define your product’s tone, such as how directly to state the answer, when to acknowledge a problem, and whether reassurance or a sign-off is appropriate.
State the answer directly. If the user reports a problem, acknowledge the
specific issue before giving the next step. Use reassurance only when it is
relevant. Omit generic praise and unnecessary sign-offs.Pro mode
Choose pro mode when quality matters most
Pro mode is a Responses API execution mode that applies more model work to a request before returning a single final answer. It can improve reliability on difficult tasks, but it increases latency and aggregates the tokens from that work in reported usage. Those tokens are billed at the selected model’s standard token rates.
Use pro mode when a marginal quality improvement materially affects the outcome and the task is difficult enough to benefit, such as complex optimization, high-value coding or review, or deep analysis with clear evaluation criteria. Prefer standard mode for routine, latency-sensitive, or high-volume work, and whenever your evaluations do not show a meaningful gain from pro mode.
Reasoning mode and reasoning effort are independent. Pro mode works with any GPT-5.6 model and its supported reasoning efforts. Start with the same model and effort as your standard-mode baseline, then compare configurations on representative tasks instead of assuming that the highest effort is always the best tradeoff.
Configure pro mode in the API
Enable pro mode in the API request. Keep the same outcome-focused prompt you use in standard mode: state the goal, relevant context, constraints, required evidence, success criteria, and output format. You do not need to ask the model to “use pro mode,” “think harder,” or generate several candidate answers.
For example:
Review this database migration plan for failure modes that could cause data loss
or extended downtime. For each finding, cite the relevant step, estimate impact
and likelihood, and recommend a specific mitigation. Return the five most
important risks in severity order.Compare quality and cost
Compare standard and pro modes on the same representative tasks. Measure task success, answer completeness, required evidence, total tokens, latency, and cost. Use pro mode selectively where its quality or reliability gain justifies the extra model work.
Learn more in the reasoning mode guide.
Programmatic Tool Calling
Choose Programmatic Tool Calling by task shape
Programmatic Tool Calling (PTC) works best for bounded workflows where code can process several tool results or large intermediate outputs and return a much smaller structured result. Use it for filtering, joining, ranking, deduplication, aggregation, validation, or other predictable processing.
Multiple, parallel, or dependent calls alone do not justify Programmatic Tool Calling. Prefer direct, non-PTC tool calls when:
- One call is sufficient
- The intermediate outputs are already small
- Each result may change the model’s next decision
- An action requires approval
- The final output must preserve citations or native artifacts
Make routing instructions task-specific
Do not rely on tool availability or generic instructions such as “use Programmatic Tool Calling efficiently” to produce the right route. When both direct and programmatic calling are available, explicitly state:
- Which bounded stage should use Programmatic Tool Calling.
- Which tools it may call.
- The exact output schema and required evidence.
- Concurrency, retry, and stopping limits.
- Which work should remain direct.
Tool descriptions should document their expected return fields, types, and error behavior. If the model cannot determine the return shape before writing the program, prefer direct tool calling so it can inspect the result before deciding how to use it.
If both routes are needed, define one clear handoff and tell the model not to switch routes or repeat completed work.
For example:
<tool_orchestration>
Use Programmatic Tool Calling for [bounded stage] using only [eligible tools].
Run independent calls concurrently when safe. Use only documented tool input
and output fields.
Process and reduce the intermediate results, then emit exactly [output schema],
including the evidence needed for the final answer.
Stop when [condition] is met. Retry transient failures at most [R] times.
Do not repeat completed calls or perform side-effecting actions. If a required
result is still missing, return a clear structured failure.
Use direct tool calls for [semantic judgment, approval, or final validation].
</tool_orchestration>Assess the final answer
The program_output item and final assistant message are separate outputs; make sure to test both. In theory, a program can return the correct records while the message omits a required field, citation, or caveat.
Compare direct and programmatic calling on the same representative tasks. Check whether the final response is correct, complete, and includes the required evidence. Then compare total tokens, latency, cost, calls, turns, and retries. Count lower resource use as an improvement only when the response still passes your existing evals.
Learn more in the Programmatic Tool Calling guide.
