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.
Hope this helps.