Agents & Coding

AI Code Outpaces Engineers' Ability to Review It

AI-written code shifts effort from writing to testing and review, but tests can miss unintended behavior and review capacity becomes the bottleneck.

81 points134 comments

This is an HN post. The discussion is summarized below.

Discussion analysis

Testing shifts effort rather than removing it

AI-written code moves work from writing to verification. A self-reported workflow tests more with an LLM than with hand-written code and finds implementation errors rather than syntax errors. The open question is what the design loop gains if verification consumes the saved time.

Tests may miss exfiltration and destructive code

Even a test suite that covers every behavior and code path may not intercept unintended behavior, such as an unexpected internet connection, uploading client data to a public repository, or deleting user folders when storage runs out. Human-written code makes such anomalies easier to spot; LLM completions can blend them into plausible project code. Predictions of epic CVEs draw a rebuttal that human-written code already produces many CVEs, shifting the question to professional accountability and regulation.

Test volume can worsen code review

Adding large AI-generated test suites to compensate for opaque code increases the number of lines reviewers must inspect. A 50-line AI bug fix can arrive with 200 lines of tests, making review harder rather than easier. One counterargument is that automated tests can be reviewed at a lower bar than production code, so attention can stay on core implementation.

Human-designed abstractions keep AI code legible

Letting an LLM implement a human-designed abstraction hierarchy keeps responsibility and interaction boundaries known even if individual units are opaque. LLMs are described as poor at producing maintainable abstractions, so upfront UML-level design reduces refactoring and token use. The tradeoff is a few hours of planning and the risk that a suboptimal unit remains until replaced.

AI coding recasts developers as spec managers

One framing treats the developer as a project manager who specifies behavior and checks delivery rather than understanding every line. The open question is who then understands the code and how much understanding is enough if the specification and tests pass. This shifts accountability without resolving it.

Review overload erodes quality and morale

Teams facing thousands of new or changed lines per week may approve pull requests without meaningful review, eroding quality. The same pressure is linked to declining morale, a rough job market in Northern Europe, and thoughts of leaving the profession. This connects review overload to morale and retention.