# 即使AI生成的代码能正常运行，我也会拒绝它

- 来源：Hacker News 热门（buzzing.cc 中文翻译）
- 作者：vnbrs
- 发布时间：2026-06-21 13:01
- AIHOT 分数：53
- AIHOT 链接：https://aihot.virxact.com/items/cmqnbp7zh02uksl8hgy6q5qxq
- 原文链接：https://vinibrasil.com/when-i-reject-ai-code-even-if-it-works

## AI 摘要

随着实现速度加快，审查AI生成代码成为新瓶颈。作者发现，即便遵循分阶段、小变更等良好实践，审查自己未亲手思考过的代码仍带来认知过载。他经常拒绝AI编码助手生成的全部代码并从头重写，理由包括：无法用自己的话解释其思路、diff大于问题本身、在未证明必要性前就引入抽象、本地能运行但让系统更难推理、信任输出超过理解。作者主张必须人工审查与AI审查结合，强调AI仍需优秀工程师引导才能产出可持续的解决方案。

## 正文

With implementation getting faster and faster, the real bottleneck moves to reviewing the volume of code generated by AI. I’m not even talking about your coworkers’ (and their agents’) PRs, but your own git diff after your coding agent has finished its job.

Even when I follow good practices – like starting with the plan mode, dividing big tasks into phases, and shipping small changes – I still feel cognitive overload when reviewing something I haven’t actually thought through myself.

GENERATED BETTER FIT

Before coding agents, when given a task, I would explore the codebase, think of different solutions, experiment, and only then implement. That could take days of consolidating all that context. When I finally submitted that PR, confidence was higher, and explaining each of my changes to my coworkers was easier.

I have to admit that with AI, completing big tasks still takes me days. More often than not, I reject all changes made by AI and start over. The difference between the first session and the second is not the LLM model, but the person behind the screen. With more time to consolidate the problem I’m trying to solve, I can drive the agent to a better solution instead of being driven by it.

FIG. Can you trust the diff?

More and more, I reject AI code for the same reasons:

I reject AI code when I can’t explain the approach in my own words.

I reject AI code when the diff is bigger than the problem.

I reject AI code when it introduces abstractions before proving they’re needed.

I reject AI code when it works locally but makes the system harder to reason about.

I reject AI code when I’m trusting the output more than my understanding.

It’s not uncommon to see engineers accept AI-generated changes too quickly, and that is why I advocate for required human review in conjunction with AI reviews. The reality is that code that runs and makes the CI green can still be a bad solution, and engineering has always been about implementing adequate, scalable, and extensible solutions.

I’ve been using coding agents for some time, and despite how impressive they are, they still need a great engineer guiding them to great solutions. Yes, coding agents can help you with this task with more than just writing code, but that doesn’t mean they can do it autonomously in a sustainable manner yet.
