Hello GPT-5.2! Is it a coding beast?
James Montemagno
0:00 GPT5.2 just landed.
0:02 It's available kind of across the entire Microsoft ecosystem and we're going
0:05 to give it a spin today inside of GitHub Copilot and VS Code.
0:08 We're going to build out an entire application and sort of my standard
0:11 task and see how it performs not only in the code that it generates,
0:14 how it thinks about it and how it designs it.
0:17 There seems to be a new model every day.
0:18 So why does GPT5.2 matter?
0:20 Well, it's really fast which I appreciate of course.
0:22 It is really good at heavy reasoning and longer context windows
0:27 and it provides really accurate outputs which I obviously really appreciate.
0:31 So when I'm coding it's really good with high performance on large code bases,
0:35 has that long context handling, stronger reasoning and multi-step planning too
0:39 which I really really appreciate it.
0:41 So let's go ahead and dive into VS Code and we're going
0:43 to build out this sort of application that we do pet venue sharing for.
0:48 I've used it in a bunch of my videos and let's give it a spin.
1:01 All right, let's get into it.
1:02 So you should see GPT5.2 in your model selector.
1:06 It's in preview so if you are on business
1:07 or enterprise make sure you go enable that on github.com.
1:10 So I'm going to ask it based on this idea for this sort of pet venue application
1:15 to create a product requirements document but I
1:17 also want it to keep it pretty high level,
1:19 don't go into the weeds too much and then create it in markdown.
1:23 So I've attached the file here and this is the same idea that I give
1:26 every single model just so I can understand and see the PRD that it creates.
1:30 So I've really appreciated the GPT models specifically
1:34 for being able to break down these types of tasks,
1:36 these big PRD files where it's parsing a bunch of text,
1:39 it's understanding the requirements for it and then putting it all together.
1:42 So it's doing a bunch of thinking here.
1:43 It's making sure they don't have a PRD
1:45 or looking for other PRDs which I do appreciate.
1:47 Maybe there was a PRD that was already in there
1:49 and now it's as you can see drafting a high-level PRD.
1:53 So we're seeing this sort of research and thinking that's going on here
1:57 and we actually did see some of that thinking happening in real time.
2:00 Okay, so it created our PRD and everything is
2:01 happening in real time here and gives us an overview.
2:04 So let's take a look.
2:05 Summary, goals, love a good non-goals that's also very important.
2:11 The target audience, the key problems, core value proposition.
2:14 You can do this kind of for anything as well by the way if
2:17 you're not doing like PRDs or spectrum
2:19 of development definitely give that a look.
2:21 Okay, I'm going to take this PRD and I have a standard prompt
2:23 that I've been using for all
2:24 of these different models and these different iterations.
2:27 I just like to see the output and standardizing
2:30 as best as I can is the way to do it.
2:32 So I'm really looking for a landing page
2:34 first in this prompt that's desktop and mobile specific,
2:37 light dark modes, I want pink hues, nice fonts, emojis,
2:42 hover animations and I'm just telling it
2:44 here in this Blazer WebAssembly app that I've
2:47 given it some photos and pets and venues and to update the existing home.razor.
2:52 So it's going to go to work here.
2:53 It's creating a bunch of to-dos and it's using
2:54 a bunch of sub-agents to read a bunch of different files.
2:57 So I do like that.
2:59 So five tasks that it's going to complete and yeah,
3:02 we're seeing some thinking happening here.
3:03 So it's defining browse venues, it's understanding the page venue,
3:07 it's considering if should include an add a venue option in here.
3:11 I did tell it only a landing page so hopefully it does.
3:14 We'll see.
3:14 At least hopefully it should The PRD does describe the pages that are on it.
3:19 It's breaking down the inner up that it's going to need here and then
3:22 I did tell it to run I think somewhere in this file perhaps.
3:26 It's telling it to run after it builds but it
3:28 anyways it figured out that it does need to build it.
3:30 So it's managing the to-do items and we can see I think it's thinking.
3:34 This is one thing that I've noticed with the GPT 5.2 models is
3:37 sometimes with the GPT models they do like to kind of stop and then
3:41 you got to give it a little nudge to keep going
3:43 but in this case we can see on the bottom right that it is running.
3:45 So it's doing its thing and we can even see the Copilot little spinner there.
3:48 But yeah, it just created and updated the home.razor and now
3:51 it's going to add a bunch of CSS I think
3:53 and we can see now we have the thinking going on here
3:55 and it's starting this next task of the order of operation.
3:59 So I did mention this is pretty quick.
4:01 I think in this run that I did it's maybe like 10
4:05 to 12 minutes total if I remember here and it's pretty on par.
4:09 I have enjoyed the speed of the GPT models in general and specifically
4:15 more recently the Codex models that I've
4:17 been using have been really really fast.
4:19 Okay, so it's it's thinking, it's doing things and again this is real time.
4:23 Not going to edit anything down there.
4:24 But yeah, huge CSS file so 600 lines of CSS.
4:28 Appreciate you.
4:29 And now it's creating new files.
4:31 I do appreciate that it's creating the files and all
4:32 the code is there so that's also very nifty too.
4:35 All right, then it's going to do a build and run so let's
4:37 see if it was successful or not and see if it one-shotted it.
4:40 I appreciate a one-shot so it's now running in the terminal and this is
4:43 now just .NET running and building on my little MacBook Air here.
4:47 So let's take a look at some of the code that it generated.
4:50 Interesting I put the navigation inside the home page.
4:53 You know, there is only one page.
4:54 I told it to make a landing page.
4:57 Um, but here yeah, it's added a bunch of links
4:58 into our HTML so that looks pretty good there too.
5:02 All right, so it's looking like it's also running .NET test.
5:05 All right, I appreciate you for for testing testing.
5:07 I don't even know if I have any tests but sure,
5:09 I guess it ran and then hopefully it should be done
5:12 and then we should be able to launch it here as well.
5:15 So inside this this folder by the way if you are super curious here is
5:18 that it just has a blank file new
5:22 Blazer WebAssembly applications I can just run here.
5:25 So I don't know what it's actually thinking about so this maybe are
5:28 some improvements to the prompting that will need to have happen down the road.
5:33 But so far we're in about 4 minutes.
5:36 All right, so it completed it and it gives us our outputs.
5:38 Maybe it was summarizing.
5:40 All right, everything looks good and I do appreciate this is no test
5:43 executed in this repo cuz I have a blank test file so that's great.
5:46 All right, let's run this puppy and see what happens.
5:48 So now again we're just kind of building it.
5:51 Could have asked me to to run it which would have maybe
5:54 been appreciative of but hopefully we get something that looks pretty nice.
5:57 All right, let's see what we got here.
5:59 All right, wow this looks actually really stunning.
6:01 I love the pink gradients.
6:02 I love this.
6:04 I don't know what's happening over on the right
6:05 hand side but I do love the little cards, animations, dark mode, fire, love it.
6:09 Little getting started button there, nice cards, lots of emojis.
6:13 I do appreciate it and I like that it
6:15 incorporated images from both pets and venues across.
6:18 Little Q&A, I like that.
6:20 That's nice.
6:21 But just about the MVP we put together.
6:23 Browse venues, contribute.
6:24 Oh no, nice little footer as well.
6:26 This may be one of the better footers that I've seen in a long time.
6:28 I also it's maybe hard to see but you're actually seeing on that navigation
6:33 bar a bunch of translucent kind of like see-through there which is really cool.
6:39 I also like that it put little anchors there.
6:40 That's very nice.
6:41 Okay, let's have it do a more complex task.
6:44 So what I want it to do now at this point
6:46 is to add a venue page and ideally also venue details.
6:52 So the reason that this is important when
6:53 we think of this reasoning is that I want
6:56 it to understand how to fan out the rest
7:01 of the application as I would as a developer.
7:04 So it could just mock out all the venue
7:07 things but I also want to create mock data.
7:09 So ideally what I want it to do is start to create some interfaces,
7:13 understand um how to structure the data,
7:17 use modern C#, ideally add the new pages in the right place,
7:22 use proper navigation on it.
7:25 I didn't ask it to write tests but ideally it would maybe do that.
7:28 So here it's going to go through
7:29 some thinking again it's using sub-agents to read
7:31 a bunch of files and it looks like it's planning it out in general.
7:35 So this is looking pretty good so far.
7:37 So I have pet images, that's good.
7:40 Okay, cool.
7:40 So we're going to have small venue model, mock data service,
7:44 DI, create venues, venues with an ID and wire it all together.
7:49 I love it and I love it's just creating all
7:50 these pages pop pop pop pop pop pop pop pop.
7:52 So that's really nice that it's going through and creating
7:55 all of those pages here and when it creates
7:58 those pages I am 99% sure that it is also
8:00 just creating all the the code that's in it as well.
8:04 And these should be smaller files.
8:06 We can see the files changed are 59 lines of code
8:08 so these are just data models so no pages yet.
8:12 But it's looking pretty good in general.
8:14 I like that we have an I venue service,
8:16 venue rules, venue review, venue amenity.
8:18 I thought about the venue itself and what
8:21 this mock data service was going to be.
8:23 There we go.
8:24 So here's that mock service.
8:25 It's really big.
8:26 Venue's page and then ideally we get the venue's
8:30 details as well cuz I did ask it.
8:32 So let's see if it goes ahead and figures that out for us.
8:35 That would be ideal.
8:36 But here this is actually working a lot
8:37 faster on a larger problem across many files.
8:41 So it looks like it's in place.
8:42 They're going to register the DI.
8:44 Very cool.
8:45 That's looking good there.
8:46 And then let's see if it builds up.
8:49 So let's go ahead and zoom out and see all the files I've been created here.
8:51 So it's editing the home,
8:52 the program.cs and hopefully we get something here as well.
8:55 Again, no edits this video, no speeding up or anything like that.
9:00 You know, I usually try to do this in under 10-ish
9:02 minutes to kind of give it a real a good to go.
9:05 We can see that it's still thinking cuz we can see that the stop button's there.
9:08 So maybe it's doing a summary of the changes that it did.
9:11 Maybe there's a little improvement there that the team can land
9:14 on in some of the iteration on these models and what you'll see is
9:18 if you run this model again probably in a week or two
9:21 you'll see that the results are going to be a little bit different.
9:24 And also the interactions are going to be a little bit different too.
9:27 Okay, so it looks like we have a build error.
9:29 So that's fascinating.
9:30 I'll see if it's going to self-heal or not.
9:32 So it says resolving package issue.
9:34 It looks like it's using some code that needs a package there.
9:38 But it does look like that it hit this problem.
9:40 It identified the problem however it kind of stopped right there.
9:43 So this is probably in time in which I'm going to need to bump it I guess.
9:47 So let's go ahead and just tell it to try to build and run again.
9:51 So funnily enough when I was doing this and actually read the output that it
9:55 figured out what it needed to do but because I'm in the same context here,
9:59 I think it's going to go ahead and do it.
10:01 So, here it's considering what it should do and yeah,
10:03 once I add a new get package,
10:05 the I almost skipped, which is funny, but I guess I got to trust it.
10:10 Uh but yeah, the mock venue services looking good over here.
10:13 Uh let's see if it builds up and compiles for us.
10:16 It's a little bit of a bummer that it didn't automatically add that for us.
10:20 It should have for sure.
10:21 That is for sure.
10:22 But now it's going to run the task.
10:23 I do have a a task, so it's cool that it identified that.
10:26 I would have liked for it to do it in the first run there, but here it is.
10:29 Okay, cool.
10:30 All right, so it's looking good.
10:32 That little outline that you see is a little
10:33 accessibility feature that I have on on my Mac OS.
10:36 Um so that's not part of the website just there.
10:38 But oh, this looks beautiful.
10:40 Little grid going on here.
10:41 We have um um some filtering and sorting going on.
10:46 Beautiful.
10:46 So, I type in Seattle or or uh Portland or in here.
10:50 That's really cool.
10:51 I can filter on these different uh little things.
10:53 It has a little clear button.
10:54 Nice little details, little reviews going on here.
10:57 Lovely.
10:58 I love it.
10:59 That looks really really nice.
11:00 Uh it looks like it's still running cuz I saw the hot reload go,
11:02 so I don't know if it's doing stuff.
11:04 Um I am noticing though that it doesn't seem to have the top navigation,
11:08 so that does seem to be a bummer.
11:10 So, let's go ahead and tell it uh
11:12 to make sure that we have the top navigation, right?
11:15 So, that would kind of be important across the board.
11:17 And we noticed earlier, I kind of went through the code of the the home.razor,
11:21 but I noticed that the navigation was in there.
11:23 So, it didn't break it out um there.
11:25 It does look like it's still thinking.
11:27 My assumption is that it is just finalizing any output,
11:30 but that that was working just fine.
11:31 So, there we go.
11:31 Okay, cool.
11:32 Perfect.
11:33 All right, let's go ahead and tell it to do the thing.
11:36 Or let's actually Okay, yeah, it's still not not there.
11:38 Okay, cool.
11:39 All right, just was verifying it didn't magically do something.
11:42 So, let's go ahead and let it let it let it rip here as well.
11:45 So, again, it has the entire context of this chat, which is really nice.
11:48 And now it's going to revamp, it looks like the layout.
11:51 Uh that sounds good to me.
11:52 I like it.
11:53 All right, cool.
11:54 It's figuring it all out and using navigation manager.
11:56 Perfect.
11:57 I like that.
11:58 Before it was just using links, I just HTML links, I believe, so.
12:02 We should see this as well.
12:04 So, let's go ahead and stop the the output
12:06 and we'll have to rebuild and let it go.
12:08 Uh though maybe with hot reload.
12:10 Not going to risk it.
12:11 All right, so so far we have about uh 1,200
12:14 lines of code change in just this uh build here.
12:18 Um almost 1,300 at this point.
12:20 Um so, let's take a look at the output here.
12:22 Not sure what the C# extension's doing.
12:25 upset for some reason, but yeah, looks like Okay,
12:27 now navigation includes home, venues, quick links.
12:30 So, let's go ahead and run the application one more time.
12:33 Just going to open up the uh program.cs and just run it from there.
12:37 That's kind of how I how I do it.
12:39 Let's keep everything.
12:40 That looks beautiful.
12:41 And let's just make sure it builds and it runs.
12:45 Okay.
12:46 Here we go.
12:47 Fingers crossed that we get a nice navigation.
12:49 Venues.
12:49 All right, there we go.
12:50 That's much better.
12:51 And I love the the light.
12:53 Now we can see the dark theme everywhere cuz there's that toggle.
12:55 We can see that nice subtle um opacity that it put in there,
13:00 which is really nice.
13:01 And it really nailed this this look and feel and the subtle gradients.
13:05 Purple gradients, of course, you know, it's AI uh in there,
13:08 but I did tell it pink gradient,
13:10 so that's on me for telling it pink, but I really like the dark mode.
13:12 I think these uh toggles look really really nice.
13:15 So, I would like to investigate the code a little bit and take a look at it.
13:18 Code's important, so let's take a look at what we have here.
13:21 So, if we go directly into our service that we have, we have an interface.
13:26 That's nice cuz we're going to have not a mock value at some point.
13:29 Our model's using sealed records.
13:30 Interesting.
13:31 All right, I like that it's using records.
13:32 That's cool.
13:33 Some nice enums.
13:34 I like that it broke it out into individual files.
13:36 I didn't tell it to do that.
13:37 And then we have our main layout and then our details as well here in a razor.
13:41 So, it's looking really good.
13:42 I I think that this is very impressive work from GPT-5.2.
13:50 All right, there we go.
13:51 I am very very pleased with the results of GPT-5.2.
13:56 Now, this was a very blank application that I had
13:58 to build out and I had to do some reasoning over.
14:00 And even when I asked it to refactor,
14:02 it was able to really nail that refactoring.
14:04 I think the thing that is really a highlight
14:07 of the results here is when I added those venues and venue
14:10 details and the amount of effort and work and planning
14:13 that it put into not just the models using modern C# syntax,
14:18 but also how it broke down the different components and pages
14:20 and updated all the CSS and JavaScript along the way.
14:24 All right, have you given GPT-5.2 a try?
14:27 Let me know in the comments below what type of results you're seeing.
14:30 And if you use other models, too.
14:32 I've been really exploring some of the Codex and the Codex
14:34 Max as well and playing around with some of the other models.
14:37 So, hope that you've really explore these models.
14:41 I definitely try them.
14:42 I love now spinning up a different background agents as well in VS Code
14:46 and letting it rip with different agents
14:48 and work trees and seeing how it performs.
14:50 So, let me know how it's been going in the comments below.
14:53 Until next one, happy coding.
14:58 [music] [music]