back to index

How To Solve It With Code—background on the course; a discussion with Jeremy and Hamel


Whisper Transcript | Transcript Only Page

00:00:00.000 | >> So Jeremy, if you don't mind reminding us,
00:00:08.960 | why did you start Fast.AI?
00:00:12.360 | What was the initial,
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:24.560 | but what is beyond that?
00:00:26.940 | What is the end result on people's lives?
00:00:30.120 | >> We saw that 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:44.760 | We felt that could go really badly,
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:37.840 | and cheaper, and faster.
00:01:43.080 | Out of that came stuff like ULM Fit,
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:24.860 | But I guess what's really exciting is
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:09.780 | What do you think, compared to Fast.AI,
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:54.300 | brought that to most people's fingertips.
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:45.020 | >> Yeah. >> It's very exciting. And
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.