If you are letting AI agents write large chunks of your codebase, here is something I would recommend - decide your tradeoff per file, not as a blanket policy.

You cannot get both. Ship faster with AI-generated code, and deeply understand the codebase you are shipping. Trying to have both everywhere just means you get neither properly.

I recommend - sort modules within a codebase into two buckets before you hand anything to an agent.

Bucket one is code where being fast matters more than knowing every line. Think one-off scripts, internal tooling, throwaway prototypes. Let the agent own these fully. Do not waste your “attention” re-deriving understanding you will never need again.

Bucket two is code where a failure is expensive or hard to reverse. Think auth, payments, anything touching data integrity. For this bucket, treat the agent’s output as a first draft. Read the diff line by line, trace how it touches the rest of the system, and make the agent explain its own reasoning before you merge.

If you pick one side for everything, you are smart enough to figure out what you would be losing out on. I would not repeat and restate the obvious :)

So spend the time you saved on shipping fast by reading deeply, but only where it counts. That is the whole tradeoff.

Arpit Bhayani

Principal Engineer II at Razorpay - building Agent Studio, Ex-staff engg at GCP Memorystore & Dataproc, Creator of DiceDB, ex-Amazon Fast Data, ex-Director of Engg. SRE and Data Engineering at Unacademy. I spark engineering curiosity through my no-fluff engineering videos on YouTube and my courses