The Last Human Code Review: Building Trust in AI-Generated Code — Itamar Friedman, Qodo https://www.youtube.com/watch?v=s-aixZYJG4c AI Engineer · 18 min · 175 sentences · sentence-level transcript from YouTube's caption track; each line begins at the time shown [00:12] Are you all set up with your AI factory? [00:15] Everything is smooth. [00:17] As you're sitting here, your code is being deployed, errors growing, right? [00:22] If it's like that, raise your hand. [00:24] No? [00:25] Oh, okay. [00:25] Two people, great. [00:27] Um Let us know like before and after this talk what they are and and do you feel like there's a bottleneck, a new bottleneck that is not on writing code, rather somewhere else else in the STLC? [00:41] Is that your biggest thing to tackle if if you are tackling that right now? [00:47] Okay, so you're in the right place. [00:48] And what about like code review, verifying that the code work according to your intent, according to your architecture, standards, best practices, etc. Is this something that you're tackling day-to-day or week-by-week? [01:03] Okay, so you're you're in the right place. [01:05] So, I'm Adam Ouriel Friedman, the CEO and co-founder of Codo. [01:08] Um I don't share it too much, but Codo stands for quality of development optimization. [01:14] Our mission and and uh is to help you all have a code governance code review platform that understand your code base, your tribal knowledge, your best practices, and that does not come off the shelf [01:31] from a model. [01:32] It requires a system that optimize for you as we go, and that's uh why we decided to name our company uh this way. [01:40] Uh so, uh I'm going to talk about the last human code review, and what do we need to do in order to get there? [01:47] Okay? [01:48] And um can you switch instead of seeing myself seeing the presentation here? [01:53] Thank you. [01:54] Um so, I I think like first of all, we need to agree on why do we have code review at all? [02:02] So, I think basically these are two buckets that we should agree on, and I think I think it's quite common. [02:08] One is we want to validate the code that is in high quality, safe, maintainable, the right architecture, according to our best practice, etc. The second re- reason is actually alignment and learning. [02:21] Right? [02:21] Like where senior developers, for example, has one last chance, a gateway, a gatekeeper before uh it's being uh code is being pushed to production to have that alignment and teaching, [02:33] right? [02:34] So, these are the two reasons, and then that's what you need to think if you're trying to automate the code review, can human still do that? [02:42] And this if this is the right place, the the code review process, the pull request process, is that the right place to still doing these two things? [02:51] If you have uh new tools, new processes that will help you unblock this bottleneck, but let you still do these two buckets of tasks, then you're on the right path. [03:04] Uh so, we're here to ask yes, no, is human code review still optional end of 2026? [03:13] Uh is it becoming optional or is it still mandatory? [03:16] Okay, that's that's what we're here to answer. [03:19] Do you think like every PR or the majority of PRs are going to be reviewed line by line or, you know, bucket by bucket in the in the chunks and the hunks [03:29] by our developers, raise your hand? [03:31] Or do you think Do you think by end of this year your developers are still going to review diff by diff? [03:38] Okay. [03:39] So, try to think why why is that happening? [03:41] Now, I I I wanted to share with you that yesterday night we did a drone show, and I had to uh opportunity to talk to different people during that drone show, different uh engineering leaders. [03:52] And what I can tell you is that I saw two very different groups of school of thoughts, okay? [04:02] They both agree that bugs are coming in different shapes. [04:08] For some, this is fine. [04:10] And we're just going to fix that quickly after it hits the production and for some not. [04:15] So so actually we do see two teams. [04:18] Those that are thinking about the room is split into two. [04:21] Those are thinking like, "Hey, we have to let make sure that every piece of line is is trusted and and the human must review that. [04:31] Or the other group somewhat reckless or so saying, "Let's let's like push those bugs into production and we quickly fix that and that's how we actually do things because it's much faster. [04:47] Velocity is more important than getting getting things right. [04:51] And I think like you need to think like where do you sit? [04:55] Of course I put it in two two sides of the spectrum but there's some somewhere in in between and you you need to think what what's your philosophy because that will lead you to different [05:05] milestones or different tools that you need to use in order to get that confidence that you can skip over a human review in the pull request in the code review. [05:16] So let's start talking about what is the process? [05:20] How do we need to start thinking about it? [05:21] So I claim that models are not not a barrier anymore. [05:26] Like it's not a matter of of the you know a model doing a good good good job or not, having the right reasoning or not. [05:35] Basically, the models are improving but I'm telling you I just came from one of the leading labs where we are inspecting how benchmarks for code review did not change a lot [05:47] throughout the latest model. [05:49] The The key here is actually context. [05:53] Okay? [05:53] Like the models, if you give them the right context, and what is that right context we're going to talk about, they could already reason pretty well over what is the issues that we need What are the issues that we need to surface [06:07] for a certain change in the code? [06:09] Otherwise, if you don't have the context, even the best model out there, they will give you different types of of uh bugs and issues. [06:16] Some of them are really good, but in many cases they will simply tell you, "Hey, did you consider error handling uh uh like or not?" [06:23] By the way, error handling could be like a really good thing to handle. [06:27] Depends. [06:28] In some cases it's critical, in some cases are not. [06:31] And again, the context is what what matters. [06:34] Right now, our context is like spread all across. [06:39] Like we have agents.mds, cloud.mds, skills.mds. [06:42] And And the thing is that each each one of them like has like different standards, uh different or organization and sub organization are dealing with different differently. [06:52] Even within a certain team, you might be using that that differently. [06:56] And you're actually maybe using like the same uh one one team is using uh the same agent to do code review and sorry, coding and code review. [07:07] The other might be using something else. [07:09] And all of that does not bring you the trust and consistency that you're looking uh towards. [07:15] Um By the way, like you also might have like coding agents that are running in your IDE, but you're probably building the AI factory that running those agents like in workflows to automate some of the coding. [07:27] I see teams that are already uh having more lines of code being uh shipped that are not generated from the CLI or or the IDE. [07:37] So, how do you control all that? [07:39] Like that's that's missing uh like in right now like in our in our tools in our infrastructure. [07:46] And let alone if you add those MCPs and and and rag like style context. [07:54] I don't know if you have like great visibility. [07:57] There are ways to tackle that. [07:59] There's great talks out there. [08:00] Check how you can have like MCP versioning and have data sets for every like a benchmark for every MCP change, but that's hard to manage. [08:09] We're missing like a governance layer for us to move to the next level. [08:15] Okay, like where we can actually trust the code without human reviewing it. [08:19] So, where where is that context? [08:21] Where is that context? [08:22] Basically, I would say experience, tribal knowledge, wisdom of your developers is a lot in their heads. [08:31] They are in some documents. [08:33] There are documents, infrastructure documents, but a lot By the way, a lot of them is our slacks or or teams or or so. [08:42] The data is there, but a lot of the information are are in your developer heads. [08:47] And we need like to to codify them. [08:50] Now, um I think like basically another thing that I'm saying like when I'm saying that we need to codify human knowledge, what we're actually saying is that we're trying to build an interface [09:05] for agents an interface for humans to collaborate each other on that on that knowledge. [09:11] And that's a very important a very important point. [09:15] When you want to extract that information, the tribal knowledge from your like senior developers, etc., and codify that, do you codify that only in agents' language? [09:28] Which is very maybe verbose and structured, or you want to codify that in a wiki style get started and all that what developers love love doing. [09:38] And the answer is that you probably need to build your context lake, your context engine, as I mentioned, that's the the the the real like gold mine here to to get the code review [09:49] like auto automated. [09:51] You have to have it fitting for both. [09:54] So, what you're seeing here, for example, is that Codo as an example, but you can use other tools, help you collect all the rules and standards that your team [10:06] own, that your team is using day-to-day. [10:10] And then, it will provide that information during the review for humans. [10:16] Hey, notice that Codo used four rules. [10:21] Uh sorry, uh used uh uh many rules and four are violated, and that includes a link to all the rules that are were being used. [10:29] That's for human in order to trust. [10:32] Okay, in order to trust the results that coming from your code review tool, etc., you have to build that interface for for human. [10:40] You have to accumulate that knowledge and have an interface for human. [10:43] But, you also want to have an interface that is dedicated for agents. [10:48] What you're seeing here, uh for example, is a com- comment, for example, by Codo that is speaking to another agent. [10:56] Hey, dear agent, Codo just reviewed this uh PR and has found five different issues. [11:05] Codo already spend uh uh like uh some back background task and use cloud code, for example, harness in order to do fixes, and there is a closed PR, like you can see here in the top right, there is some closed PR with all the fixes, [11:20] and now, when an agent is coming to review this PR once again, then it has like a cherry-picking moment uh with everything that all the code that is actually is passing your rules, [11:33] your standard, uh and everything that we're like more architectural decision that we're going to talk about. [11:39] So, what what I said so far is that just to to like recap so far, if you want to trust and you want to get to a point where you're trusting the code that's being shipped, [11:52] you need to have the right context that is being gathered and being used during the code review process. [11:59] Then, you will see that this code review process have links and information for human and have links and information for for agents, okay? [12:09] And when that is in place, you will see that developers are writing less and less comments in the pull request. [12:17] And then after 100 of these pull requests, there's human no more human review, you know that you're ready for for automation. [12:24] Okay? [12:25] Now, back to back to the context. [12:28] So far, I talked about relatively simple context. [12:31] I talked about uh rules and standards and skills, but actual the human knowledge that the tribal knowledge in your organization sits in understanding the system architecture. [12:43] What are the P0s, the the bugs that actually made an outage outage for for you, unfortunately, in the last like 3 months or so? [12:50] When a microservice uh one changed its contract and broke a microservice two, right? [12:57] That is does not exist in most code review and and like if you try to build yourself, it's really hard to build, but it is available in some of the those code review uh solution that is dedicated for that. [13:09] For example, what you're seeing here is the graph being built for a certain microservice and all the repos and and their connection. [13:17] And and each node and edge, there is what is the con- if it's an edge, what is the contract between two uh piece of your software, but also links to history [13:28] of discussions between developers that they had when they fixed an issue because a root cause analysis and now you need to codify that. [13:36] Okay? [13:38] And when you get to to that level of a context engine, now you're ready to start approving and blocking PRs automatically. [13:49] And you want to do that not just by letting AI some like choose by yourself, rather giving some semantic rules that that for example, when you when do you guys approve or or or block [14:05] a PR? [14:06] And that knowledge also needs to be accumulated as part of your your context. [14:11] What I'm actually saying is that software development, at least code governance, is going to change from reviewing your pull request to actually reviewing your entire software development from a graph [14:26] abstraction, where you're seeing your PRs as bubbles with all the issues that might happen even with three different PRs are in on the fly, when they which which contract they might bridge [14:40] they they might ruin. [14:43] Okay? [14:44] And that's how the software development future is going to look like. [14:50] What you need to do in order to get there is to codify your standards. [14:54] It needs to be built in a way that humans can trust and audit and control. [15:01] You need to build real-time self-learning context, learning from PR history, learning from accepted and unaccepted learning from discussions between between developers, learning between learning like from those cases that broke your production. [15:18] And that context needs to be not just like thrown into files. [15:22] It needs to to to to sit and locate it in a place that agent understand where is that context fitting. [15:30] And then you need the governance infrastructure that gives you that visibility of what's happening. [15:35] Rather the graph I presented, but there's more to that. [15:39] Okay, I'm going to show you very soon another visualization that helps you understand the overall status of your PRs and software. [15:47] If you're already shipping AI-generated code faster than your human can review, I'm actually saying that you are in the problem. [15:56] You're not like ahead of the problem. [15:58] You you if you put the infrastructure, if you gather the context, if you start accumulating how code review can be automated for you, then that's where you're going to get the 10x [16:09] velocity that you're being promising your CEO or yourself or your or your developers, because otherwise it's a bottleneck. [16:16] You need to own your rules and standards and codify them and get analytics and statistics about each one of them. [16:23] How many times they're being caught, which rules and standards and skill is actually being used during the review process, and it is useful or not, or does it need to get an update. [16:33] You need to have visual full visualization of your software graph. [16:38] What is the connection? [16:38] What are the contracts? [16:40] What is working? [16:40] What is not working? [16:41] What are two PRs are going to crash very soon because they're touching the same agent and they don't and they don't know. [16:47] And you need to start learning how to auto approve and auto block. [16:53] That won't happen in like immediately. [16:55] That needs to gradually being automated for you step by step by adding more rules for blocking and more rules for for for approving over time. [17:11] So, trustworthy automated review, your rules, your standards, in your software graph placed in the right edge and the right node of your software. [17:23] Learning from the tribal knowledge of discussions, of history of your software, and codifying that. [17:30] There's so much tribal knowledge what to do and not to do, and that needs to be codified as well, both for the agents and for the humans. [17:38] And basically, you need to accumulate that experience and codify that. [17:44] And sorry for the buzz or whatever you want to call it, that's moving from artificial intelligence to artificial wisdom. [17:51] Because right now, you know better than I that your developer holds the judgement of what's bad and what's good. [17:59] It's not your your software not your AI tools. [18:02] If you want to get to a point where judgement is moving to your AI tools, that's AI wisdom where that experience need to be codified in the right way, the right place for agents and humans. [18:16] And that's where we are here, Codota, to help you. [18:19] And our vision and mission is not far away from now. [18:24] We want to reach in 2027 to a place where you have zero outages, zero bugs in production, at least the critical and the high ones. [18:33] That's why we're here. [18:34] Thank you so much for having me.