Letting AI write the first draft of your code without letting it own the codebase

AI assistants are excellent at generating a first draft of code you'd otherwise write from scratch — a CRUD endpoint, a test file, a migration. They are much worse at knowing when that draft is actually good enough to ship. The rule that keeps AI-generated code from quietly degrading a codebase is simple: AI can propose, but a human decides what merges.

What is AI actually good at in coding?

AI models are pattern-completion engines, at their best filling in code whose shape you've already decided — a function whose signature you wrote, a test whose scenario you described. They are worst at questions with no single right answer: should this be two services or one, does this endpoint need pagination now or later, is this abstraction premature. Handing those decisions to an AI produces code that compiles and passes a rushed review, then costs a rewrite in six months.

How do you review AI-generated code without letting quality drift?

Treat AI-generated code exactly like a pull request from a fast, inexperienced contributor: read every line before merging, not just the diff summary. Ask the two questions a senior reviewer would ask — does this match how the rest of the codebase does things, and would I have written it this way. If the answer to either is "I don't know," that's a signal to slow down, not a nitpick to skip.

Where does AI silently end up owning too much of the codebase?

The failure mode isn't one bad AI-written function — it's a codebase where nobody remembers which parts were reviewed carefully and which were rubber-stamped because the tests passed. Keep AI-assisted commits identifiable (a commit message convention, a PR label) for the first few months of adopting a tool, so if something breaks, you know where to look first.

Questions

Should AI decide what code gets merged?

No. AI can propose a first draft, but a human should always decide what actually merges — treat AI output like a pull request from a fast, inexperienced contributor.

What is AI actually good at in coding?

Filling in code whose shape you've already decided — a function whose signature you wrote, or a test whose scenario you described. It's worse at open-ended architecture decisions with no single right answer.

Letting AI write the first draft of your code without letting it own the codebase | getAngad()