The Era of Compound Engineering — Kieran Klaassen, Every/Cora https://www.youtube.com/watch?v=_ehJyfHg1Vk AI Engineer · 20 min · 227 sentences · sentence-level transcript from YouTube's caption track; each line begins at the time shown [00:01] [music] [00:13] Hello. [00:14] Hello everyone. [00:18] Welcome. [00:22] I want to start with saying I haven't written a single line of code this year. [00:28] Um, maybe I haven't even looked at most of it yet. [00:34] I do ship. [00:35] Uh, I have a product I built that thousands of people use and trust with their email inbox, which is amazing. [00:44] I'm actually proud of the code I ship and I'm proud of the product I ship. [00:51] I've been doing this for two years and trying to extract my thinking and my taste into a system that compounds. [00:59] And I'm going to share you how I do that. [01:02] Lots of stuff you hear is like, "Oh, you should use this the factory dark factory do that blah blah blah all the new hip cool things." [01:11] Uh, what I'm trying to do is not that today. [01:14] I'm going to just show you how I work and hopefully share something that you can bring to your workflow that will outlift trends and really set yourself up for success for newer models, bigger models. [01:29] Uh there are two halves in this talk. [01:31] One is why it's so important to compound how I got here. [01:37] So this is for people that maybe are not at the end of the the trajectory. [01:42] It's interesting to see how to get there. [01:44] And then stuff you can run yourself, you can use uh day-to-day to ship, to build, uh to research, to do knowledge work even. [01:55] Hello, I'm Kiran. [01:57] I work at every is an AI lab for the future of work. [02:01] And we ask ourselves the question, what's next? [02:05] And we write about it, we teach about it, we build. [02:10] And we have a studio se uh studio um where we have mostly single engineering teams that take a problem they really care about and use AI to build a product out and really leverage that and [02:25] compounded knowledge is a big way we do that lots of loops shipping faster and faster and core as mine is where I invented compound engineering and it's a complete AI email inbox [02:39] it's agent native. [02:40] So that means whatever you can do the agent can do. [02:44] H it runs on your desktop phone CLI insight codeex like uh MCPS and I'm rebuilding it as version two. [02:53] Uh so soon beta access if you want access just DM me talk to me. [03:00] The cool part is it's one engineer and I have support. [03:04] I have design support. [03:06] I have some like database hardcore engineering problem support like you need some support. [03:13] Um but I built a full email client alone and I've only started building this in January this new rebuild. [03:23] I use reals on the back end. [03:24] I love Ruby React on the front end and I own products fully. [03:30] So I talk to people when something goes down I'm the one responsible and it's set up like this on purpose. [03:39] I'm an ex VPB of engineer and founder and I know how to hire grow teams all that stuff. [03:44] But I wanted to do the opposite with sonnet 3.5. I just felt there was something new that was unlocked and I wanted to see how far can AI go before I actually need to grow the team. [03:57] And I'm still alone with some support which is cool. [04:00] So I built Kora and this is what I learned. [04:05] Two years ago I started and the bottleneck by then was code. [04:09] So it kept moving and my job changed over the years but first there was bad code hallucination just stuff that didn't work. [04:17] I added agents I added skills just reviewing it. [04:21] So okay code got good. [04:24] The plan was the bottleneck because I could do things but larger things. [04:30] So whenever I have a good plan set out, it would do bigger things than just code changes. [04:38] Okay, plans got good. [04:39] Um the next bottleneck was deciding what to build. [04:44] Talking with users, really understanding problems you're solving. [04:48] This is why it's so good that you use your own product. [04:51] You love what you're building for. [04:54] And that got really good as well. [04:58] The scope got bigger. [05:00] AI could help writing uh plans. [05:03] And I kept repeating myself and that was annoying. [05:06] So I figured out there needs to be some kind of memory system. [05:10] So every time um I repeat myself, I can say, "Hey, can you make sure to store this knowledge in some way?" [05:17] I started with storing this in cloth MD, but at some point that became too large. [05:22] Um, so I built a system that remembers and that's really where compound engineering came from and you see me go away from typing more towards judgment and taste and [05:36] I think implementation is mostly solved even though you see many people that do orchestration dark factories who it kind of works which is cool but the thing that doesn't work is [05:49] our judgment and our taste. [05:52] And for me it's really where do I turn my brain on versus when do I leverage the model and it's where you make judgments and it's where you add taste. [06:05] So where you think where you iterate where you jam where you brainstorm I extract that into a system and if it's extracted into the system you can move on to bigger problems because the next time the AI will come up with a brainstorm it will already include that thinking [06:24] so you can go on for the next one and I see that one engineer with a compounding system just beats teams like full teams that use AI that don't. [06:38] This is my loop. [06:39] It's it there's more to it than this, but this is the overview. [06:44] Brainstorming, planning, working, reviewing, polishing, compounding, and repeating. [06:51] And the real trick here is on both ends. [06:53] It's kind of the human AI sandwich where the human is the bread and the AI is the middle part. [07:00] And the brain is on on the ends. [07:02] So the start brainstorming where you have to decide what to work on what the problem is and really understand what you're trying to do and at the end where your taste comes in where you decide [07:14] this looks very good makes me very happy or we need to raise the bar we need to do better we need to make it more snappy we need to go optimistic or whatever that is like [07:24] like delight and throughout here especially in the brain on parts it's important to extract the learnings to compound. [07:34] So that's basically the loop. [07:37] You cannot run the middle if it's not set up correctly. [07:41] And it's very important to be able to let go and let the machine rip overnight for many hours in parallel. [07:52] And the only way to be able to do that is making sure you spend time on uh on that system. [07:58] So my rules 50% should go into creating uh the feature just making sure like did it build the feature? [08:06] Did it deliver the value you set out to do? [08:09] But 50% of the time should go to um teaching the system for anything that it did wrong. [08:15] Can we learn something? [08:16] Can you teach the system something? [08:18] And this is something that is kind of hard, but it's very important because it will make the next time better. [08:27] One bonus is because of this extraction um I store all of this knowledge inside my repository as solution documents and people say oh but tokens and in my research it's actually more token efficient because if you have the right answers and the right solutions already within the token you don't need to do review [08:49] you don't need to correct you don't need to do deep research across the internet because the token's already there so it's actually more token efficient in the long term, which is cool. [08:59] Less research, finding things faster. [09:03] The real reason why this works is my brain is fixed and AI isn't or less fixed. [09:11] And my philosophy is keep extracting until the complete middle runs itself and is so freaking good that it will surprise you. [09:23] Um let me show you how this works. [09:26] Uh so I have a plugin called the compound engineering plugin that you can install in whatever tool you use codeexcloud code cursor plus 10 others and I just built this while building Kora shared it at some point and now [09:42] hundreds of thousands of people use it daily. [09:44] So thank you all for using it if you did. [09:46] I'm honored. [09:47] Um, I never decided this should be something like hype. [09:52] It's just me using my plug-in shipping code. [09:55] Uh, you can install it wherever. [09:57] Uh, you can also create your own version of this, which could be just storing information in files. [10:03] Uh, however you do it. [10:05] But let me show you the plug-in. [10:06] So, compound engineering became compound product as well. [10:12] Uh I have a lovely uh co-contributor Trevan Chowo who has a very good product sense and product background. [10:20] So he brought a lot of product thinking and I think compound engineering is really for engineers, PMs, designers, even people that do knowledge work within every love to use compound engineering. [10:32] It's such a uh like universal uh concept of compounding knowledge. [10:37] It doesn't have to be used for engineers but that's where it came from me. [10:41] So the first demo is um it's it's here to activate your brain. [10:48] So this is called CE ID8 and you can run it. [10:51] And here I run it in it's maybe a little bit small but I say hey I have Kora version version one. [10:57] I want to upgrade people to version two. [11:00] Um come up with oh no actually this is look at all my open open tickets. [11:06] Tell me what to do next. [11:07] It's a great command. [11:08] It will just go through all your issues and you can link linear open like open source issues on GitHub, Slack, intercom. [11:16] What it will do is it will generate uh structure from all this mess and we'll make arguments about what is good to work on versus not good to work on. [11:27] And the cool part is it will reason about this and the output here is a clean HTML page that you can share with the team that you can be inspired by. [11:36] So this is generation of ids and the cool part is you can point it to your OKRs you can um get ideiation aligned to your strategy and that's kind of how it compounds. [11:48] So if you have past experiments or past learnings in your repository or a strategy document which you can create with CE strategy, it will score these ids against this knowledge already which is really cool. [12:02] And I've seen people dump this uh document inside cloth design and say create a PowerPoint and you get a beautifully designed PowerPoint with like XY matrix of where the sweet spot is for what to do for your OKRs which is very low effort for you and very impressive to bring to your team. [12:23] Uh next one is a very simple one. [12:26] It's called C do review but is very useful. [12:29] Um, if someone hands you a PRD or some kind of document, run dock review on it and it comes back with very sharp questions. [12:38] I always like the questions. [12:39] I'm like, "Oh, that's a good question. [12:41] I did not think about it." [12:42] So, either you relay this to your colleague or you ask them to answer. [12:48] You can then compound that knowledge after answering with C compound so that the next time um this answer is already baked in and it wouldn't ask you it would already know the answer because it's already embedded in the system. [13:02] You can share this with people. [13:04] You can say oh you can actually run this yourself as well. [13:07] This runs anywhere. [13:09] So you can do it in co-work as well. [13:10] It doesn't need to be in cloth code. [13:12] Um it's a very simple thing that we spend a lot of effort in to make very good and it's part of our flow. [13:20] This my most used one u it's when the ID is too big to describe. [13:25] So this was the example of Kora version one to version two. [13:29] I say c brainstorm. [13:31] This is a brain on command. [13:33] Uh I know I need to get into into the zone. [13:36] I block off time. [13:38] I'm not going to multitask or anything like that. [13:41] Um, and I run this. [13:43] So, it pulls in compound knowledge. [13:44] It looks at the difference between Kora one and two and, uh, looks at the personas I've set up. [13:51] So, it will see, hey, like certain people need certain things. [13:55] And it will ask me questions. [13:57] And it doesn't ask me a lot of questions. [14:00] It's dialed in to ask you just the right amount of questions it needs to do the work. [14:06] It's very easy to get 30 questions and feel, "Wow, I did so much." [14:10] But in the end, the goal is not to answer questions. [14:13] In the end, it's to get the absolute best work out of it. [14:17] And I think other libraries might over question. [14:21] H I think there's a balance uh to be found there. [14:24] So out comes a plan, a brainstorm document stored and compounded. [14:29] And then my favorite, which is SL LFG, which is basically the loop, the the automation loop. [14:37] And if you like vibe coding/ LFG something is great as well. [14:42] It will run for hours. [14:44] It will do planning work review testing. [14:47] Opens a PR. [14:48] It will dog food. [14:48] It will try fix fix things. [14:50] It will then do a before and after video screenshot in the pull request. [14:55] Makes it super easy for you to then see what happens last if it comes back. [15:03] So this is overnight. [15:04] You can do parallel. [15:05] There's polish. [15:06] This is the brain on again C polish. [15:09] You give it the pull request and what it will do is it will show you. [15:12] So I like to run it in cursor and on the left side I like to run this and it will tell me hey this was introduced with this LFG flow and on the right it will show the product. [15:24] This is important. [15:25] Sometimes I don't even know what was built because I also have video recordings that I dump into LFG that it will then process and analyze and see what went wrong. [15:37] So sometimes I don't even know what it was solving for. [15:41] So it's a good primer to know, okay, this is what we are here where we are. [15:45] This is what it's solving. [15:46] This is how I solved it. [15:47] And you tell me what do you think? [15:50] And this is not QA. [15:51] This is raising the bar like it should work. [15:54] If it doesn't work here, your LFG flow failed. [15:57] Um, but you can see here like this works only in this example there is a mark of a logo mark twice which is not technically wrong but I don't want two marks on one page. [16:08] So in this case I can say hey there are marks two marks here. [16:11] Can we just make sure we only ever have one and run C compound. [16:16] So it will extract that knowledge, make sure next time when I do design work, it's tagged correctly, it will find that file and uh know not to do that. [16:27] So that's closing the loop. [16:29] You merge it and you learn something. [16:34] So why does compound engineering resonate with people? [16:38] I think it's not a very new concept. [16:41] It's just something how we do software engineering. [16:44] is just now instead of working with teams we use with AI we use AI and we leverage that and AI is very good at specific things especially with large amounts of knowledge and doing the right thing especially with latest models so [16:57] uh if you want to do this yourself if you don't want to use my plug-in uh make sure to extract never repeat if you see yourself repeating yourself make sure to extract it somehow make sure it doesn't happen again [17:11] make sure that there is a middle that can run without you that does the planning, working, reviewing, and it should be boring. [17:16] It should just work. [17:18] Uh you should not be needed if you're still needed in the loop. [17:22] Spend time on the middle. [17:23] Do it manually. [17:25] Feel where it's off and like iterate until you can actually let it go. [17:29] And if if you are at a point where you just run something and runs for three hours and it's always good, you know you're there. [17:36] [sighs] [17:37] It's important to document the thinking, not the code. [17:39] This is also very anti- um developery. [17:43] It's like yeah but documentation shouldn't mean the code and like the code is the artifact itself but I am of the opinion to generalize you need reasoning behind why you did something [17:54] and all these traces even though they're bad could lead to things like hey something happened right at postmortem what decision was made by whom or what agent that led to this can we then turn that into a learning so we change that behavior for the next time and I've seen it work very well [18:14] uh especially with postmortems and again every interaction spend 50% of your time to make it better the next time. [18:24] So, make sure to build the system that will remember uh instead of was this good, make the system better and make the system know. [18:32] And I know it's hard like it's just hard to do for myself and we all know we need to do it, but it's kind of awkward and it's like h it's it works. [18:41] It's great. [18:42] Let's just move on. [18:43] But it's very important and you can see the system really go if you do that a lot. [18:50] So the bet is implementation is only getting cheaper and judgment is not and the future models and systems need to be set up so they have access to this judgment that we have our taste [19:05] uh to have more leverage. [19:07] So that is the bottleneck and remember brain at the ends really activate your brain make sure you really understand what you're doing in the start. [19:17] Don't offload the thinking to the AI. [19:19] Make sure you truly feel understand what you're doing, the problem. [19:23] H let the AI go and at the end raise the bar. [19:27] Make sure you don't fix things. [19:29] It should be very good at the end, but make sure to raise the bar because we're not shipping shitty code. [19:36] And your standard should be the next feature should be easier because you ship this one. [19:41] If the next feature is harder because you added complexity, which is normally how engineering works, we're flipping that. [19:48] The next feature should be easier to build because you ship this one. [19:53] I'm Kiran. [19:54] Uh, check out the plugin. [19:56] It's open source. [19:57] Please um, contribute. [20:00] PR is welcome. [20:00] I love PRs from everyone. [20:03] Go build your orchestration system. [20:06] Go build your personal uh, knowledge base that compounds. [20:10] And thank you. [20:11] I'll be hanging around if you have questions and enjoy the rest of your day. [20:16] [applause]