The New Bottleneck in Agentic Development
Coding agents have made implementation cheap. A single engineer can now produce pull requests at a pace that would have required an entire team a few years ago. But that speed comes with a hidden cost: agents generate code that looks flawless while remaining blind to the realities of production infrastructure.
An agent doesn't know your Redis instance is near capacity, that your database is pinned to a specific region, or how a feature flag rollout will change load profiles downstream. It produces polished PR descriptions, passes static analysis, follows repository conventions, and writes reasonable tests. None of that proves the change is safe to ship at scale.
The gap between "this PR looks correct" and "this PR is safe to ship" has always existed. Agents widen it significantly by producing code that looks more convincing than ever while carrying the same hidden assumptions. Green CI in an agentic workflow is less a proof of safety than a reflection of the agent's ability to persuade your pipeline that nothing will break.
Leveraging vs. Relying
The distinction between leveraging AI and relying on it comes down to ownership. Relying on AI means assuming that if the agent wrote it and tests pass, it's ready to go. The author never builds a mental model of the change. The result is massive PRs stuffed with unchecked assumptions that neither the author nor the reviewer fully understands.
Leveraging AI means using agents to iterate quickly while keeping full ownership of the output. You understand how the code behaves under load. You know the associated risks. You can explain the impact on production without re-reading your own PR to figure it out.
Putting your name on a pull request should mean "I have read this and understand what it does." The simplest test: would you be comfortable owning a production incident tied to this PR? If the answer is no, the engineering process has failed somewhere.
Making Safety the Default
Stopping agent usage isn't the answer. Model capabilities will only improve, and AI-assisted code review catches real bugs that humans miss. The problem is volume: review, whether human or synthetic, can't keep pace with the sheer amount of agent-generated code. Judgment of what's safe to ship has become the scarce resource, not code authorship.
The solution isn't adding red tape to the development lifecycle. It's building a closed-loop system where agents can operate with high autonomy because the environment is standardized, verification is cheap, and deployment is safe by default. The organizing principle: make the right thing easy to do.
- Self-driving deployments. Every change rolls out through gated pipelines. If a canary degrades, the rollout stops and rolls back automatically—no engineer watching a dashboard. Problems get contained to a fraction of traffic instead of becoming global incidents.
- Continuous validation. Load tests, chaos experiments, and disaster recovery drills run continuously, not just at deploy time. Systems that hold up under pressure are the ones that have been deliberately stressed in advance.
- Executable guardrails. Operational knowledge encoded as runnable tools instead of documentation. A
safe-rolloutskill isn't a wiki page explaining feature flags—it's a tool that wires the flag, generates a rollout plan with rollback conditions, and specifies verification steps. When guardrails are executable, agents follow them without human supervision.
The endgame isn't engineers applying extraordinary rigor to every change. It's infrastructure that contains blast radius, validates continuously, degrades gracefully, and treats best practices as executable defaults.
Investing in Guardrails
At Vercel, the core platform team is building these guardrails into shared infrastructure:
- Runtime validation at every stage of the deployment pipeline for shared infrastructure
- Stricter static checks at PR time, especially around feature flags
- Production-mirroring end-to-end tests in staging
- Read-only agents that continuously verify system invariants in production, auditing the assumptions made by generative agents
- Metrics like defect-commit vs. defect-escape ratios to surface when risk is trending upward
Low-quality code used to look like low-quality code. That's no longer true. Diffs will get larger, code will get more convincing, and the temptation to trust output blindly will only grow. The engineers who succeed won't be the ones generating the most code—they'll be the ones maintaining ruthless judgment over what they ship.
Before opening your next PR, ask: What does this actually do once rolled out? How could it adversely impact production or customers? Am I comfortable owning an incident tied to this code? If yes, you're leveraging AI. Ship it. If no, you have more work to do.



