The Last Human Code Review: Building Trust in AI-Generated Code — Itamar Friedman, Qodo
AI Engineer · 18 min · 175 sentences · from YouTube's caption track
Each timecode opens YouTube at the start of that sentence. Line anchors (#s42) are the cue ids in the WebVTT, and every line carries its start and end seconds. All transcripts has every talk, and the whole corpus as one file.
- 00:12Are you all set up with your AI factory?
- 00:15Everything is smooth.
- 00:17As you're sitting here, your code is being deployed, errors growing, right?
- 00:22If it's like that, raise your hand.
- 00:24No?
- 00:25Oh, okay.
- 00:25Two people, great.
- 00:27Um 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:41Is that your biggest thing to tackle if if you are tackling that right now?
- 00:47Okay, so you're in the right place.
- 00:48And 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:03Okay, so you're you're in the right place.
- 01:05So, I'm Adam Ouriel Friedman, the CEO and co-founder of Codo.
- 01:08Um I don't share it too much, but Codo stands for quality of development optimization.
- 01:14Our 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:31from a model.
- 01:32It 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:40Uh 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:47Okay?
- 01:48And um can you switch instead of seeing myself seeing the presentation here?
- 01:53Thank you.
- 01:54Um so, I I think like first of all, we need to agree on why do we have code review at all?
- 02:02So, I think basically these are two buckets that we should agree on, and I think I think it's quite common.
- 02:08One 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:21Right?
- 02:21Like 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:33right?
- 02:34So, 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:42And 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:51If 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:04Uh so, we're here to ask yes, no, is human code review still optional end of 2026?
- 03:13Uh is it becoming optional or is it still mandatory?
- 03:16Okay, that's that's what we're here to answer.
- 03:19Do 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:29by our developers, raise your hand?
- 03:31Or do you think Do you think by end of this year your developers are still going to review diff by diff?
- 03:38Okay.
- 03:39So, try to think why why is that happening?
- 03:41Now, 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:52And what I can tell you is that I saw two very different groups of school of thoughts, okay?
- 04:02They both agree that bugs are coming in different shapes.
- 04:08For some, this is fine.
- 04:10And we're just going to fix that quickly after it hits the production and for some not.
- 04:15So so actually we do see two teams.
- 04:18Those that are thinking about the room is split into two.
- 04:21Those 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:31Or 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:47Velocity is more important than getting getting things right.
- 04:51And I think like you need to think like where do you sit?
- 04:55Of 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:05milestones 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:16So let's start talking about what is the process?
- 05:20How do we need to start thinking about it?
- 05:21So I claim that models are not not a barrier anymore.
- 05:26Like 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:35Basically, 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:47throughout the latest model.
- 05:49The The key here is actually context.
- 05:53Okay?
- 05:53Like 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:07for a certain change in the code?
- 06:09Otherwise, 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:16Some 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:23By the way, error handling could be like a really good thing to handle.
- 06:27Depends.
- 06:28In some cases it's critical, in some cases are not.
- 06:31And again, the context is what what matters.
- 06:34Right now, our context is like spread all across.
- 06:39Like we have agents.mds, cloud.mds, skills.mds.
- 06:42And 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:52Even within a certain team, you might be using that that differently.
- 06:56And 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:07The other might be using something else.
- 07:09And all of that does not bring you the trust and consistency that you're looking uh towards.
- 07:15Um 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:27I 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:37So, how do you control all that?
- 07:39Like that's that's missing uh like in right now like in our in our tools in our infrastructure.
- 07:46And let alone if you add those MCPs and and and rag like style context.
- 07:54I don't know if you have like great visibility.
- 07:57There are ways to tackle that.
- 07:59There's great talks out there.
- 08:00Check 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:09We're missing like a governance layer for us to move to the next level.
- 08:15Okay, like where we can actually trust the code without human reviewing it.
- 08:19So, where where is that context?
- 08:21Where is that context?
- 08:22Basically, I would say experience, tribal knowledge, wisdom of your developers is a lot in their heads.
- 08:31They are in some documents.
- 08:33There are documents, infrastructure documents, but a lot By the way, a lot of them is our slacks or or teams or or so.
- 08:42The data is there, but a lot of the information are are in your developer heads.
- 08:47And we need like to to codify them.
- 08:50Now, 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:05for agents an interface for humans to collaborate each other on that on that knowledge.
- 09:11And that's a very important a very important point.
- 09:15When 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:28Which 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:38And 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:49like auto automated.
- 09:51You have to have it fitting for both.
- 09:54So, 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:06own, that your team is using day-to-day.
- 10:10And then, it will provide that information during the review for humans.
- 10:16Hey, notice that Codo used four rules.
- 10:21Uh 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:29That's for human in order to trust.
- 10:32Okay, in order to trust the results that coming from your code review tool, etc., you have to build that interface for for human.
- 10:40You have to accumulate that knowledge and have an interface for human.
- 10:43But, you also want to have an interface that is dedicated for agents.
- 10:48What you're seeing here, uh for example, is a com- comment, for example, by Codo that is speaking to another agent.
- 10:56Hey, dear agent, Codo just reviewed this uh PR and has found five different issues.
- 11:05Codo 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:20and 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:33your standard, uh and everything that we're like more architectural decision that we're going to talk about.
- 11:39So, 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:52you need to have the right context that is being gathered and being used during the code review process.
- 11:59Then, you will see that this code review process have links and information for human and have links and information for for agents, okay?
- 12:09And when that is in place, you will see that developers are writing less and less comments in the pull request.
- 12:17And then after 100 of these pull requests, there's human no more human review, you know that you're ready for for automation.
- 12:24Okay?
- 12:25Now, back to back to the context.
- 12:28So far, I talked about relatively simple context.
- 12:31I 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:43What 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:50When a microservice uh one changed its contract and broke a microservice two, right?
- 12:57That 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:09For example, what you're seeing here is the graph being built for a certain microservice and all the repos and and their connection.
- 13:17And 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:28of discussions between developers that they had when they fixed an issue because a root cause analysis and now you need to codify that.
- 13:36Okay?
- 13:38And when you get to to that level of a context engine, now you're ready to start approving and blocking PRs automatically.
- 13:49And 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:05a PR?
- 14:06And that knowledge also needs to be accumulated as part of your your context.
- 14:11What 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:26abstraction, 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:40they they might ruin.
- 14:43Okay?
- 14:44And that's how the software development future is going to look like.
- 14:50What you need to do in order to get there is to codify your standards.
- 14:54It needs to be built in a way that humans can trust and audit and control.
- 15:01You 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:18And that context needs to be not just like thrown into files.
- 15:22It needs to to to to sit and locate it in a place that agent understand where is that context fitting.
- 15:30And then you need the governance infrastructure that gives you that visibility of what's happening.
- 15:35Rather the graph I presented, but there's more to that.
- 15:39Okay, I'm going to show you very soon another visualization that helps you understand the overall status of your PRs and software.
- 15:47If you're already shipping AI-generated code faster than your human can review, I'm actually saying that you are in the problem.
- 15:56You're not like ahead of the problem.
- 15:58You 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:09velocity that you're being promising your CEO or yourself or your or your developers, because otherwise it's a bottleneck.
- 16:16You need to own your rules and standards and codify them and get analytics and statistics about each one of them.
- 16:23How 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:33You need to have visual full visualization of your software graph.
- 16:38What is the connection?
- 16:38What are the contracts?
- 16:40What is working?
- 16:40What is not working?
- 16:41What 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:47And you need to start learning how to auto approve and auto block.
- 16:53That won't happen in like immediately.
- 16:55That 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:11So, trustworthy automated review, your rules, your standards, in your software graph placed in the right edge and the right node of your software.
- 17:23Learning from the tribal knowledge of discussions, of history of your software, and codifying that.
- 17:30There'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:38And basically, you need to accumulate that experience and codify that.
- 17:44And sorry for the buzz or whatever you want to call it, that's moving from artificial intelligence to artificial wisdom.
- 17:51Because right now, you know better than I that your developer holds the judgement of what's bad and what's good.
- 17:59It's not your your software not your AI tools.
- 18:02If 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:16And that's where we are here, Codota, to help you.
- 18:19And our vision and mission is not far away from now.
- 18:24We 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:33That's why we're here.
- 18:34Thank you so much for having me.