SpyBara
Go Premium

Documentation 2026-07-09 17:03 UTC to 2026-07-10 23:02 UTC

3 files changed +80 −78. View all changes and history on the product overview
2026
Wed 15 16:58 Tue 14 21:58 Mon 13 21:58 Sat 11 07:01 Fri 10 23:02 Thu 9 17:03 Wed 8 22:02 Mon 6 22:58 Sat 4 16:59
Details

13 13 

14GPT-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.14GPT-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.

15 15 

16Treat migration as a tuning pass, not only a model-slug change. 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.16When 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.

17 17 

18## What is new18## What is new

19 19 

20- **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](https://developers.openai.com/api/docs/guides/tools-programmatic-tool-calling) for bounded, tool-heavy workflows that do not require fresh model judgment between each step.20- **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](https://developers.openai.com/api/docs/guides/tools-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.

21- **Multi-agent [beta]:** [Multi-agent](https://developers.openai.com/api/docs/guides/tools-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.21- **Multi-agent [beta]:** [Multi-agent](https://developers.openai.com/api/docs/guides/responses-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.

22- **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](https://developers.openai.com/api/docs/guides/prompt-caching).22- **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](https://developers.openai.com/api/docs/guides/prompt-caching).

23- **Persisted reasoning:** GPT-5.6 can reuse available reasoning items across turns to improve multi-turn quality and cache efficiency. Use `reasoning.context` to select the behavior. Learn how to [preserve reasoning across calls](https://developers.openai.com/api/docs/guides/reasoning#preserve-reasoning-across-calls).23- **Persisted reasoning:** GPT-5.6 can reuse available reasoning items across turns to improve multi-turn quality and cache efficiency. Use `reasoning.context` to select the behavior. Learn how to [preserve reasoning across calls](https://developers.openai.com/api/docs/guides/reasoning#preserve-reasoning-across-calls).

24- **Max reasoning effort:** GPT-5.6 supports `max` reasoning effort for demanding tasks that need more exploration and verification. If you currently use `xhigh`, compare both settings on representative workloads.24- **Max reasoning effort:** GPT-5.6 supports `max` reasoning effort for demanding tasks that need more exploration and verification. If you currently use `xhigh`, compare both settings on representative workloads.

25- **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](https://developers.openai.com/api/docs/guides/reasoning#reasoning-mode).25- **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](https://developers.openai.com/api/docs/guides/reasoning#reasoning-mode).

26- **Token efficiency:** GPT-5.6 reaches frontier performance with fewer output tokens.26- **Token efficiency:** GPT-5.6 reaches frontier performance with fewer output tokens.

27- **Frontend design:** GPT-5.6 creates more polished and usable websites and applications, with stronger layout, visual hierarchy, and design judgment.27- **Frontend design:** GPT-5.6 creates more polished and usable websites and applications, with stronger layout, visual hierarchy, and design judgment.

28- **Intent understanding:** GPT-5.6 can better infer the user's underlying goal and intended level of work without you specifying every step. Continue to state important constraints, approval boundaries, and success criteria explicitly.28- **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.

29- **Original image detail:** GPT-5.6 preserves the original dimensions of images sent with `original` or `auto` detail instead of resizing them to a patch budget or pixel-dimension limit. Large images can use more input tokens and increase latency. Learn how to [choose an image detail level](https://developers.openai.com/api/docs/guides/images-vision#choose-an-image-detail-level).29- **Original image detail:** GPT-5.6 preserves the original dimensions of images sent with `original` or `auto` detail instead of resizing them to a patch budget or pixel-dimension limit. Large images can use more input tokens and increase latency. Learn how to [choose an image detail level](https://developers.openai.com/api/docs/guides/images-vision#choose-an-image-detail-level).

30 30 

31## Safeguards31## Safeguards


69 - Set `reasoning.context` to `current_turn` when earlier reasoning is no longer relevant.69 - Set `reasoning.context` to `current_turn` when earlier reasoning is no longer relevant.

70- 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_tokens` and `cache_write_tokens` to understand net cost. Use explicit breakpoints or `prompt_cache_options.mode: "explicit"` to avoid unnecessary writes, and replace `prompt_cache_retention` with `prompt_cache_options.ttl`.70- 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_tokens` and `cache_write_tokens` to understand net cost. Use explicit breakpoints or `prompt_cache_options.mode: "explicit"` to avoid unnecessary writes, and replace `prompt_cache_retention` with `prompt_cache_options.ttl`.

71- To use Programmatic Tool Calling, add the `programmatic_tool_calling` tool and opt eligible tools in with `allowed_callers`. Update your application to handle `program` items, program-issued function calls, and `program_output` items while preserving each call's `call_id` and `caller` linkage. See the [Programmatic Tool Calling guide](https://developers.openai.com/api/docs/guides/tools-programmatic-tool-calling) for request and continuation examples.71- To use Programmatic Tool Calling, add the `programmatic_tool_calling` tool and opt eligible tools in with `allowed_callers`. Update your application to handle `program` items, program-issued function calls, and `program_output` items while preserving each call's `call_id` and `caller` linkage. See the [Programmatic Tool Calling guide](https://developers.openai.com/api/docs/guides/tools-programmatic-tool-calling) for request and continuation examples.

72- Benchmark the migrated 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 user-visible answer still meets the required quality bar.72 - 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.

73 73 

74## Prompting best practices74## Prompting best practices

75 75 

76### Favor leaner prompts

76 77 

77Prompting guidance applicable to GPT-5.5 remains applicable to GPT-5.6.78Removing 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.

78 79 

79### Use shorter prompts80To simplify prompts without losing important guidance:

80 81 

81In internal evaluations, replacing long, explicit system prompts with minimal prompts improved scores by roughly 10–15%, while reducing total tokens by 41–66% and cost by 33–67%.82- 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.

83- State each instruction once.

84- Expose only tools relevant to the task, and keep their descriptions concise and precise.

85- Keep examples and style guidance when they encode a product requirement or correct a measured gap.

86- Track context both at the start of a run and as the conversation grows. Long sessions can amplify repeated prompt and tool content.

82 87 

83Removing redundant instructions and examples and simplifying tool descriptions produced clearer efficiency gains than adding model-specific guidance. Heavier prompts tended to encourage extra exploration, repeated validation, and larger accumulated context.88### Define autonomy and approval boundaries

84 89 

85Over time, we have found that many older prompt instructions that have accumulated in harnesses have become default model behavior. Focusing on only the behavior the model does not perform naturally produces the largest gains.90GPT-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.

86 

87- Start with the smallest prompt and tool set that reliably completes the task. Add instructions, tools, or examples only when evaluations reveal a specific gap.

88- Expose only task-relevant tools, and keep tool descriptions concise and precise. Large tool sets and verbose definitions increase starting context and can make tool selection less consistent.

89- Use examples and style guidance sparingly. Keep frontend, formatting, or stylistic instructions only for product-specific requirements, and avoid repeated phrasing or “X, not Y” patterns the model may mirror.

90- Monitor both starting and accumulated context. Heavy prompts and stale context can encourage unnecessary exploration and repeated validation while increasing latency and cost.

91 

92### Define autonomy and permissions clearly

93 

94GPT-5.6 can be proactive and persistent. Define what level of action each request authorizes.

95 91 

96A compact policy is usually sufficient:92A compact policy is usually sufficient:

97 93 


107material expansion of scope.103material expansion of scope.

108```104```

109 105 

110Specify which local actions are safe without approval, such as reading files, inspecting logs, searching, editing in-scope code, or running non-destructive tests.106Name 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.

111 

112Avoid repeating “ask first,” “do not mutate,” or “wait for approval” throughout the prompt. Repetition can cause unnecessary permission checks even for safe, expected actions.

113 

114### Personality and style

115 107 

116#### Response length108### Set response length and style

117 109 

118On average, GPT-5.6 responses are shorter than responses from recent models:110GPT-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.

119 111 

120- Fewer generic introductions112For more consistent control across requests, use `text.verbosity` to set the default level of detail, then use the prompt for task-specific requirements.

121- Fewer speculative branches

122- Shorter lists

123- Less repetition between answer and rationale

124- More likely to ask one targeted question instead of providing a large placeholder framework

125 113 

126For example, when asked to investigate churn without access to data, GPT-5.5 listed several possible datasets and business-context inputs. GPT-5.6 asked for a dashboard export or table access, listed the minimum useful fields, and described the analysis it would perform.114#### Set a default with `text.verbosity`

127 115 

128#### Avoid generic brevity instructions116Choose `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`](https://developers.openai.com/api/docs/guides/deployment-checklist#set-up-textverbosity) for an API example.

129 117 

130GPT-5.6 is more sensitive than GPT-5.5 to instructions such as “Be concise,” “Keep it short,” or “Use minimal text.”118#### Specify what a short answer must include

131 119 

132GPT-5.6 is already biased toward compression. An instruction such as “Be concise. Use minimal text.” does more than remove filler—it can change how the model prioritizes the task. GPT-5.6 may decide that a shorter substitute is preferable to producing the full requested artifact.120When a task calls for a shorter answer, identify the information the model must preserve and the detail it can omit. For example:

133 

134Instead of asking for the shortest possible answer, replace brevity instructions with prioritization:

135 121 

136```text122```text

137Lead with the conclusion. Include the evidence needed to support it, any material123Lead with the conclusion. Include the evidence needed to support it, any material


141repetition, generic reassurance, and optional background first.127repetition, generic reassurance, and optional background first.

142```128```

143 129 

144This preserves useful concision without encouraging the model to remove required content.130This gives the model a clear priority order: preserve the content needed to complete the task, then remove lower-value detail.

145 

146#### Keep structure guidance lightweight

147 

148GPT-5.6 benefits from a small amount of task-specific structure. Give GPT-5.6 a lightweight outline, not a global response template. Add narrow constraints only if evaluations prove the requirement.

149 131 

150#### Control warmth132#### Define the tone

151 133 

152GPT-5.6 does not become meaningfully better when prompted to be broadly friendlier or more empathetic. Instead of generic instructions such as “Be friendly and warm, use concrete guidance:134Broad 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.

153 135 

154```text136```text

155Be direct and tactful. Acknowledge friction specifically when relevant. Avoid137State the answer directly. If the user reports a problem, acknowledge the

156canned reassurance and unnecessary sign-offs.138specific issue before giving the next step. Use reassurance only when it is

139relevant. Omit generic praise and unnecessary sign-offs.

157```140```

158 141 

159### Pro mode142### Pro mode


166 149 

167Reasoning 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.150Reasoning 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.

168 151 

169#### Prompt for the task, not the mode152#### Configure pro mode in the API

170 153 

171Enable pro mode in the API request, not in the prompt. You do not need to ask the model to “use pro mode,” “think harder,” or generate several candidate answers. Give it the same outcome-focused prompt you would use in standard mode: state the goal, relevant context, constraints, required evidence, success criteria, and output format.154Enable 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.

172 155 

173For example:156For example:

174 157 


179important risks in severity order.162important risks in severity order.

180```163```

181 164 

182#### Evaluate the quality and cost tradeoff165#### Compare quality and cost

183 166 

184Compare 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 additional model work.167Compare 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.

185 168 

186Learn more in the [reasoning mode guide](https://developers.openai.com/api/docs/guides/reasoning#reasoning-mode).169Learn more in the [reasoning mode guide](https://developers.openai.com/api/docs/guides/reasoning#reasoning-mode).

187 170 


232</tool_orchestration>215</tool_orchestration>

233```216```

234 217 

235#### Evaluate the final answer218#### Assess the final answer

236 219 

237Evaluate the final user-visible answer, not only the program result. Define the required quality bar and primary efficiency goal in advance. Lower token usage, latency, calls, or turns are improvements only when the answer meets that quality bar; any accepted quality tradeoff should be explicit.220The `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.

238 221 

239Learn more in the [Programmatic Tool Calling guide](https://developers.openai.com/api/docs/guides/tools-programmatic-tool-calling).222Compare 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.

240 223 

224Learn more in the [Programmatic Tool Calling guide](https://developers.openai.com/api/docs/guides/tools-programmatic-tool-calling).

Details

4 4 

5Use this guide when adapting prompts, tool descriptions, agent instructions, or prompt stacks to GPT-5.6 Sol or the GPT-5.6 family. Pair it with the current [GPT-5.6 model guide](https://developers.openai.com/api/docs/guides/latest-model?model=gpt-5.6) for API details, limits, pricing, and feature availability.5Use this guide when adapting prompts, tool descriptions, agent instructions, or prompt stacks to GPT-5.6 Sol or the GPT-5.6 family. Pair it with the current [GPT-5.6 model guide](https://developers.openai.com/api/docs/guides/latest-model?model=gpt-5.6) for API details, limits, pricing, and feature availability.

6 6 

7GPT-5.6 works best when prompts define the outcome, important constraints, available evidence, and completion bar, then leave room for the model to choose an efficient path. Compared with earlier GPT-5 models, many applications can use shorter prompts and smaller tool sets without losing quality.7GPT-5.6 works best when prompts define the outcome, important constraints, available evidence, and completion bar, then leave room for the model to choose an efficient path.

8 8 

9Do not carry over every instruction from an older prompt stack. Legacy prompts often repeat rules, prescribe unnecessary steps, expose irrelevant tools, or include examples that no longer change behavior. With GPT-5.6, this can encourage extra exploration, repeated validation, and larger accumulated context.9Removing 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.

10 

11Start with the smallest prompt and tool set that passes your evals. Add an instruction, example, or tool only when it fixes a measured failure mode.

12 10 

13## Simplify prompts first11## Simplify prompts first

14 12 

15When migrating an existing prompt, remove redundant scaffolding before adding new GPT-5.6-specific instructions.13Start 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.

16 14 

17Trim:15Trim:

18 16 

19- repeated statements of the same rule;17- repeated statements of the same rule;

20- generic “be thorough,” “be concise,” or “think step by step” language;18- repeated style or process instructions that do not change behavior;

21- examples that do not change behavior;19- examples that do not change behavior;

22- process instructions for behavior the model already performs reliably;20- process instructions for behavior the model already performs reliably;

23- tools and tool descriptions unrelated to the task.21- tools and tool descriptions unrelated to the task.


27- the user-visible outcome;25- the user-visible outcome;

28- success criteria and stopping conditions;26- success criteria and stopping conditions;

29- safety, business, evidence, and permission constraints;27- safety, business, evidence, and permission constraints;

30- tool-routing rules when the correct route is not obvious;28- tool-routing rules when the route depends on context;

31- required output shape and validation requirements.29- required output shape and validation requirements.

32 30 

33Review the remaining instructions for contradictions. GPT-5-class models follow prompt contracts closely, so conflicting rules can create more instability than missing detail.31Review the remaining instructions for contradictions. GPT-5-class models follow prompt contracts closely, so conflicting rules can create more instability than missing detail.


62 60 

63## Personality, collaboration, and response length61## Personality, collaboration, and response length

64 62 

65GPT-5.6 is efficient, direct, and more compressed than recent models. For customer-facing assistants and collaborative products, define both personality and collaboration style.63GPT-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.

64 

65For more consistent control across requests, use `text.verbosity` to set the default level of detail, then use the prompt for task-specific requirements. 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`](https://developers.openai.com/api/docs/guides/deployment-checklist#set-up-textverbosity) for an API example.

66 

67For customer-facing assistants and collaborative products, define both personality and collaboration style.

66 68 

67- Personality controls tone, warmth, directness, formality, humor, empathy, and polish.69- Personality controls tone, warmth, directness, formality, humor, empathy, and polish.

68- Collaboration style controls when the model asks questions, makes assumptions, takes initiative, explains tradeoffs, checks work, and handles uncertainty.70- Collaboration style controls when the model asks questions, makes assumptions, takes initiative, explains tradeoffs, checks work, and handles uncertainty.

69 71 

70Keep both short. Personality should shape the user experience; collaboration instructions should shape task behavior. Neither should replace clear goals, success criteria, tool rules, or stopping conditions.72Keep both short. Personality should shape the user experience; collaboration instructions should shape task behavior. Neither should replace clear goals, success criteria, tool rules, or stopping conditions.

71 73 

72Use concrete writing controls:74When a task calls for a shorter answer, identify the information the model must preserve and the detail it can omit. For example:

73 75 

74 Lead with the conclusion. Include the evidence needed to support it, any76 Lead with the conclusion. Include the evidence needed to support it, any material

75 material caveat, and the next action. Keep all required facts, decisions,77 caveat, and the next action. Omit secondary detail and repetition.

76 caveats, and next steps. Trim introductions, repetition, generic reassurance,

77 and optional background first.

78 78 

79Avoid generic “be brief, “keep it short, or “use minimal text” instructions. GPT-5.6 is already biased toward compression, and generic brevity can make it omit required evidence or parts of an artifact.79 Keep all required facts, decisions, caveats, and next steps. Trim introductions,

80 repetition, generic reassurance, and optional background first.

80 81 

81For customer-facing tone, prefer concrete guidance:82This gives the model a clear priority order: preserve the content needed to complete the task, then remove lower-value detail.

82 83 

83 Be direct and tactful. Acknowledge friction specifically when relevant.84Broad 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.

84 Avoid canned reassurance and unnecessary sign-offs.85 

86 State the answer directly. If the user reports a problem, acknowledge the

87 specific issue before giving the next step. Use reassurance only when it is

88 relevant. Omit generic praise and unnecessary sign-offs.

85 89 

86Avoid blanket language rules such as “always respond in the user's language” unless that is truly the product requirement. Specify the intended output language and when it should change.90Avoid blanket language rules such as “always respond in the user's language” unless that is truly the product requirement. Specify the intended output language and when it should change.

87 91 


91 first. Improve clarity, flow, and correctness without adding new claims,95 first. Improve clarity, flow, and correctness without adding new claims,

92 sections, or a more promotional tone unless requested.96 sections, or a more promotional tone unless requested.

93 97 

94## Autonomy and permissions98## Define autonomy and approval boundaries

99 

100GPT-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.

95 101 

96GPT-5.6 can be proactive and persistent. Define which level of action each request authorizes.102A compact policy is usually sufficient:

97 103 

98 For requests to answer, explain, review, diagnose, or plan, inspect the104 For requests to answer, explain, review, diagnose, or plan, inspect the

99 relevant materials and report the result. Do not implement changes unless105 relevant materials and report the result. Do not implement changes unless


105 Require confirmation for external writes, destructive actions, purchases,111 Require confirmation for external writes, destructive actions, purchases,

106 or a material expansion of scope.112 or a material expansion of scope.

107 113 

108Specify which local actions are safe without approval, such as reading files, inspecting logs, searching, editing in-scope code, and running non-destructive tests.114Name 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.

109 

110Avoid repeating “ask first” throughout the prompt. Repetition can cause unnecessary permission checks even for safe, expected actions.

111 115 

112For long-running work, define the current layer of work. Distinguish research, design, implementation, review, and external coordination so the model does not silently move from one layer to another.116For long-running work, define the current layer of work. Distinguish research, design, implementation, review, and external coordination so the model does not silently move from one layer to another.

113 117 


127 131 

128## Programmatic Tool Calling132## Programmatic Tool Calling

129 133 

130Programmatic Tool Calling is useful when code can reduce large, structured intermediate results before they return to model context.134Programmatic 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.

135 

136Multiple, parallel, or dependent calls alone do not justify Programmatic Tool Calling.

131 137 

132Use it for:138Use it for:

133 139 


153 evidence fields. Retry transient failures at most twice. Use direct tool159 evidence fields. Retry transient failures at most twice. Use direct tool

154 calls for approval, semantic judgment, citations, and final validation.160 calls for approval, semantic judgment, citations, and final validation.

155 161 

156Evaluate the final user-visible answer, not only the program result. Lower tokens, latency, calls, or turns are improvements only when the final answer still meets the required quality bar.162If both routes are needed, define one clear handoff and tell the model not to switch routes or repeat completed work.

163 

164The `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.

165 

166Compare 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.

157 167 

158## Grounding, citations, and retrieval budgets168## Grounding, citations, and retrieval budgets

159 169 


200 210 

201## Reasoning effort211## Reasoning effort

202 212 

203Treat reasoning effort as a last-mile tuning knob, not the first response to a weak result.213Establish a baseline with the current reasoning effort before changing it.

204 214 

205- Preserve the current GPT-5.5 or GPT-5.4 reasoning effort as the baseline.215- Preserve the current GPT-5.5 or GPT-5.4 reasoning effort as the baseline.

206- Test the same setting and one level lower on representative tasks.216- Test the same setting and one level lower on representative tasks.

Details

Previously: guides/tools-multi-agent.md

166 166 

167HTTP may be sufficient for workflows that require calling multiple hosted tools, such as parallel web searches, or one-request workflows with few function calls. For most Multi-agent workflows, WebSocket is likely to provide lower latency and better end-to-end performance.167HTTP may be sufficient for workflows that require calling multiple hosted tools, such as parallel web searches, or one-request workflows with few function calls. For most Multi-agent workflows, WebSocket is likely to provide lower latency and better end-to-end performance.

168 168 

169#### HTTP function call execution

170 

171![HTTP function call execution across the application, Responses API root, and three subagents.](https://developers.openai.com/images/api/multi-agent/multi-agent-1.png)

172 

173#### WebSocket function call execution

174 

175![WebSocket function call execution across the application, Responses API root, and three subagents.](https://developers.openai.com/images/api/multi-agent/multi-agent-2.png)

176 

169### HTTP177### HTTP

170 178 

171These examples require beta SDK builds that expose the beta Responses API. For HTTP streaming, call `client.beta.responses.create` and pass `responses_multi_agent=v1` with the `betas` argument; this enables beta types and autocomplete. In Python, import beta response item types from `openai.types.beta` when adding type annotations.179These examples require beta SDK builds that expose the beta Responses API. For HTTP streaming, call `client.beta.responses.create` and pass `responses_multi_agent=v1` with the `betas` argument; this enables beta types and autocomplete. In Python, import beta response item types from `openai.types.beta` when adding type annotations.