Good find @_j. I won’t remark if I think that makes you unhappy or not ![]()
Reuse another word commonly used in AI development. Now we can’t talk about “responses” with clarity either…
This brings parity to developer creations: what ChatGPT had but you could not recreate. It seems well thought out, with hints of what OpenAI didn’t realize in practice yet.
The biggest missing feature to me is that tools are powered by language written by OpenAI, which does not serve particular use cases, and can even act against the authority hierarchy you desire. It’s more AI context text out of your control (besides cutoff date injections and vision usage prohibitions injected, now before your system message even starts.)
For example: You can tell the AI what it will find by using your functions, but you are not able to tell the AI what it will find behind file search. Allowing these built-in tool instructions to be overwritten by developers with customization would be a huge leap in performance available.
"instructions" as a new API field for your own first-message injections seems like it can now come before an input messages list that still includes system or developer role messages, and can overwrite prior instructions fields, but probably not other authority roles in input previously placed to server-side chat call IDs (and is ambiguous if it is prepended or additional to any first system message provided in input).
That the “conversation history” state of every API response, expiring in 30 days, is not one “thread”, but is a reusable ID means that it can’t be edited or be one distinct record of the current state of a chat. However, unlike Assistants, this would allow opportunity for easy branching of conversation points, where you simply give a different input to the same previous_response_id, and the user can try again.
Documentation regarding “events” is unclear, discussing SDK code events like already seen in beta, and not what the API endpoint is returning. Show RESTful SSE stream outputs expected.
In there plans for Javascript SDK?
Finally, this is the kind of release devs have been waiting for. Can’t wait to test it out and see if it is ready for prime time…
As an aside, it would be nice if OpenAI did a better job explaining the benefits of the new system. It’s not clear exactly why we should switch from completions to responses. Is it just data structure format? Are any performative enhancements intended, for example improved accuracy with function calling?
I’m looking at the Agents SDK tools section, and see that it parses out schema for functions based on the docstrings for python functions. Is there something behind the scenes that will make this work well? I’ve found that especially with 4o-mini, you have to be precise with the way your schema is structured and worded to get it to work as expected. I can’t imagine that simply parsing a docstring and setting it to the description field for each parameter would produce a comparable result. Wish I had time to look at it right now, but unfortunately I have a release to deal with. Very curious to hear any feedback from anyone using functions in these new APIs, especially if you’ve engineered your own Agentic solutions and find any advantages/disadvantages.
This is an excellent observation.
@edwinarbus Can you elaborate on the intended use for this feature? Without being able to specify a summarize/cache strategy, or even a token limit like the Assistant API, it’s unclear how the storage feature could be made practical.
With further development, “truncation” could be like assistants:
Using a truncation strategy of type
last_messageswill allow you to specify the number of the most recent messages to include in the context window.
To improve, it really needs a context size in tokens. ChatGPT limits users to 8k or 32k artificial “context” depending on subscription level; it is not impossible.
Much better would be the kind of intelligence we can program ourselves, but needing inter-call tracking, such as moving an expiration pointer forward in chat turns to meet a budget only when a cache would already have expired from the 5-60 minutes of keep-alive OpenAI offers, or minimizing when the cached discount of a longer chat becomes more expensive than the compact destination size.
BTW: http streaming SSE events from responses API demonstrated, being delineated by double linefeed:
event: response.output_item.added
data: {"type":"response.output_item.added","output_index":0,"item":{"type":"message","id":"msg_67d0f998ca9c81928ae69a7f0cac9dec00601feeb2e97add","status":"in_progress","role":"assistant","content":[]}}
event: response.content_part.added
data: {"type":"response.content_part.added","item_id":"msg_67d0f998ca9c81928ae69a7f0cac9dec00601feeb2e97add","output_index":0,"content_index":0,"part":{"type":"output_text","text":"","annotations":[]}}
event: response.output_text.delta
data: {"type":"response.output_text.delta","item_id":"msg_67d0f998ca9c81928ae69a7f0cac9dec00601feeb2e97add","output_index":0,"content_index":0,"delta":"Hi"}
...
Ideally, I’d like something that works more like the “conversation_manager” I built:
truncation: object
type(str): token_limit, message_limit, auto
limit(int, optional): provided for token_limit, message_limit, otherwise they use a default value
summary(str, optional): instructions for summarizing cached messages once the limit is reached. If not provided, summaries are never created.
This would allow for a great deal of flexibility in controlling the amount of context that is maintained. Smart use of the summary property could allow you to perseve only relevant context, effectively giving you a context window far beyond what you could achieve with the same amount of tokens storing entire messages.
The services that were previously only available in ChatGPT can now be used through OpenAI’s API.
I’m excited to try out the agent features soon!
Can you solve this? I still can’t access the model.
Hello. I see that you can access other LLM providers. Can you also access your own fine-tuned models? Thanks.
It seems like you have to be on Usage Tier 3 and above to access computer-use-preview , they specify it here: https://platform.openai.com/docs/models/computer-use-preview
Right, although I’m at Usage Tier 3 but model is still unavailable…
![]()
Can’t wait to try integrating it to Anchor Browser!
Hi!
You should specify the model parameter as usual and I expect it will work just as usual.
spanish_agent = Agent(
name="Spanish agent",
instructions="You only speak Spanish.",
model="o3-mini",
)
You can use other LLM providers yourself with independent code (or an AI-callable function tool that you code up), but you can’t “access” them through any OpenAI endpoint or orchestrate with current products. For example, the agent-building SDK offered as a software building accelerator has a model settings class that is very particular to OpenAI parameters on the responses endpoint.
You are limited to types of models that accept a system/developer message, which includes any you could fine tune. I don’t see any reason why a fine tune model cannot be included as useful in any new feature described, except that “search” is its own gpt-4o model.
Will there be an Agents SDK for TypeScript?
Yes, i’m experiencing the same. I assume it hasn’t been fully rolled out yet? But not totally clear to me
I have been experiencing the same and found the answer after a long search:
It shows that the computer-use-preview-2025-03-11 model is available from Tier 3 upwards.
https://platform.openai.com/docs/models/computer-use-preview
Now look at your “Profile Settings” under “Limits” and you’ll see your current tier with the respective rules tied to it. I am currently in Tier 1.
Since I created my account just today and also just deposited $5, this basically means I’m already excluded from using it for now. So the solution is to wait longer and put more money in to finally use it. ![]()
Yes! Aware of tiers, but even on tier 3 i’m getting
“The model computer-use-preview-2025-03-11 does not exist or you do not have access to it.”
When the computer use tool is used, I get responses including reasoning blocks:
{
"type": "reasoning",
"id": "rs_67d29e251abc8191a934f0f929f90da1051e56a9db28adab",
"summary": []
}
But the “summary” is always empty. Is there a way to turn it on? I can’t find any info in API docs?

