# GPT 4.1: The New OpenAI Workhorse

Latent Space · 2025-04-15

<https://addtry.com/4f5dcae6-e3f8-4add-9d31-da3fe4a1cac2>

OpenAI's Michelle Pokrass and Josh McGrath join hosts Alessio, Swyx, and Sean to launch GPT 4.1, a new model family positioned as the go-to workhorse for developers with major improvements in coding, instruction following, and long context. The three models—4.1, 4.1 Mini, and 4.1 Nano—introduce a 1M-token context window, 75% prompt caching discount, and cheaper pricing than 4o. Coding gains are highlighted by 55% on SWE-bench (vs o1's 41%), while instruction following benefits from real-world API data and new evals like GraphWalk for multi-hop reasoning. The team explains that most improvements come from post-training techniques, with vision capabilities lifted by a new pre-trained base. Fine-tuning is available day one, and developers are encouraged to opt in to data sharing for future model iterations.

## Questions this episode answers

### Why is OpenAI releasing GPT-4.1 when GPT-4.5 is already available?

GPT-4.1 is a big improvement over the 4o line but is smaller and cheaper than GPT-4.5, so it doesn't beat 4.5 on all intelligence evals like AIME. Michelle Pokrass explains they didn't want to increment beyond 4.5, so they named it 4.1 to signal the upgrade over 4o. For most developers, it can replace 4.5 usage, and 4.5 is being deprecated.

