back to indexHow To Solve It With Code—background on the course; a discussion with Jeremy and Hamel
00:00:00.000 |
>> So Jeremy, if you don't mind reminding us, 00:00:13.800 |
beyond the grand vision of how you wanted to help people? 00:00:20.100 |
I understand some parts about wanting to teach people AI, 00:00:33.640 |
we thought it was likely to be the most significant technology 00:00:39.080 |
for hundreds of years and will impact everybody in society. 00:00:50.200 |
if very few people understood it and were part of it, 00:00:53.280 |
it could lead to all kinds of inequality and loss of opportunity for people, 00:00:59.960 |
or it could go really well if lots of people were able to use 00:01:03.840 |
that technology and benefit from it and be part of designing a society that uses it. 00:01:10.500 |
So we started Answer.AI to help as many people as possible take advantage of AI. 00:01:19.680 |
So we did that by creating courses to teach people how to use AI, 00:01:27.640 |
which at that time basically meant training your own models. 00:01:31.480 |
We did academic research to figure out how to make it much easier to use AI, 00:01:45.800 |
which created the foundation of the modern language model movement, 00:01:49.460 |
and we built software to make it much easier to use AI. 00:02:00.520 |
So that was the foundation, and that worked really well. 00:02:05.960 |
Like most of the top practitioners I talked to today 00:02:12.400 |
tell me that Fast.AI has been part of their journey. 00:02:30.740 |
we're now at a different stage where you don't have to train your own models anymore, 00:02:38.420 |
and AI can do a whole lot more stuff than it could when we started Fast.AI. 00:02:44.020 |
So that's why Eric Ries and I started Answer.AI to basically go to the next level. 00:02:54.260 |
Basically, to say, well, we can be more bold now, we can do more with this, 00:03:01.060 |
we can get funding to build a team to go even further than Fast.AI could. 00:03:13.140 |
what do you think is going to happen with the audience, 00:03:18.220 |
or the target persona that you're able to reach 00:03:24.260 |
in terms of being able to use AI now versus the way it was before? 00:03:29.740 |
So now, you don't need to train a model, and in fact, 00:03:35.980 |
just like there was a point at which you could suddenly start using the internet 00:03:40.940 |
without knowing anything about TCP/IP and SMTP and whatever, you just like, you know, kind of... 00:03:49.260 |
That was possible a long time before the iPhone, but in some ways the iPhone was the thing that 00:03:59.660 |
I think ChatGPT was the thing that did the same for AI. 00:04:06.020 |
It meant that now lots of people can use AI without knowing how to code, 00:04:10.060 |
without knowing how to train a model, without having lots of computers. 00:04:16.620 |
And that meant that suddenly we've gone from the original Fast.AI target market, 00:04:30.940 |
which was anybody who's already pretty good at coding will teach you how to use AI, 00:04:38.620 |
and now our goal is to say, you know, we actually want to basically teach everybody to use AI. 00:04:51.660 |
Having said that, there's still a lot of benefit in knowing how to code. 00:04:56.940 |
And so a lot of people now are using AI that really don't know how to code at all. 00:05:02.460 |
And so we've decided... So two things. Fast.AI has become, is now part of AnswerAI. 00:05:15.820 |
And Fast.AI has access to all that additional resources, funding, people working on the company. 00:05:28.620 |
And through that, we can now... And they have now built a new kind of course. 00:05:36.300 |
It's not just a new course. It's a new kind of course. 00:05:40.220 |
This kind of course has never existed before. It's like a course that is only possible with AI. 00:05:54.140 |
And it's going to teach people to solve problems that they previously didn't know how to solve, 00:06:02.140 |
using code and AI together. So it's called "How to Solve it with Code". That's the name of the course. 00:06:18.940 |
When I said it's a new kind of course, it's not just going to be me on YouTube anymore. 00:06:26.540 |
We've literally created a whole new tool with language models built into it, 00:06:32.780 |
which people will be able to use to work through the material in "How to Solve it with Code". 00:06:41.020 |
So we've built a whole new platform for this new kind of course. 00:06:47.740 |
>> Tell me a little bit about this kind of new kind of course. 00:06:56.380 |
From a more, like, okay, let's zoom out from the tools. Let's talk about, like, 00:07:01.420 |
the new way that you can teach something, or the education, the way it's delivered. 00:07:08.140 |
Like, how is this actually different? Like, the learning process? 00:07:12.780 |
>> So Rachel Thomas and I created the first version of the Fast.ai course in 2016. 00:07:20.540 |
And we did it every year or two. The last one was in 2022. 00:07:28.860 |
It didn't change, you know? And I was proud of that. Like, it didn't change. 00:07:40.300 |
The structure of it, the method of it, it didn't change. And in fact, 00:07:44.060 |
a lot of the content didn't change much either, because it was very, you know, 00:07:48.460 |
it was not ephemeral kind of stuff. It was stuff that the basics of SGD and so forth, that lasts 00:07:56.300 |
forever. But I haven't done another course since 2022. And the reason why is I felt 00:08:06.540 |
it doesn't make sense to create the same kind of course when the technology has now shifted and the 00:08:14.060 |
kinds of people that can use the technology is now shifted. It's so much more accessible. 00:08:18.540 |
And, you know, with language models, the world's different. So I didn't feel comfortable creating 00:08:26.940 |
yet another course that was basically the same, because things aren't the same now. Which is 00:08:35.020 |
great. So this is like the first beta version of this new kind of course. I think things are going 00:08:43.900 |
to go a long way from here. But the basic idea is, like, let's make AI part of the learning process. 00:08:53.020 |
Not a little add-on chat box in the corner or something, right? But a whole program 00:09:03.260 |
built in and around AI as part of what is taught and how it's taught. 00:09:10.620 |
So let's talk about that a little bit more. A lot of people, when they think of AI, 00:09:17.980 |
they think of it as something they can use to do things for them. I think a lot of people don't 00:09:21.820 |
consider them in ways they can use for learning. Can you talk a little bit more about 00:09:30.380 |
what that means in terms of learning with AI? Yeah, okay. I think the question that I start 00:09:44.140 |
with is, well, why are we teaching a course how to solve it with code, when we're saying, like, 00:09:49.260 |
people don't need code as much anymore? Why is that the first course that we're teaching in this 00:09:54.700 |
new way? And you don't really need a course to say, like, how do you use ChatGPT? Like, 00:10:04.460 |
you can get help with prompt engineering and stuff like that. But it's the kind of thing you can, 00:10:08.060 |
like, make a start on in a half an hour of reading a blog post. But 00:10:17.260 |
we've seen again and again, so many of our friends hit a wall with that approach, where 00:10:26.380 |
they're trying to do stuff that's, you know, they're trying to solve problems and build 00:10:32.300 |
things that go beyond what ChatGPT can, like, solve in a single step. And it's very impressive 00:10:39.900 |
what stuff like ChatGPT and Claude can solve in a single step. But, you know, as anybody who's 00:10:47.260 |
used these tools for a while has seen, there's lots and lots of stuff they can't, which is not 00:10:53.340 |
a criticism at all of them. That's just how it is, you know. So you actually do need to go beyond 00:11:04.300 |
that. You do actually need to learn to code. But there's -- we've developed a way of combining 00:11:12.140 |
coding and AI. >> Before we go further, can we linger on that a little bit of why is, like, 00:11:19.180 |
ChatGPT plus coding so exciting? Like, the combination of them. How does it expand the 00:11:26.860 |
problems you can solve? >> It's amazing. So if you know a bit of coding, right, and if you have 00:11:36.380 |
a good way, and we've built this way, a good way of combining coding and AI, 00:11:40.460 |
you can take the stuff that the language model is giving you and tweak it, modify it, 00:11:54.060 |
pull it apart, recombine it, and then interactively do that with the AI 00:12:01.260 |
to form a dialogue in which you're constantly feeding back, oh, this was a bug, or this 00:12:13.340 |
actually doesn't quite solve the problem I had in mind, or whatever. But not just with more and 00:12:20.220 |
more prompting. As we've all seen, you get into this really annoying loop where you're trying to 00:12:27.100 |
get the AI to write a bit of code and you know what it needs to do, and it's so hard to sometimes 00:12:33.260 |
get it to do what you want. Just write the damn code. It's just so great when you can just dive 00:12:40.700 |
in and add a couple of lines of code yourself here, and then have the AI add a couple of lines 00:12:45.820 |
of code there, and now it's man and machine combining together. And at least at this stage 00:12:55.820 |
of history, that's vastly more powerful than machine alone. So that's what this tool we've 00:13:05.260 |
built and this course we've built is all about, which is-- And a lot of people think that coding 00:13:11.740 |
with AI is just about building SaaS apps or building software, but do you think it goes 00:13:17.900 |
beyond that into just solving everyday problems that people might have? Yeah, yeah. That's why 00:13:22.380 |
this is called How to Solve It with Code. It's about how to solve problems. And actually, when 00:13:29.180 |
you're creating an app or a dashboard or whatever, that consists of solving lots of problems. But 00:13:37.340 |
lots of things do as well. Like if you're doing a data journalism exploration of organized crime 00:13:46.460 |
company links based on thousands of PDFs, or if you're trying to segment pathology slides, 00:13:57.180 |
or if you're trying to understand the change of the word literally over time in usage through 00:14:11.980 |
studying texts online, or whatever stuff you're doing. Or if you have an office job and you have 00:14:17.660 |
to make that dreaded weekly report. Exactly. You've got to do your TPS reports, whatever, 00:14:23.740 |
and they have to be done by Friday at 11. Otherwise, there'll be questions being asked. 00:14:29.900 |
So these are all problems to be solved. And they generally consist of sub-problems to be solved. 00:14:35.340 |
And so if you know how to solve problems with Code plus AI, then it's this big unlock, basically. 00:14:44.780 |
And you don't hit this wall where you're just prompting ChatGPT and getting into this bigger 00:14:51.820 |
and bigger hole of technical debt as it writes more and more code that you don't understand. 00:14:56.140 |
And it's increasingly complicated. And it's full of weird bugs that you don't even know 00:15:05.660 |
were there because you don't really know what it's building for you. When you and the AI are 00:15:10.780 |
working hand in hand, then you create things which you understand exactly what's there, 00:15:20.620 |
you understand exactly why it's there, it's combining your knowledge or understanding 00:15:25.100 |
the constraints, your understanding the opportunities, your creativity, together with 00:15:29.980 |
the AI's massive knowledge base and understanding of syntax and all that. 00:15:37.420 |
So it sounds like combining AI with code just gives you superpowers in terms of using AI for 00:15:47.100 |
a lot of different purposes. And we've seen a lot of different tools becoming popular, 00:15:55.180 |
things that promise to allow you to write code without knowing anything about code. 00:16:01.420 |
But I think people are getting a bit stuck in those. And can you talk a little bit about what 00:16:09.740 |
you've observed and sort of explored? >> Yeah. Yeah. The thing I've observed 00:16:15.820 |
is that there's this huge excitement. There's folks that don't know how to code at all or 00:16:25.500 |
barely know how to code jump on to Claude or ChachiPT or whatever. And within 15 minutes, 00:16:33.740 |
they've built an app for their kid, which they've had in their mind for years. 00:16:40.460 |
And it's like Keanu Reeves and the Matrix. Like, I know code. 00:16:48.620 |
they've gone from zero to mark five. And then the kid's like, oh, thanks, dad. That's nice. 00:16:56.940 |
But when I click this button, it doesn't actually do anything. It's like, oh, all right. How do I 00:17:03.580 |
fix this? Prompt, prompt, prompt, prompt, prompt. Okay. The next bit takes twice as long. Just to 00:17:08.380 |
fix that one damn button. And then the kid's like, oh, yeah. My friend Hamill wants to do it as well. 00:17:19.820 |
We want to have a leaderboard. It doesn't work great to build and build and build. And, you know, 00:17:29.340 |
this is how -- like, you look at the real world of, like, who's building the apps that we're 00:17:37.740 |
using every day. They're not built by people using -- who can't code using just chat GPT. 00:17:44.860 |
They're just not, you know, like 99.99% of the time. Because we're not there. That's not where 00:17:50.380 |
the technology is right now. >> They're not using AI at all. 00:17:52.940 |
They still know how to code. And they might be using AI, but not exclusively using AI. 00:17:58.060 |
>> Right. And nobody's really built the tool specifically designed to really harness the 00:18:02.940 |
best of humans and the best of AI. So that's what we're showing people as a process and a tool. 00:18:08.060 |
For doing that. So, like, Google CEO said that the most recent few months, 25% of their code 00:18:17.020 |
is generated by AI. And so, yeah, it's a good example, right? Like, they know quite a lot about 00:18:24.220 |
AI at Google. And it's not like they've replaced all of their code with AI. But they're also not 00:18:28.700 |
using it. Like, it's not -- they're avoiding it either. Like, this is where we are with the 00:18:34.540 |
technology today. It's great to know both. But, like, most of the labs, big labs have been focused 00:18:43.260 |
on building AGI. They're really focused on building AI that stands alone. And we're one of the very 00:18:50.780 |
few groups that are entirely focused on building stuff that combines humans and AI together in the 00:18:58.860 |
best possible way. So, that's why, you know, we've created this very new kind of course and very new 00:19:08.460 |
kind of tool to power the course. >> And tell me a little bit more about 00:19:14.140 |
the tool and the gap that it fills. Specifically, you know, like, you have all of these tools, 00:19:20.780 |
like Cursor, Cloud, and they write code for you. And you can imagine someone saying, okay, 00:19:26.700 |
I'm going to try to learn about the code by reading what it's producing or asking questions. 00:19:32.940 |
But I suspect there's something -- there's still a gap. So, like, you made this tool and this 00:19:38.700 |
platform for a reason. Can you talk about -- >> Sure. So, the platform for now, at least, 00:19:44.220 |
we're calling SolveIT. So, as part of this course, you'll get access to SolveIT. And SolveIT 00:19:52.860 |
supports a very particular kind of workflow or a variant of a very particular kind of workflow, 00:19:58.140 |
which already nearly all of the best developers I know use. I find most folks who have been 00:20:03.820 |
programming for more than 20 years or so and are at the very top of their game, 00:20:08.380 |
they have a workflow that very heavily uses a very highly interactive approach. 00:20:15.660 |
And so, you know, so, for example, if you look at three blue, one brown videos, 00:20:21.660 |
which are very popular and very good, Grant Sanderson has demonstrated that the way he builds 00:20:26.460 |
those is very interactively. He's got this code over here, and he types in a bit, and immediately 00:20:30.780 |
he sees the results, you know. Peter Norvig, who ran research at Google, you know, very heavily 00:20:38.620 |
used this kind of, you know, similar kind of style of trying things and getting immediate feedback. 00:20:47.020 |
It's extremely different to what something like Cursor Compose or Clawed Artifacts or whatever 00:20:54.700 |
use, where it spits out like 200, 300 lines of code. Like, there's no exploration there. There's 00:21:03.260 |
no learning going on there as you gradually build up your solution. So, SolveIT is designed to kind 00:21:14.540 |
of be something that creates one or two lines of code for you. And then you write, you know, 00:21:20.140 |
maybe one or two lines of code yourself. And then, like, you gradually ping pong back and forth, 00:21:26.700 |
you know. And so, you end up with something that's generally a lot less lines of code than you would 00:21:34.700 |
have had if AI had spat out this big thing for you. Why is that? Because, to be honest, like, 00:21:45.900 |
these language models have not been trained to create -- they can't yet create particularly 00:21:55.420 |
high-quality code, particularly concise code. And also, like, the nature of language models is that 00:22:03.820 |
they spit out the kind of code they've seen before. So, often, like, it'll have, like, all 00:22:10.940 |
kinds of unnecessary stuff that, like, you would need in some different environment. And so, it 00:22:19.260 |
just ends up being overly complicated and not really customized for your particular problem 00:22:26.940 |
that you're solving. So, yeah, you know, this is really all about harnessing this much more 00:22:35.260 |
interactive approach that really pretty much all of the world's top practitioners use. So, like, 00:22:42.140 |
if you watch Andrej Karpathy's videos, for example, or, you know, or watch how George 00:22:48.700 |
Hotz builds, you know, TinyGrad, like, with all the things you see, it's, like, type, type, type, 00:22:54.220 |
type, type, try, check this, see what happens, like, two lines of code, two lines of code. You 00:22:59.980 |
know, that's the process that we're supporting, but it's one where AI is part of, you know, 00:23:08.620 |
helping to generate that code, part of helping to check that code, and teaching you, also, like, 00:23:18.220 |
what, for the bits where the AI has written some code for you, is, like, make sure you really 00:23:22.940 |
understand that code, and why it's written that way, and what it does. You know, so, some people 00:23:28.940 |
might think that, hey, writing one or two lines of code at a time, and understanding these one or two 00:23:36.940 |
lines of code, sounds a lot slower than, you know, having 200 lines of code written at once. It does, 00:23:43.340 |
doesn't it? I happen to have the privilege of knowing that you've used this system to write 00:23:49.180 |
real software, and so, what is your observation? Yeah. Is it, like, a lot slower, because you're, 00:23:57.340 |
like, writing one or two lines? Well, we've done it together, haven't we? So, yeah, so, 00:23:59.260 |
you've seen it. So, yeah, so, yeah, it, it, it, it, it, honestly, for anybody who's been doing 00:24:05.180 |
the, like, Cursor Compose, you know, Claude Project thing of writing hundreds of lines of code, 00:24:10.780 |
I have a feeling this is going to feel terrible at first. You're going to feel like, 00:24:15.420 |
why did I just create two lines of code when I could have created 200? But, like, 00:24:22.700 |
to me, it feels like the difference between telling a kid in grade one, hey, here's a 00:24:34.140 |
calculator, here's how you add and subtract, okay, that's it, school's over, you know, 00:24:40.860 |
go start your career, versus saying, like, you know what, we're actually going to teach you to 00:24:45.660 |
add yourself, and we're actually going to teach you to subtract yourself, and, and actually, 00:24:49.180 |
you'll, it turns out that that's going to build, and build, and build, and, you know. 00:24:53.980 |
So, you'll still use the calculator, you just use it in a way more powerful way. 00:25:01.260 |
Yeah, yeah, yeah, though, and so, and, and it is slower for a bit, right, but then the kid that 00:25:08.620 |
never actually learned any math, rather than being taught to use a calculator, has a huge 00:25:14.140 |
limit on what they can do, you know, or else the kid who actually learned math can create things, 00:25:24.380 |
you know. So, yeah, it, and, and they end up much faster, right, because they're the ones who are, 00:25:32.380 |
like, oh, you don't need to go and spend six months doing all those calculations, you know, 00:25:38.380 |
summing manually all the numbers from one to a million, because that's a shorthand, 00:25:43.420 |
which is this closed form, you know, solution, which I can do in five seconds. So, this happens 00:25:49.020 |
all the time. So, when you build the code up slowly, you end up much faster than the person 00:25:57.340 |
who does it 200 lines at a time, and you never hit the wall of, like, okay, that's as far, 00:26:03.100 |
I'm now stuck, I can't go any further, because I don't understand the codes that's there, and I 00:26:07.420 |
can't get chat GPT to solve this issue, and so, okay, that's the end. And I've seen, like, people, 00:26:14.140 |
when they go from, like, zero to mark five so quickly at the start of their coding journey, 00:26:19.500 |
and then they hit these walls, they become really despondent, you know, this despair hits, 00:26:25.820 |
and they also feel embarrassed about it, because they're out there on social media, and telling 00:26:29.500 |
their friends, I can code, you know, the days of software developers are behind us, you know, 00:26:35.420 |
like, we can just use AI now, and then they hit these walls, and it's embarrassing, almost, 00:26:43.340 |
you know, it shouldn't be, right, but it can feel that way, because it feel like, oh, everybody else 00:26:47.260 |
seems to be able to use these tools to do whatever they like, I guess it's not for me, I guess coding 00:26:53.340 |
is not for me, you know. >> And so, I understand, like, the best software developers, they use this 00:27:01.100 |
iterative approach, where they write one or two lines of code, and they understand, you know, 00:27:06.380 |
kind of, they're able to interact with that code, and kind of build it up over time, and it's a lot 00:27:10.540 |
faster. >> Yeah. >> One, I think, even, like, so, I buy into that as the best approach. I think 00:27:21.580 |
something that's really interesting is, it happens that that approach gives AI further superpowers, 00:27:29.180 |
because you have built up a conversation. >> Right. >> That, I think that part is not intuitive, 00:27:38.540 |
and no one knows about that. >> Right, right, because there aren't tools, there aren't tools 00:27:42.700 |
that do that, right. So, yes. So, Solve-It knows about all of those interactions, and the 00:27:51.740 |
interactions are extremely dynamic, and we actually have built a new way of thinking about working 00:28:01.980 |
with language models, which we call dialogue engineering, as opposed to prompt engineering, 00:28:07.660 |
which we'll have a lot more to say about over the coming months and years. This is, Solve-It is the 00:28:12.780 |
first time we've publicly released a tool that's built around the principles of dialogue engineering, 00:28:18.860 |
although we've been using it internally at Answer.ai for quite a long time now, and 00:28:24.060 |
everything we've built in this course, for example, has been built using these tools. 00:28:31.180 |
So, it's been a bit of a bootstrapping process here. Yeah. When language models can see examples 00:28:44.620 |
of questions and answers that have gone well, you know, in a process that's working well, it 00:28:52.380 |
has this amazing self-reinforcement loop, effectively, that happens. 00:29:00.700 |
There's something, it's based on something in the literature called in-context learning, 00:29:04.460 |
but with dialogue engineering, it takes this idea of in-context learning a lot further, 00:29:08.140 |
where there's actually this feedback loop that happening. So, yeah, Solve-It is explicitly built 00:29:14.140 |
to support this really strong positive feedback loop, where the user is helping the AI for its 00:29:23.580 |
next step, and the AI is helping the user for their next step. And I think that's the part 00:29:30.300 |
that is exciting, is the AI, is actually making the AI do things that are not possible 00:29:39.340 |
in traditional approaches. Oh, absolutely. Like, just using cursor, or whatever, or really anything 00:29:44.940 |
else. Like, the level of difficulty of problem that you're able to solve, and the complexity 00:29:51.820 |
that the AI can solve, is much higher, and almost somewhat unbounded. Yeah, yeah, yeah. I mean, 00:29:59.020 |
I've been coding every day for over 30 years, and coding a bit for over 40 years, 00:30:11.820 |
and I constantly try to become better at it, always reading, and learning, and practicing. 00:30:20.860 |
So, I've become a good coder. But with this dialogue engineering approach that we're building 00:30:29.980 |
into Solve-It over the last few months, I've been able to build things that I could not build 00:30:35.500 |
before. And it's definitely stuff that ChatGPT, GPT-4, O1 Preview, Sonnet, none of them can do 00:30:49.260 |
on their own, because I try. It's only by combining the human, plus the AI, that I've been able to 00:31:00.380 |
build this. And so, it's been interesting for me. Like, I would say, even for a quite experienced 00:31:06.060 |
coder, if you're prepared to be a bit patient, and humble, and learn some new things, you might find 00:31:11.900 |
this course interesting as well. Because for me, it's showing a process which I found has given me 00:31:21.420 |
superpowers. And so, it sounds like we're going to be teaching students this kind of unique technique 00:31:30.140 |
called dialogue engineering, where they can really, you know, let the AI do a lot more than any other 00:31:37.500 |
approach that I've seen. What are some examples of problems you've tackled with dialogue engineering 00:31:44.460 |
that you suspect would be very difficult otherwise? >> I'm trying to think. I'm not 00:31:54.140 |
very good at remembering specific examples of things. The kinds of things that I find very often 00:32:03.660 |
Well, so, okay. Well, here's a good example, actually. 00:32:07.020 |
Our dialogues contain messages. This is just something that, you know, happened somewhat 00:32:14.780 |
recently. And, you know, I realized it would be nice to not, like in a chatbot, not always add 00:32:21.980 |
messages to the bottom, like normally happens with chatGPT. But sometimes I'd actually like to, 00:32:26.780 |
I wish I'd asked a question earlier, you know, and then that becomes kind of part of the dialogue. 00:32:33.180 |
And so, I wanted the ability to insert a message between two messages. And I, it's like, how do I 00:32:39.820 |
do that? Because my messages have like a primary key, which is an integer, you know, and like you 00:32:44.620 |
can't insert something between two integers. And I was like, oh, maybe I should make the primary key 00:32:50.380 |
a float. Gee, that would be weird, you know. But then I could insert it between two messages by 00:32:54.620 |
taking the average of the two float keys. And so, I started this conversation, you know, where I was 00:33:02.700 |
like, hey, here's some code I've got. You can see the issue with the primary key. I can't insert 00:33:08.700 |
messages between them. I was thinking of making it a float instead. Is that, like, possible? And 00:33:13.500 |
the AI is like, oh, yeah, that's not actually unheard of at all, you know. You could use 00:33:21.180 |
something like this. And I was like, okay, well, is this a known technique, you know? Does it have 00:33:27.660 |
a name? And it's like, oh, it does actually. It's called fractional indexing. I was like, 00:33:34.940 |
I've never heard of it. And I looked it up. And so, then I came back and I was like, oh, okay, 00:33:38.940 |
here's some lines of code to implement this fractional indexing idea. Or here's a library 00:33:43.340 |
I found. How does that look? You know, so I ended up, you know, with this better understanding of 00:33:53.660 |
a whole new kind of data structure and algorithm that I'd never heard of before. And I ended up 00:33:58.540 |
building, you know, something that I didn't really know existed. And it also gave me the confidence 00:34:07.420 |
to kind of follow up this idea. Because it's got to be like, hey, 00:34:09.900 |
can you make a float a primary key and use the average of keys to add things? Like, 00:34:19.660 |
you can't really search Stack Overflow for that. It's very conceptual. And to try and do that in 00:34:26.780 |
kind of like a classic chat GPT kind of environment, you don't have that ability to 00:34:35.260 |
build the code as you go and get the kind of feedback as you go. It's really, you have to beg, 00:34:41.020 |
you know, the model to create the code for you. And also, then my, you know, the way we've built 00:34:52.380 |
this is then the code is that you're working on together is working in your environment, you know, 00:34:59.020 |
that has everything set up the way you want it. So, yeah, that would be an example of something 00:35:04.860 |
I created recently, which I guess I could have created anyway, but my version would have been, 00:35:13.740 |
honestly, a lot less good than the one we created together. 00:35:17.900 |
So, it sounds like dialogue engineering not only makes you smarter, it makes you faster, 00:35:25.580 |
it also makes the AI smarter. What about other people you might be working with? 00:35:31.740 |
If you're using a dialogue engineering approach, does it change the way that other people may be 00:35:39.020 |
able to read your code or understand what you're doing? Yeah, it's been great. It's been great. 00:35:42.940 |
Yeah. So, we share this a lot at AnswerAI now. We share our dialogues with each other. So, here's 00:35:49.660 |
the thing I built and here's how I built it. And we give each other our dialogues. And then we can 00:35:57.180 |
build on top of each other's dialogues by adding more code and more prompts and, you know, sometimes 00:36:03.580 |
in the middle. And, you know, the version that we'll be using of SolveIT for the course is quite 00:36:13.020 |
simplified from the internal tool we've developed, you know, to give people this kind of, like, 00:36:17.340 |
get them going with it and not be overwhelming. But over the coming months and years, you know, 00:36:25.420 |
particularly this group of people in this first cohort, they're going to form this first community 00:36:29.420 |
that we're going to build out together. So, they're going to be the first group of people 00:36:34.460 |
that understand dialogue engineering. And just like I think you were part of our first FastAI 00:36:41.260 |
cohort, I have all the folks from that first cohort, as we see, I still know and hang out with. 00:36:46.300 |
And, you know, I think that community is going to be exciting to see how together we build this 00:36:55.500 |
new way of thinking about human plus AI together. I do want to add, though, that this is not 00:37:02.460 |
designed to be a replacement for something like Claude Artifacts or Cursor or whatever. Like, 00:37:12.060 |
there will be times where you do just want to say to Claude, like, just one-shot it. Just 00:37:21.100 |
make this. If it does it correctly first time and you don't really need to add new 00:37:24.620 |
things to it and a leaderboard and blah, blah, blah, right? It's like, I have a specific thing 00:37:31.420 |
I need right now. It's not going to be too complicated. It just builds it. It works 00:37:36.540 |
first time and I use it for, you know, the kind of thing that, like, Repl.it works pretty well for 00:37:42.060 |
as well. >> Let's linger a little bit on the dialogue engineering and how it makes it 00:37:48.620 |
easier for other people to understand your code. Can you talk about why? 00:37:52.860 |
Like, versus, like, normal, like, traditional ways of writing code. 00:37:57.100 |
>> Because, you know, when you -- yeah. So, here's the thing. Reading a finished piece of code 00:38:05.980 |
is intimidating. Because it tells you nothing about how it's created. You know? It's like 00:38:13.580 |
the difference between watching Bob Ross paint versus saying, here's the Mona Lisa. It's like, 00:38:20.620 |
hey, here's the Mona Lisa. Are you inspired? Okay. Go make a beautiful portrait. It's like, 00:38:25.340 |
I don't know how to do that. Or it's like, okay, here's Bob Ross. And he's like, okay, 00:38:29.260 |
well, I put a bit of paint here and I wash this over there and then we can use the edge of this 00:38:33.020 |
brush here. So, with dialogue engineering, you end up with a dialogue. So, you see the whole process 00:38:40.940 |
of building it and you understand, like, why was this done this way? What does this thing here mean? 00:38:48.300 |
Why was this library selected? It's -- yeah, it's a really nice thing then to not just share with 00:38:56.300 |
your team, but to also have available for yourself six months later when you've totally forgotten. 00:39:06.620 |
And so, yeah, it's -- >> It sounds like you understand 00:39:10.940 |
your own code better. The AI understands the code better. And your coworkers and 00:39:15.500 |
colleagues understand the code better as well. >> Yeah, students or whatever. Yeah, yeah. Exactly. 00:39:20.460 |
So, we're very -- we're really at Answer.AI, as you know, Hamel, we're all in on this. You know, 00:39:27.100 |
we've been using it ourselves for months. And we're like, holy crap, it's changed our life. 00:39:34.060 |
So, we want to start bringing everybody else into our world that we're so excited about. 00:39:42.460 |
>> You know, because I know you and work with you, I think I have some appreciation of, like, 00:39:51.660 |
you know, this is only the tip of the iceberg. You know, these methods of dialogue engineering are 00:39:59.100 |
really powerful. >> And this course is just the tip 00:40:02.620 |
of the iceberg, too, right? There's going to be a lot more courses. So, you know, we're planning, 00:40:08.140 |
for example, a kind of full stack startup engineering course, you know, and where we'll 00:40:15.260 |
be building on these ideas to be like, here's how we can use dialogue engineering to create a company, 00:40:22.380 |
you know, to do all the system administration, to handle all the email, to build the marketing 00:40:29.260 |
materials, to write the web application, so on and so forth, you know. 00:40:35.340 |
>> And you can say that with confidence, because you've been building Answer.AI 00:40:40.460 |
with this exact system. It's not like you're just -- this is not a -- this is not a prediction. 00:40:46.140 |
This is actually happening right now. >> Correct. Exactly. So, yeah. So, 00:40:51.580 |
we'll be giving the rest of the world a bit of an insight into how Answer.AI is able to do such 00:41:00.300 |
an extraordinary amount with such a small number of people so quickly, which I know a lot of people 00:41:06.940 |
are like, how the hell do you do this? You know, you guys must be, like, geniuses. Sure, okay, 00:41:14.780 |
we can be geniuses, but I don't think that's the main reason I think we're building some 00:41:20.780 |
powerful processes, which we're keen to share. 00:41:27.820 |
>> That's all the questions I asked. >> Thank you very much, Hamel. That's great. 00:41:41.020 |
I will see you over in chat. >> Okay. All right. See you.