What are you cooking?

I’m personally not fan of those pure agentic framework like Claude Code or Codex, and use mostly AI assistance in IDE (Cline before, now Zed agent).

I prefer to review the code written by the AI, here is why:

An AI assistant is optimized to satisfy the given request. But the real input from a software engineer is not it’s capacity to assist by writing code or assessing the current situation, but should be seen as an arbiter.
An arbiter is optimized to satisfy the system, over time, against the request.

Those are different objectives, and the models are trained on the first.

You see it in the planning output. Ask for something robust and you get generality you did not need:

  • Abstractions with a single implementer
  • Configuration for options nobody will ever set

Every one of those choices can make sense locally, but broadly they produce a codebase nobody can hold in their head.

We say in French that “the best is the enemy of the good”.
The assistant will happily offer you the best option in planning mode.
A pure vibe coder will take it, and cripples its project.
Even if the AI assistant write perfectly functional code, you eventually scratch your head because you avoided trade-offs you should not have avoided.

The cost never shows up in a single decision, which is exactly why AI cannot catch it one decision at a time.

The other issue I can see is feature creep; using AI to build more than what it is needed at any given project time.