[0:04](https://addtry.com/4f5dcae6-e3f8-4add-9d31-da3fe4a1cac2?t=4000)

### How does GPT-4.1 compare to o1 on coding benchmarks?

GPT-4.1 scores 55% on SWE-bench versus o1's 41%, which Michelle Pokrass says was unexpected. The team focused on producing better diffs, exploring codebases, and writing tests. Josh McGrath credits improved post-training. It excels at repo-wide tasks but may underperform reasoning models on single-file edits, as seen on Aider.

[0:29](https://addtry.com/4f5dcae6-e3f8-4add-9d31-da3fe4a1cac2?t=29000)

### How did OpenAI test GPT-4.1's long context capabilities?

Josh McGrath explains that beyond simple needle-in-a-haystack (which models saturate quickly), GPT-4.1's 1M context was tested on two new benchmarks: MRCR requires reasoning about ordering among multiple needles, while GraphWalk encodes a graph that the model must traverse to answer queries. Early versions sometimes looped when unsure. The benchmarks are open-sourced.

[0:08](https://addtry.com/4f5dcae6-e3f8-4add-9d31-da3fe4a1cac2?t=8000)

## Key moments

- **[0:00] Intro**
  - [1:27] OpenAI launches GPT 4.1, GPT 4.1 Mini, and GPT 4.1 Nano, focusing on instruction following, coding, and 1M context.
  - [2:20] OpenAI tested GPT 4.1 under code names Quasar Alpha and Optimus on OpenRouter to gather developer feedback before launch.
- **[3:42] Naming**
  - [3:49] GPT 4.1 is named 4.1 because it's a big improvement over 4o but does not beat 4.5 on all intelligence evals.
  - [7:40] A significant amount of the gains in GPT 4.1 come from new post-training techniques, not just larger pre-training.
- **[8:15] Long Context**
  - [8:15] OpenAI open-sourced Graphwalk and MRCR, two new long-context evals that require complex reasoning beyond needle-in-a-haystack.
  - [10:31] Early versions of GPT 4.1 would loop saying 'I can't find this edge' on graph traversal tasks, surprising researchers.
  - [12:51] Graphwalk models multi-hop reasoning, like traversing tax code references, where models must chain implicit connections across many documents.
  - [15:07] GPT 4.1's 1M context may reduce reliance on RAG and vector stores, allowing developers to upload full contexts directly.
- **[17:23] Instruction Following**
  - [18:24] OpenAI built an internal instruction-following benchmark from real API data to capture complex, hard-to-grade user instructions.
- **[20:09] Prompting Guide**
  - [20:09] The prompting guide advises that all caps and bribes are no longer necessary but developers can still experiment for extra emphasis.
  - [22:01] Adding a 'keep going' persistence prompt in agentic workflows significantly improves GPT 4.1's task completion on benchmarks like SWE-bench.
  - [23:07] GPT 4.1 reduces extraneous code edits from 9% in 4o to 2%, making it more precise in code modifications.
  - [25:27] Placing instructions at both the top and bottom of the context yields better results, though it conflicts with prompt caching optimization.
- **[26:49] Reasoning**
- **[29:00] Coding**
  - [29:11] Q: Was GPT 4.1 outperforming o1 on SWE-bench expected? A: 'Not really,' says Michelle Pokrass.
  - [32:30] An OpenAI researcher got 4,950 commits from GPT 4.1 on a massive PR, showcasing its internal coding impact.
- **[34:27] Vision**
  - [34:27] GPT 4.1's vision improvements come primarily from pre-training, unlike coding and instruction-following gains from post-training.
  - [37:07] Improved vision in GPT 4.1 Mini and Nano caused internal eval issues as they read signs in backgrounds, altering benchmark validity.
- **[38:32] Fine-tuning**
  - [38:32] Preference fine-tuning is available on day one for GPT 4.1 and Mini, but many developers are sleeping on its style-steering capabilities.
- **[40:02] Future Models**
  - [40:02] Noam Brown teases a follow-up reasoning model from OpenAI, coming soon.
  - [42:19] OpenAI increased prompt caching discounts from 50% to 75% on GPT 4.1 models, encouraging more efficient context reuse.
- **[42:36] Pricing**

## Speakers

- **Alessio** (host)
- **Sean** (host)
- **Swyx** (host)
- **Josh McGrath** (guest)
- **Michelle Pokrass** (guest)

## Topics

Language Models

## Mentioned

Hugging Face (company), OpenAI (company), OpenRouter (company), 4.1 (product), 4.1 Mini (product), 4.1 Nano (product), 4.5 (product), 4o (product), 4o-mini (product), ChatGPT (product), Claude Sonnet (product), Evals (product), Windsurf (product), o1 (product)

## Transcript

### Intro

**Alessio** [0:08]
Hey, everyone. Welcome to the Latent Space Podcast. This is Alessio, partner and CTO at Decibel, and I'm joined by my co-host Swyx, founder of Smol AI.

**Swyx** [0:16]
Hey, and today we have a returning guest as well as a new friends. Uh, welcome Michelle and Josh.

**Michelle Pokrass** [0:22]
Hello.

**Swyx** [0:22]
Hi. Uh, both of you work on the, um... I, I guess, um, Michelle, I, I think you used to introduce you as, uh, manager on the API team. Uh, it s- it seems like you've changed your, your role since we last talked on the, on the podcast.

**Michelle Pokrass** [0:36]
Yeah. Uh, now I lead a team on the research tr- side, specifically in post-training.

**Swyx** [0:41]
Yeah. And Josh, you are also in post-training.

**Josh McGrath** [0:44]
Yep. I'm a researcher on Michelle's team.

**Swyx** [0:46]
Yeah. And I just, uh, found an interesting commonality you guys have. You're, you're also both from Waterloo, uh, continuing the tradition of extremely cracked engineers.

**Michelle Pokrass** [0:54]
Oh, yeah. We talked about-

**Josh McGrath** [0:55]
Yeah

**Michelle Pokrass** [0:55]
... that last time. That's right.

**Swyx** [0:58]
Uh, okay, so we're, we're gathering to talk about GPT 4.1. Uh, I, um, you, uh, launched it. I mean, we, we, we got a little preview, and it was a little bit rumored, right? It, it was r- pre-released, I guess, with OpenRouter as Quasar Alpha, and then there was also an Optimus version.

Um, and, uh, I think, like, people were trying to figure out, like, why are we going back from 4.5 to 4.1? You know, there's a whole bunch of other things, but, like, what are the headline, um, facts, I guess, you guys want to emphasize about 4.1?

**Michelle Pokrass** [1:27]
Mm, yeah, I'll just say we released three new models today: GPT 4.1, GPT 4.1 Mini, and GPT 4.1 Nano. And the real focus on these were just making de- models that were great for developers. Um, so we improved instruction following, coding, and shipped our first one million context models.

**Swyx** [1:48]
Josh, anything to add? I, I don't know if there's anything else that people should really, uh, that, that are, like, is sort of in the fine print.

**Josh McGrath** [1:55]
No, I think the, uh, only thing that I would touch on maybe twice is that there's actually a, a new model in the lineup, Nano, which is, uh, even faster for developers that are making, you know, low latency applications.

**Alessio** [2:08]
And cheaper. Um, what's the... any fun story behind the code names? Or, you know, I got the strawberry hat as another fun time in the lore of OpenAI.

**Michelle Pokrass** [2:20]
Yeah. Um, yeah, we really wanted to get as much developer feedback as possible on this model to make sure it worked well in the real world. And so we tested it kind of through OpenRouter, um, and it was super cool to see people latch onto the names and, and get the theories going.

But the feedback we got from there was super helpful.

**Swyx** [2:41]
Yeah, yeah. It's not even, it's not even, like, the name. It's more about just, like, the API shape. Um, once we saw, like, Chat Compl, it was, like, very obviously OpenAI.

**Michelle Pokrass** [2:51]
Yeah. It's a, it's a good note.

**Swyx** [2:53]
Yeah. But like, I, I mean, okay, is, is there, like, an emphasis on stars? Like, uh, what, what inference were we supposed to draw from, you know, quote-unquote supermassive black holes?

**Josh McGrath** [3:04]
I don't think there's anything really to draw from there. I think it was just-

**Swyx** [3:06]
Okay. They're just cool.

**Michelle Pokrass** [3:07]
Just fun-

**Swyx** [3:07]
They're just cool

**Michelle Pokrass** [3:08]
... code names. You know, they make you think of, of cool concepts.

**Alessio** [3:12]
The vibes are good. The vibes are good.

**Michelle Pokrass** [3:14]
Things, you know? Yeah.

**Josh McGrath** [3:15]
Yeah.

**Swyx** [3:15]
The other thing about the examples, uh, we j- we're just mining for lore here, right? Um-

**Michelle Pokrass** [3:20]
Yeah

**Swyx** [3:20]
... tapirs, um, the v- interesting animal. Comes up a few times on the live stream and on the blog posts. What's up with tapirs? Who, who likes tapirs here?

**Michelle Pokrass** [3:28]
Yeah. Our, our team is just a super big fan of tapirs, so-

**Swyx** [3:32]
Okay

**Michelle Pokrass** [3:33]
... they just happen to work their way into a lot of our content.

**Swyx** [3:38]
Okay, cool.

**Alessio** [3:39]
Awesome. Um-

**Swyx** [3:41]
Um-

**Alessio** [3:42]
The, the-

### Naming

**Swyx** [3:42]
Yeah, go ahead.

**Alessio** [3:43]
Yeah, go ahead. I, I, I think, like, the first thing that, yeah, we just wanna run through is obviously the 4.1 to 4.5. Uh, I, I think that's the first thing that everybody was maybe confused about, so... A- and I know you're deprecating 4.5.

Um, sounds like 4.1 is just, like, a kickass model, and the 4.5 size maybe is not as good of a fit. That was just a research preview. So, um, yeah, I, I don't know. Whatever you wanna, um, say to, to address that, I think it's something we've seen come up also in the Discord.

**Michelle Pokrass** [4:13]
Yeah, totally. Okay, naming is really hard, and we've tried to make this as less confusing as we can, but, you know, nothing's perfect. Basically, the way we got here is that GPT 4.1 is, like, a pretty big improvement over the 4o line, and we really wanted to signify that.

However, it's a model that's, like, much smaller and cheaper than GPT 4.5, and as a result, you know, doesn't achieve the same, like, AME or other intelligence evals. So it doesn't beat 4.5 on all of the evals, and so we didn't think it made sense to increment beyond 4.5.

Um, but we do think for most developers, they can kind of replace a lot of their 4.5 usage with 4.1.

**Alessio** [4:55]
And then the Mini is strictly better than 4o-mini.

**Michelle Pokrass** [4:59]
Yeah.

**Josh McGrath** [5:00]
Yeah.

**Swyx** [5:02]
With the, with the Nano. Like, um, but, like, we don't know if 4.1 is a distillation of 4.5 or there's, there's no relationship there. Like, what, what can we say about, like, the shared lineage?

**Michelle Pokrass** [5:14]
Um, yeah, what I'll say there is, uh, we're always using various research techniques to improve our models, and distillation is something we talked about before. It's, it's really meaningful, especially for the small models. Um, and we've kind of pulled out some of the things that made 4.5 really good, like it has a lot of the instruction following greatness-

**Swyx** [5:35]
Yeah

**Michelle Pokrass** [5:35]
... and also rolled that into 4.1.

**Swyx** [5:38]
Awesome. Um, I think one of the... 'Cause I re- strongly remember on the 4o launch that their communication was that we're kind of moving to a new model architecture that is omnimodel, right? That was what... That's the O in, uh, 4o.

And then 4.1 is part of this subsequent trend of trying to merge everything, like the reasoning model, the omnimodel, everything. Um, and I think that there's, there's this doubt about whether 4.1... I, I think it's basically trying to be sold as a strict replacement for 4o.

But I don't know, i-is it going to be fully omnimodel? Is it, is it like roughly the same architecture that we, that we, that we think 4o has?

**Michelle Pokrass** [6:18]
So we, we already have different slugs on the real-time API and like-

**Swyx** [6:22]
Yeah

**Michelle Pokrass** [6:22]
... the responses API. So they're already, you know, somewhat different checkpoints. Um, I don't think-- we don't have any current plans to release 4.1 in the real-time API, but-

**Swyx** [6:32]
Okay

**Michelle Pokrass** [6:32]
... you know, things, things may change.

**Swyx** [6:35]
Yeah, and then there's Image Gen and all that, right? Like, so-

**Michelle Pokrass** [6:37]
Right

**Swyx** [6:37]
... and as far as we know, no plans maybe, but nothing announced.

**Michelle Pokrass** [6:42]
Not, not right now. The focus for 4.1 was kind of these three core capabilities for developers.

**Swyx** [6:48]
Yeah. We, uh, uh, our Discord actually also did a launch, uh, watch party for the recent, uh, 4.5 podcast that Sam Altman did, where I think for the first time, it was basically kind of confirmed that like some-something that people already knew, like Andrej Karpathy was already talking about this, that 4.5 was like 10X the size of 4.

And I think there's a question about like, do we do the linear, linear interpolation of 4.1 is like, you know, zero point is like, uh, I don't know, 2X the size or something?

**Michelle Pokrass** [7:16]
Mm-hmm.

**Josh McGrath** [7:17]
Uh, that's not really how we think about naming the models. There's a whole- ... different parts that go into the, the recipe. Uh, and so, you know, it doesn't really reflect on just the pre-training recipe, our version numbering.

But I think the 4.1 is just, uh, because of the large jump that we have in like coding capabilities, long contexts, and so on, it's more so what it's like for the end user more so than anything about the training recipe.

**Michelle Pokrass** [7:40]
We, we can go a little under the hood on training though, and we'll say that, um, you know, Nano is obviously a new pre-train. Um, we also have a new pre-train for Mini, and then, uh, the larger version is, uh, a new mid-train.

Um, but we find that actually a significant amount of the gains come from new post-training techniques. Um, so I think in the past, the narrative is that you need to pre-train these larger and larger models, um, to get better performance, and we're finding that we're able to squeeze a lot more out of post-training now.

### Long Context

**Alessio** [8:15]
Um, talking about how big a model is, uh, the other side of it is the context window. You have a one million context. I know that Sam, at DevDay last year, he said that, yeah, one million was like months away, so, um, right on, right on time.

Um, can you talk about, yeah, how hard that was to get to one million, and then maybe where the end game is in your mind? Is it 10 million, 100 million, infinite? Uh, what, what, what really matters as you start to scale this?

**Josh McGrath** [8:46]
Yeah.

**Michelle Pokrass** [8:46]
Yeah, Josh worked a lot on long context, so he's the right person to ask.

**Josh McGrath** [8:49]
Definitely. Um, so I think the first thing that we, that I thought was really interesting when we were going to long context is actually, uh, some of the evals that you see as like headlines on maybe other blogs where it's needle in a haystack.

Actually, most of the models do really well pr- uh, right out of the box. But then we had to actually first get a lot of measurement on the longer context for long context reasonings. You know, we actually just open-sourced, uh, two new evaluations that are about using the context in a more complex way.

So you know, one of them, you have to reason a lot about ordering, and the other is actually walking through graphs. Um, so there's a lot of reasoning that you have to do in those data sets, and that's where doing long context is actually much harder.

But single needle in a haystack, we were able to saturate f- uh, pretty easily. Um, and then the most of the work came at this, these harder tasks.

**Swyx** [9:40]
Yeah. I... Oh, go ahead.

Sorry, Alessio. Uh, do, do, do, if you have a follow-up, go, go ahead.

**Alessio** [9:46]
Yeah. I was gonna say how-- no, just how you think about length of context in terms of consuming documents versus like active kinda like thinking and planning. Uh, I, I think there's obviously a whole part on the prompting side around, uh, building agentic, uh, workflows.

Do, do you think that people maybe like still think too much of it about, yeah, needle in a haystack kind of document retrieval versus like traversing very long plans and kind of like iterations in context?

**Josh McGrath** [10:14]
Yeah. I think the mental model that I have is maybe actually has some more variables in it. So there's sing- there's the needle in a haystack where you have like some amount of distractors and some, you know, needles that you're trying to find.

And I think that it's more so about how dense of the context, uh, do you need to use. So like summarization, you're, you're actually just using the entirety of the context, whereas, you know, needle in a haystack, it's very sparse.

And then I also generally think about, uh, orderedness. If you're going to make some sort of, uh, inference on this, do you-- are you just look- looking, you know, sort of front to back, or do you need to move around in the context in order to generate a good answer while the model's sampling?

**Swyx** [10:54]
Yeah. Is that something that you worked on with, uh, GraphWalks? Is that, uh, the thinking around that?

**Josh McGrath** [10:57]
Yeah. That was sort of the, the most synthetic and clean way to measure the model. And then, you know, we worked on a lot of other training techniques, um, and data to sort of test the model's ability and train in the model's ability to reason throughout the context in a sort of shuffled way.

**Swyx** [11:14]
Yeah. You know, actually, I have the ability... I, I like to give people a little bit of visual aid with, um, with these things. Uh, so I actually went into your Hugging Face release and got a example of the graph, uh, task.

And so there's, there's a few versions of this, right? There's like the BFS and DFS version, and also it's... I, I guess it's very character specific. So I don't know. Maybe could you tell us like, like, you know, design choices around this, like what was surprisingly hard, you know, anything like that?

**Josh McGrath** [11:42]
Yeah. Um, so the idea here is you, you take a graph and you encode it into the context by looking at the, uh, the edge lists and just putting that into the context, and then asking the model to do an operation.

Um, and then, you know, under the hood, we're actually just executing the real operation and using that to then, uh, evaluate the model's ability to work. Um, one of the things that I found surprising at first was the, what the model would do when it wasn't sure how to use its context.

You know, early versions of the model just sort of looping saying like, "Oh no, I can't find this edge that I think ne- should be there." Um- And yeah, I think I was actually very surprised how all models seem to have more difficulty than I would have expected on a task that, you know, we would find very simple or like, you know, maybe an un- uh, an undergrad could write a Python script to, to run in a couple of minutes.

**Swyx** [12:38]
Yeah, right. Um, okay, so like what is the per- like, no, what, what is the real-life task that this is meant to model, I guess? Um, you know, I, I feel like the other one, MRCR-

**Josh McGrath** [12:51]
Yeah

**Swyx** [12:51]
... seems a little bit more intuitive where, you know, you have like four different stories and you pick out the second one. Uh, and that's a, that's a real task that the people have. But people don't really traverse graphs.

Like this is a bit more theoretical, but like, you know-

**Josh McGrath** [13:03]
Absolutely

**Swyx** [13:03]
... was there, was there any sort of correlation study done?

**Josh McGrath** [13:06]
Uh, yeah. This is actually meant to be sort of the idealized version of like a multi-hop reasoning benchmark. So we have a lot of things where, you know, you're putting hundreds of documents into, uh, the context and then you might ask a question that you actually have to traverse 10, uh, documents for.

But there the edges are... they're implicit, right? Like there is some underlying graph that's connecting all of these documents that you need to traverse in order to answer the question. Um, but they're actually much harder to traverse because the edge isn't actually given to you.

And so the question there was like, okay, if I actually just give you all of the IDs of these things that you need to traverse, can the model even do that? Um, where it's like a- ... it's actually just like a lower bound on, uh, how well the model can do.

And I think it's, that's actually somewhat well, well reflected in some of the internal benchmarks we have that are using more natural data.

**Swyx** [13:55]
Yeah.

**Michelle Pokrass** [13:56]
You can imagine something like a tax return, right? Where, where you like upload-

**Josh McGrath** [13:59]
Oh

**Michelle Pokrass** [13:59]
... the entire tax code. Like to figure out what to put into this, you know, box, you'll need to reference all of these boxes. And so this is like a similar level of multi-hop reasoning, but again, like Josh said, all of the references are implicit.

**Swyx** [14:14]
Yeah. I, I think that like some kind of backtracking if it's needed is also super interesting, uh, especially for agent work. Um, I-- for listeners who, who've been listening to us for a while, we actually covered this paper at NeurIPS last year, uh, t- two years ago called Eval, where they actually modeled graphs for graph traversals for agent planning and, uh, uh, it, it reminds me closely of that.

It's just that they never came out with this exact format that you have here, which basically is the same thing.

**Josh McGrath** [14:41]
Yeah.

**Swyx** [14:42]
Uh, I also like that you included, uh, blank answers because sometimes, uh, people do hallucinate or models do hallucinate answers, and you have a fair amount of blank ones.

**Josh McGrath** [14:51]
Thanks. The random sampling over graphs I did, I guess.

**Swyx** [14:56]
Yeah.

**Alessio** [14:57]
Um, is this tied also to the file search API that you released recently? Like how should p- people think about how everything kind of comes together in the API?

**Michelle Pokrass** [15:07]
Yeah. I think, uh, hmm, oftentimes with retrieval you, you know, might be using RAG to fill the context, and a lot of this is like to get around the limitation of a short context window. So we do expect a lot of developers to start, you know, uploading their full context more directly to the model.

Um, so for smaller tasks, you maybe don't need the whole, uh, vector store. Um, but we do anticipate this to play well with that paradigm as well. Like maybe you can just insert way more chunks into the context.

Um, so we, we think it'll play nice.

**Swyx** [15:43]
Yeah. A- any relationship to the memory upgrades in ChatGPT that we recently got, um, is long context just directly usable for memory, or should we just always have a separate memory system?

**Michelle Pokrass** [15:56]
Yeah. It's a, it's a good question. So right now the dreaming, uh, feature, we kind of have, uh, some of the, these memories embedded in the context. But you know, they are, they are separate features, so 4.1 is powering the API, whereas, uh, the enhanced memory is, is ChatGPT only.

**Swyx** [16:18]
Yeah. Awesome. Um, yeah, I think, I think that's interesting. Uh, I guess the, the one last thing I'll call out on long context, which is kind of, um, un- unintuitive or maybe there's an explanation, which was, uh, the, you had, you had two needle for MRCR and then we had f- four and eight, and everything kind of just regresses to some kind of baseline of like, let's say 30% or 20% as that.

But it's interesting to see where the smaller models sometimes match or outperform the larger models. Uh, I was wondering if there's anything unusual there, or do you think it was like a bad roll of the dice?

**Josh McGrath** [16:54]
I think it's probably just a, a bad roll of the dice. I think I would probably look more so at the, the larger models-

**Swyx** [16:59]
Narrow ones

**Josh McGrath** [16:59]
... see things regress as you, uh, increase the number of needles because there's sort of more complex reasoning that it has to do about the order of different things in its context.

**Swyx** [17:08]
Yeah. Awesome. Yeah, cool. Happy to, happy to move on from there. Um, yeah, we have a whole bunch of other, um, evals that we can go over. So, um, I had in my notes that we could talk over, you know, any- anything that you, that you want.

### Instruction Following

**Swyx** [17:23]
There was also like Kali from Shunyu with, who we have, have on the podcast for instruction following. Um, and I, I, I realized that, you know, he joined OpenAI and I wonder if he had a role to play in that one.

**Michelle Pokrass** [17:35]
Uh, no, we did not collab a ton on it. Honestly, I think it's best when eval authors and model developers don't collab too much because you-

**Swyx** [17:44]
Okay

**Michelle Pokrass** [17:44]
... you want to keep things, uh, you know, as objective as possible, not trying to game any evals.

**Swyx** [17:49]
Yeah. Um, and, and then there, I, I think there was also like for the first time the announcement of the, or shoutout of the internal instruction following benchmark from API data. Um, people have had the ability to opt in to share data for a while.

Um, actually, I, I like published a, I, I posted a tweet out 'cause I found it in the dashboard that you can just opt in and, and like there's o- there's basically 16 days left for this program where you can just get free inference.

Um, and like, so, so I'm just kind of curious like, um, what you found from that kind of IF eval that, that might be different from the normal IF eval that people have.

**Michelle Pokrass** [18:24]
Yeah, totally. A lot of the instruction following evals that are open sourced are open sourced, you know, or, or crafted in a way that are easy to craft. So for example, like Graphwalk is, is somewhat easy to craft.

Like you can create this graph and verify it easily, but it is not exactly aligned with what the users are doing. And this is true for some of the instruction following evals, where you ask the model to output exactly four words or, you know, three paragraphs or stuff like that, things that you can verify easily in code.

Um, and these are useful instructions, but we find that many of the really interesting instructions are actually challenging to grade, and so the open source evals often don't have them. And so getting this like real world, uh, diverse set of data actually helps us find like what are the commonalities in what developers are doing, what is a really good example of like a negative instruction, and then we can go from there and figure out how to, how to evaluate it.

**Sean** [19:24]
Yeah. Uh, I, I think that's a, that's also an interesting question of like what domains do people use you on. And I, I wonder if like there's a way to tell you because sometimes it can be very confusing if I...

For ex- especially because maybe I'm building an app and letting people use my key, but, um, other people are building apps on top of me. So you have just a lot of chaos of like multiple degrees of abstraction-

**Michelle Pokrass** [19:52]
Yeah

**Sean** [19:52]
... where you just have to parse through the prompts.

**Michelle Pokrass** [19:54]
Yeah, it's true. Well, I will say we do use our own products internally where we can, and so, um, you're, we're not manually by hand reading every prompt. After they're like anonymized, we scrub them of any identifying data, then we use our models to take passes to categorize them.

### Prompting Guide

**Michelle Pokrass** [20:10]
Um, and so if we get feedback that like, uh, we're not doing well on ordered instructions, then we can kind of do a pass over all of our data and find some good examples of those.

**Sean** [20:22]
Um, so there's the instruction following section in this great prompting GPT 4.1 models. I think maybe we can go through some of these examples. Uh, the first one that caught my mind that, um, it's not necessary to use all caps and other incentives like bribes or tips, but developers can experiment with this for extra emphasis.

So I, I think that second part leaves me confused. Are you saying that people should still try and do this and sometimes the model responds positively to it? Do you feel like it's still just part of the lore?

I'm curious why. I, I would have loved for you to say either, "Yes, it works," or like, "No, you should stop. It looks silly." Uh, I guess the truth is somewhere in the middle.

**Michelle Pokrass** [21:02]
The truth is always messy. Um, reality is that our models have gotten a lot better at following instructions just stated once and clearly. Um, but we find honestly, developers often become the best experts at prompting our models because, you know, you're building your livelihood on this thing and, and get to know the details of it really intimately.

So I will say stuff like that won't hurt the performance of the model, but we kinda always wanna leave it open to people to figure out what works best.

**Sean** [21:31]
Yep. Um, yeah, and then you had to always start with a response rules or instructions section. Are those keywords meant to be taken kind of like verbatim, like those are kind of like the tokens that work the best?

Um, or is it just like a, an example?

**Michelle Pokrass** [21:47]
More of an example. Yeah.

**Sean** [21:49]
Okay, cool. Um, yeah, this is great. I feel like until today we did an episode with like the prompt report on like all these prompting techniques, but then it's also unclear, um, for which model, uh, which ones work best.

So, um, it's super useful. And then you had a, in the agentic workflows one, you have a persistence thing. It's like-

**Michelle Pokrass** [22:10]
Yeah

**Sean** [22:10]
... please keep going. How much... And, a- and I think I read, uh, that improves like the SWE, the SWE-bench like 20% just by having like the persistence keep going thing.

**Michelle Pokrass** [22:21]
But Claude, I, I wouldn't s- it's not that this one prompt improves SWE-bench 20%, it's that we found this is the most effective harness for our model.

**Sean** [22:29]
Okay.

**Michelle Pokrass** [22:29]
Um, and combined with all the post-training improvements, it results in the big improvement. But yeah, like the model is trying a lot to be helpful and often it wants to check back in with the user and be like, "You know, should I keep doing this?"

Like, "Is, am I on the right track?" And so a prompt like this, uh, makes sure it keeps going, doesn't bother you again, and just gets the task done.

**Sean** [22:50]
Yeah. Yeah, I think like, um, there's this interesting trade-off between persistence and yielding back to the user. The more agentic a model, uh, wants to be, the, the, the more persistent it should be, but then sometimes it just goes off the rails.

And I wonder how you solve this trade-off, because sometimes it just goes too far. Uh, there's been criticisms of Claude Sonnet trying to rewrite too many files at once when I just wanted to make one thing, for example.

Uh, and that's a f- that's a form of bad persistence. I, I... What are the axes here in which like you think about it?

**Michelle Pokrass** [23:26]
Yeah. I think one of the interesting thing that comes to mind here is that we had an extraneous edits eval, um, where you ask the model to make an edit and classify like were all of its changes related to what it was asked to do or did it go off and, and do a little too much?

Um, and we found that from 4o, which got 9%, which is pretty crazy, 9% of the time making an extraneous edit is a lot. 4.1 is at 2%, so it's a pretty big improvement. So yeah, I, I would just say like focusing on this, we've heard feedback about this.

We made an eval and we made sure to track it and improve it during training too.

**Sean** [24:04]
Yeah. Yeah. I mean, everything comes down to evals as, as, uh, as is no surprise to anybody.

**Michelle Pokrass** [24:10]
That's true.

**Sean** [24:11]
Um, there's another interesting eval that I think is causing some noise. Uh, for the first time I think also that, uh, and you being the master of structured outputs should know, uh, that JSON is bad now and we should all use XML.

**Michelle Pokrass** [24:24]
Uh, I wouldn't say that. I don't know which eval you're talking about, but

**Swyx** [24:28]
It's in the prompts guide, which maybe you guys didn't write, so we're kind of springing this on you.

**Michelle Pokrass** [24:33]
Yeah. Um, Noah and Julian on our team wrote the prompt guide and did a great job. Um, I do think XML is very helpful for structuring prompts, whereas for parsing outputs, uh, maybe the story is a bit different.

Like, sometimes it's really useful to get outputs in JSON, so you can plug them directly into your application. But I do think the models, uh, work particularly well with XML as inputs. Um, but Chris, anything to add?

**Josh McGrath** [25:01]
No, no.

**Swyx** [25:04]
Um, cool. I, I mean, I, I think just people always just care a lot about code tool calls and, uh, structured outputs, as, as you well know, and so any updates to instructions over there is good. People also are interested in this concept of, uh, that apparently putting the instructions and user query at the top and the bottom, so duplicating it at the top and the bottom in the context, is much better than...

Uh, is better than putting it top only, and much better than putting it bottom only. Uh, again, this is from the prompt guide, so I don't know how aware you guys are on this.

**Josh McGrath** [25:35]
Yeah. Uh, I think part of that was just like, you know, empirical. We, we tried all three for when we were, uh, evaluating the model, and having that redundancy is definitely the best. Um-

**Swyx** [25:45]
Yeah

**Josh McGrath** [25:45]
... but then using the, those, the instructions at the beginning, the model's going to be able to then take that into account as it does processing.

**Swyx** [25:53]
Yeah. I, I think, like, a lot of people would see this as, like, running counter to prompt caching, because obviously you want to put the things that change a lot at the bottom. Um, basically, is this fixable in post-training?

Like, can we just tell, uh, models to take instructions or user queries only at the bottom because we want to optimize for prompt caching?

**Michelle Pokrass** [26:17]
When we figure it out, we will do that.

**Swyx** [26:22]
I mean, it seems doable. It seems like a post-training thing. I, I, I don't know. Maybe my mental model of post-training is wrong.

**Josh McGrath** [26:27]
So I think actually having things at the, the beginning of the prompt, uh, you would still get prompt caching there. If you're putting in, for example, like a big needle in a haystack, uh, uh, prompt, and you have the data changing each time, like, be it per user, there's still different ways that you can be putting the prompt at the beginning and getting a lot of the, the cache hits.

It sort of just depends on your use case.

### Reasoning

**Swyx** [26:49]
Yeah. Awesome.

**Alessio** [26:51]
Um, the, the other thing I noticed, I know you made a note of this, Sean, too, um, is around chain of thought and reasoning and how people should think about this model versus a reasoning model. Um, yeah. What's your...

Uh, uh, yeah. Should I just use 4.1 and prompt it to do a chain of thought? Should I use o1 and make a plan and then use 4.1 to implement the plan? Um, how should people think about composability?

**Michelle Pokrass** [27:17]
Yeah, it's a great question. Um, we have found that 4.1 is a lot better at doing planning and thinking through its steps in CoT when prompted than our previous, uh, non-reasoning models. But our reasoning models, uh, are designed to have kind of more coherent plans and be able to reason over longer horizons than these non-reasoning models, and you can see that reflected in things like intelligence bench-benchmarks.

So AIME, GPQA, stuff like that, you'll see the reasoning models do much better. Um, so in general, I would say, like the question you're really getting at is like, "I'm a developer, which model should I be using?" Um, and I think the answer is always going to be the fastest model that accomplishes your task, right?

So maybe you start prompting, um, 4.1 as a starting point. Uh, if it does your task super well, then maybe you drop down to 4.1 mini and save latency or even nano. Whereas if 4.1 is struggling a bit little, maybe needs more coherent reasoning over longer time horizons, then maybe you upgrade to a reasoning model.

**Alessio** [28:25]
Is there a quick way to get through these heuristics? I know one thing that a lot of people do is like they use o1 for like a plan, and then they put that plan in cursor and then have the plan apply to their code base.

Um, it sounds like there's maybe not a rule to when to do which, it just like task dependent.

**Michelle Pokrass** [28:43]
Yeah. I would say we're all kind of figuring out the best way to use these models together. Um, and so I do think reasoning models for planning, uh, and using kind of more targeted models to execute is definitely a good architecture.

**Swyx** [29:00]
Um, cool. Uh, if there's nothing else on, on, on that side, uh, I'd love to go into the coding, uh, which is something that we're emphasizing a lot. Um, it's doing super well. It's better than o1 on SWE-bench.

### Coding

**Swyx** [29:11]
Was that expected?

**Michelle Pokrass** [29:13]
Uh, not really.

**Swyx** [29:16]
Yeah. Like, what's the... I mean, what's the story there? There's also SWELancer, which is a newer one, which, uh, attaches a money value to things and, um, basically, what, like what should people understand is going on here? Like, is it a better coding base model or just a coding agent model?

Um, and I think there's also, there's also a question about like, you know, how important to coding is it if I'm not using a coding use case?

**Michelle Pokrass** [29:43]
Yeah. Uh, so I'll start by saying we just set out to make a model that was great at coding, both in your terminal or in your editor or wherever you want to use it. Um, and so we kind of broke that down into the problems that it, it, you know, encompasses.

So like developers want the model to produce better diffs, for example, or they want the model to explore the code base correctly, uh, or they want to produce code that compiles or produce code that writes tests. And so our approach was kind of teaching the model all of these various facets.

Um, yeah, there's kind of just a bunch of work streams that all coalesced around, uh, GPT 4.1.

**Josh McGrath** [30:22]
Yeah. I think much improved, uh, post-training all over to, uh, make for a better coding model

**Swyx** [30:31]
Yeah, I think there's like different kinds of coding, right? Like, um, the-- it's, it's interesting for me to observe that there, for example, uh, so I-I'm just gonna pull it up on the chart here 'cause I always like to show people visuals.

Um, you're at 55 on SWEBench, and o1 gets like a 41, but then on, um... Oh, I, I don't think I, I don't think I have the others. Like, but, but Aider, um, is, it is less, uh, uh, it is not at o1 level.

And so I, I think I, I think I struggle to get some kind of intuition of when... Like, uh, like, h-how, what are the different elements of coding? I guess there is like, you know, single file edits, whether it's like a diff or, um, um, or whole file, and then there is entire project edits.

Is that, um, a reasonable split? Are there more to this?

**Michelle Pokrass** [31:19]
Yeah, that's one way to think about it. Basically, where GPT 4.1 can kinda explore and go through a repo-

**Swyx** [31:27]
Yeah

**Michelle Pokrass** [31:27]
... um, it's been trained to do that particularly well. Whereas, uh, you know, to just get some code and produce a, a change, um, a reasoning model might do better because it, it can kind of reason over the entire file.

Um, and so that's one good way to think about it.

**Swyx** [31:44]
Yeah. Yeah, that's fair. Um, any, any in, um, understanding of like the smaller ones, the smaller, uh, models? Like basically for coding, I should only use 4.1 and forget the rest?

**Michelle Pokrass** [31:55]
So you, you might like want to use, um, the smaller models, maybe if you have like, if you have an IDE where you need an autocomplete feature, for example. Um, or if you want something super fast, uh, if you're building like, I don't know, a text to SQL thing, you might want the first version to populate instantly.

Um, so you can see like 4.1 Mini is actually quite significantly better than 4o Mini, um, and not that far away from the old 4o. So I, I do think that model will find use case in, in a bunch of these coding niches.

**Alessio** [32:30]
Um, and I know you might not be able to talk about this, but, um, the clip of the, of an AI CFO talking about the agentic suite has been going viral, I think today. Um, it, it seems like every lab is putting a lot of emphasis into coding, so, um, yeah, I'm just curious if there's anything you can share about, um, how people should think about OpenAI in coding, you know?

Obviously today you don't have, you know, Clodus, Cloud Code, um, you don't have any, anything related to coding and, uh, I think the Windsurf partnership today, they, they're giving 4.1 for free, 4.1 for free for a couple weeks is maybe like one of the first, um, you know, OpenAI endorsement, I guess, uh, on the live stream.

But yeah, just I know there might not be an answer that the PR team might approve, but- ... uh, I, I'm curious if you have any takes and thoughts.

**Swyx** [33:19]
I think just stay tuned. Um...

**Michelle Pokrass** [33:23]
Yeah, we, we... I think coding is an important use case for our users, and so that's why we focused it on it a lot for 4.1. Um, we also love to use our own products internally, uh, and so making 4.1 selfishly helps us move faster as a company.

And so that's where the real focus has been, uh, for this model.

**Alessio** [33:43]
Mm-hmm. Do, do you track what percentage of code is, is written by 4.1 internally now?

**Michelle Pokrass** [33:49]
We do have some metrics like that. I don't have it off the top, but, uh, I was actually just talking to one of the researchers on the team who worked on something over the weekend, and he said, uh, that, uh, this model, GPT 4.1, was able to like get 4,950 of his commits on this massive PR, uh, done.

So we were pretty happy to hear that.

**Alessio** [34:10]
I'm excited to use it. Um, awesome. Yeah, I think on the... Yeah, I, I think coding is a super exciting use case, and I think like OpenAI has always been very developer first, um, as you've been too, Michelle.

So, um, it's great to see the, the convergence.

**Michelle Pokrass** [34:26]
Yep.

### Vision

**Swyx** [34:27]
Um, the other, I think the last capability that I kind of vectored in on was vision or just multimodality in general. Uh, it is a lot better. Um, basically, I, I, I think like, uh, I, I really like these niche benchmarks like MathVista and Chartcive.

Um, yeah, just any, any, any extra color on, on like the vision side that you wanted to talk about but maybe you couldn't fit into the blog post?

**Alessio** [34:52]
Yeah.

**Michelle Pokrass** [34:52]
Yeah. Go ahead.

**Swyx** [34:54]
Oh, I was gonna say, I think one maybe small nugget there is actually, I think the, the 4.1 Mini is really exciting on that front. Um, as we were talking about, it's a different pre-training base, and I think that really shows up in some of the vision evals.

**Michelle Pokrass** [35:07]
And yeah, we talked about like coding instruction following long context, a lot of gains coming from post-training, but in particular multimodal, like, uh, basically everything you're seeing, the gains are there from pre-training. Um, so kudos to the pre-training teams there.

They've done incredible work on, on perception and multimodal.

**Swyx** [35:27]
Yeah, totally. Um, so something that we've been exploring on the podcast for a while, and I'm curious if there's any takes on, on, on your side, is, is there a strong split between like sort of what I call s- like screen vision versus embodied vision, right?

Like, um, are you taking pictures of... Are, are you training on snapshots of a computer for computer use? Um, or, uh, you, you know, a- and anything with charts, anything on, on a PDF, um, is very similar to that.

Or pictures from the real world, which is more embodied, right? Like where a robot might be able to use that. Um, uh, people have argued back and forth. I'm curious, uh, where the, the, the movement is or the emphasis is.

**Alessio** [36:09]
I think one of the, uh, first off, I think that 4.1 is better at both of those things, uh, regardless of how it was actually trained. I think, uh, I would probably somewhat defer to the pre-training team when it comes to which one you should be using.

Um, we're using s- you know, a mixture of both, but we've improved our results across evals on both.

**Swyx** [36:31]
Awesome. Yeah. Um, yeah, that's something that I think people should, uh, de- definitely do want to explore the more embodied stuff as well because the benchmarks tend to focus on the, the screen vision stuff, you know, um, more, more chat-

**Michelle Pokrass** [36:43]
It's always easy-

**Swyx** [36:43]
... uh, more controllable

**Michelle Pokrass** [36:44]
... to look at eval that is easy to grade. Um-

**Swyx** [36:46]
Yeah, exactly.

**Michelle Pokrass** [36:47]
Those are the things that get looked at the most, for sure.

**Swyx** [36:49]
Yeah.

**Josh McGrath** [36:49]
I think one of the things that was really funny with both, uh, the 4.1-mini and nano is we had some strange internal eval results, and it turns out that actually the, these new, uh, vision capabilities, they were able to read like, you know, signs in the background and stuff, which was actually changing like some of the validity of our results.

And so we were, you know, just running into different eval problems as you actually improve the models.

**Swyx** [37:14]
Um, is there a feature of a 4.1 image gen or is that like a completely different, um, part of this vision? Like, you know, in, in some sense vision is image-to-text and the other, the other way around is image gen.

Um, is it that simple or is it something else?

**Michelle Pokrass** [37:30]
It is not. Um- No, no plans right now to, to get, uh, 4.1 image gen.

**Swyx** [37:36]
Okay. Well, you know, it's very, very popular. Um

**Michelle Pokrass** [37:39]
We like to

**Swyx** [37:41]
And- It's like melting your GPUs. I mean, talking about GPUs, right, like, um, you know, part of this whole deprecation of 4.5 and, and moving people to 4.1 is to get back your GPUs. That's a, that's a message that both, uh, uh, Shuki and, uh, Kevin Weil have mentioned.

Um, but like you are running all these models concurrently for the next three months. Like, I don't know if you get back your GPUs. I think you just grow the usage even more.

**Michelle Pokrass** [38:06]
Yeah. I, I do think, you know, people get the message on deprecation and start moving over. So what-- as developers use this model less, we can kind of reclaim that compute. But you're right, it takes a while, and the trade-off there is really our commitment to developers.

**Swyx** [38:22]
Yeah.

**Michelle Pokrass** [38:22]
Like if we have something in the API, we won't take it away on, without, you know, sufficient notice. Um-

**Swyx** [38:28]
Yeah, with some notice.

**Michelle Pokrass** [38:28]
So that's the trade-off that, that is, is right for us.

**Swyx** [38:32]
Okay, awesome. Um, then a couple other, uh, smaller announcements, fine-tuning available day one, which is I think new for OpenAI. Usually you have to wait like a month or two for the fine-tuning capability. Uh, 41, 4.1 only and, and mini-- 4.1 and mini only, and nano in future.

### Fine-tuning

**Swyx** [38:49]
Um, any specific call-outs for, for fine-tuning? Um, I guess like there's, fine-tuning is this general discipline that always applies, but any wins that you guys can talk about?

**Michelle Pokrass** [38:59]
So first off, yeah, shout out to the fine-tuning team. They've w- worked really hard to get this ready on day one. Um, one thing I will say is that I think people have slept on the preference fine-tuning offering, uh, or the...

I think that's what we call the product. Um-

**Swyx** [39:14]
Yeah.

**Michelle Pokrass** [39:15]
So SFT is, people know it pretty well. It's the original fine-tuning we had, whereas this, uh, preference fine-tuning is super helpful for steering in a particular style. Um, so I think not enough people are using that.

**Swyx** [39:29]
Isn't that only for reasoning models or is that for everything?

**Michelle Pokrass** [39:32]
No, that's reinforcement fine-tuning is only for reasoning models.

**Swyx** [39:35]
Right.

**Michelle Pokrass** [39:35]
Pre- preference fine-tuning-

**Swyx** [39:36]
The DPO stuff

**Michelle Pokrass** [39:37]
... will offer the pairs. Yeah. Um, exactly.

**Swyx** [39:39]
Yeah. Um, and I thought it was in alpha, which is why I haven't looked into it.

**Michelle Pokrass** [39:45]
I thought we did it.

**Josh McGrath** [39:46]
I think it's RFT that's still in alpha.

**Swyx** [39:48]
Okay. Well, that's a lot of confusion that we, that we just cleared up. Um, yeah, I think we're going to... So, you know, I'm doing my conference again in June, and I think we're gonna do a workshop on, um, just general all the fine-tuning options and I think that will clear up a lot of things, uh, which is good.

### Future Models

**Swyx** [40:02]
Um, okay. New models. Uh, I know that we can't talk a lot about a lot of them. Um, Noam Brown from your reasoning team just said that there should be a follow-up on reasoning models soon. Um, what can we say about that?

And sounds like he's-

**Michelle Pokrass** [40:17]
Yeah. We're, we're not the right people to ask, but, but stay tuned for-

**Swyx** [40:21]
Yeah. But like 4.1 is a good basis for like whatever comes next, right? Like...

**Michelle Pokrass** [40:26]
Yeah. Uh, not all of our models kind of build on each other necessarily, but, uh, we think 4.1 is a great standalone offering for developers, and we also think, you know, reasoning models are, are a good tool in the toolbox.

**Swyx** [40:39]
Yeah. Like I more just generally, like I always want to explore the relationship between non-reasoners and reasoners, and then also like how we merge them. Are we doing routing? You know, anything, anything of that sort. Uh, obviously you have a lot of secret sauce.

Um, cool. Uh, and then I think the other thing that a lot of people are demanding or asking about is the creative writing model. Um, will that ever see the light of day?

**Michelle Pokrass** [41:02]
We're working on incorporating kind of those improvements into the models more generally. Um, I think that was-

**Swyx** [41:07]
Okay. So not a separate release. Yeah

**Michelle Pokrass** [41:09]
... one of the things people loved about 4.5 is like the humor, the green text, the nuance. Um, so we've heard that feedback and I know, yeah, there's lots of folks working on that and trying to bring it into our next models.

**Swyx** [41:23]
Awesome. Alessio, anything else?

**Josh McGrath** [41:25]
Um, no, this was great. Any requests for the developer community, things that you want them to try out that maybe people are not doing, things you want them to build for you, uh, using the new, the new APIs?

I feel like first off, send us feedback. It was really useful to look at, uh, different partners and customers who are using our models and to get this like nice wrapped feedback from them. Um, it allows us to iterate a lot faster.

Um...

**Michelle Pokrass** [41:53]
And on that vein, you know, opt in to, to data sharing. This just helps us make the model better for you. And one kind of slept-on way to do this is the Evals product. So you can upload an eval and, uh, opt in such that we'll pay for the infras- inference costs if we can also use the eval.

And this is just another great way, like we'll, we'll use those evals to make sure our models are, are getting better for people over time.

**Swyx** [42:19]
Yeah. I think the opt, uh, the evals is permanent. Uh, there's no end date announced, but the opt-in in the API is at least until April 30th. Um, uh, I think a lot of people still don't know about it.

We might want to extend that so that people can-

**Michelle Pokrass** [42:33]
Yeah

**Swyx** [42:33]
... do more of that.

**Michelle Pokrass** [42:34]
Good flag.

**Swyx** [42:35]
Yeah.

**Michelle Pokrass** [42:35]
I'll, I'll raise with the team.

### Pricing

**Swyx** [42:36]
Yeah. Awesome. Um, uh, and then I think the, the, the last question I had was on just on pricing. Uh, I think pricing, you know, it's basically just generally cheaper than 4o. Uh, but like not a, not a ton, but like cheaper.

And, uh, then you're also introducing this concept of blended pricing for the first time, uh, that I've, I've seen it. But, uh, maybe it's just been out there for a while 'cause you have caching and all that. Um, just generally, what is the cache to non-cache ratio that we should be thinking about when thinking about, um, workloads?

Like, um, i- is there, is there a general rule of thumb?

**Michelle Pokrass** [43:11]
So one clarification, um, which is that GPT 4.1 mini is not cheaper than GPT 4o. So not... It's not just like a blanket decrease in all the models.

**Swyx** [43:22]
Yeah.

**Michelle Pokrass** [43:22]
But however, 4.1 mini is cheaper than 4.1. Um, also not sure if this is widely reported, but we've increased our prompt caching discount from 50% to 75% on these models.

**Swyx** [43:35]
Yeah, I saw that.

**Michelle Pokrass** [43:37]
So that's a, a big input, uh, you know, into figuring out what kind of application you build. Um, and then your question was on like what kind of rate-

**Swyx** [43:45]
Uh, like-

**Michelle Pokrass** [43:46]
... we were thinking about?

**Swyx** [43:47]
Yeah, blended pricing, right? Like, um, I- I think there's this question of comparability of prices across models-

**Michelle Pokrass** [43:53]
Right

**Swyx** [43:53]
... um, and across providers because like I, you know, it's like some people are 3:1 in terms of context to output, and then some are part of that is cached. Um, uh, I, I selfishly, I produ- I make a chart that just plots all the model labs versus all the prices, and you, you...

And I'm sure you guys have seen it. Um, and I don't know what numbers to plug in there. So what are people seeing in real life? Uh, what's the m- median, you know, caching rate?

**Michelle Pokrass** [44:21]
I don't think we have that off the top. The p-

**Swyx** [44:23]
Okay

**Michelle Pokrass** [44:23]
... the blended pricing is more to just make it easier to compare. Like, so you could say something like, "GPT 4.1 is 25% cheaper than GPT 4o."

**Swyx** [44:32]
Yeah, you want one number. Yeah.

**Michelle Pokrass** [44:33]
Yeah. Yeah.

**Swyx** [44:35]
No. All right. Well, I'll have to figure it out. Uh, but thank you so much. That was, that was fantastic. Uh, thanks for all the work. I think people are very excited to get to work testing this out, giving you feedback.

Um, and I'm sure we'll be back again for the next one, probably the Reasoner.

**Michelle Pokrass** [44:51]
Nice. Thank you, guys.

**Swyx** [44:53]
Thank you.

---

This library is powered by PodHood (https://podhood.com), the podcast website platform.
