{"slug": "when-i-reject-ai-code-even-if-it-works", "title": "When I reject AI code even if it works", "summary": "A senior engineer rejects AI-generated code even when it works, citing cognitive overload and the need for human understanding. The author argues that code passing tests can still be a bad solution, and that AI agents require skilled engineers to guide them toward sustainable outcomes.", "body_md": "# When I reject AI code even if it works\n\nWith implementation getting faster and faster, the real bottleneck moves to\nreviewing the volume of code generated by AI. I’m not even talking about\nyour coworkers’ (and their agents’) PRs, but your own `git diff`\n\nafter your\ncoding agent has finished its job.\n\nEven when I follow good practices – like starting with the plan mode, dividing\nbig tasks into phases, and [shipping small changes](/how-ai-is-changing-my-job-tracer-bullets/) – I still feel cognitive\noverload when reviewing something I haven’t actually thought through myself.\n\nBefore 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.\n\nI have to admit that with AI, completing big tasks still takes me days. More\noften than not, I reject all changes made by AI and start over. The\ndifference between the first session and the second is not the LLM model, but\nthe person behind the screen. With more time to consolidate [the problem I’m\ntrying to solve](/on-asking-why/), I can drive the agent to a better solution instead\nof being driven by it.\n\nMore and more, I reject AI code for the same reasons:\n\n- I reject AI code when I can’t explain the approach in my own words.\n- I reject AI code when the diff is bigger than the problem.\n- I reject AI code when it introduces abstractions before proving they’re needed.\n- I reject AI code when it works locally but makes the system harder to reason about.\n- I reject AI code when I’m trusting the output more than my understanding.\n\nIt’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.\n\nI’ve been using coding agents for some time, and despite how\nimpressive they are, they still need a great engineer guiding them to great\nsolutions. Yes, coding agents can help you with this task with more than just\nwriting code, but that doesn’t mean they can do it autonomously in a\nsustainable manner *yet*.", "url": "https://wpnews.pro/news/when-i-reject-ai-code-even-if-it-works", "canonical_source": "https://vinibrasil.com/when-i-reject-ai-code-even-if-it-works/", "published_at": "2026-06-21 00:58:13+00:00", "updated_at": "2026-06-21 01:06:57.618371+00:00", "lang": "en", "topics": ["ai-tools", "ai-agents", "developer-tools"], "entities": [], "alternates": {"html": "https://wpnews.pro/news/when-i-reject-ai-code-even-if-it-works", "markdown": "https://wpnews.pro/news/when-i-reject-ai-code-even-if-it-works.md", "text": "https://wpnews.pro/news/when-i-reject-ai-code-even-if-it-works.txt", "jsonld": "https://wpnews.pro/news/when-i-reject-ai-code-even-if-it-works.jsonld"}}