[KongchangAI]
· 3 min read· 1,563 words

After AI Coding Agents Write the Code, Who Verifies and Takes Responsibility?

After AI Coding Agents Write the Code, Who Verifies and Takes Responsibility?

AI coding agents accelerate code generation, but verification, permission control, and recovery accountability are key to safe deployment.

AI coding agents can quickly generate code drafts and eliminate tedious labor, but a draft is only the starting point of the engineering process, not evidence that the system is ready. Using a payment service thought experiment, the article shows that all-green testing only means the checks you ran passed; boundary behaviors such as duplicate requests, timeouts, and missing permissions still require dedicated verification. METR research found that experienced developers spent about 19% more time using early tools, but subsequent data are affected by selection bias and are not suitable for measuring current effects; DORA points out that time saved in generation is often consumed downstream by review and verification. Therefore, least-privilege permissions, canary releases, and independent recovery plans should be built-in system controls. Ultimately, the real advantage is not writing faster but building systems that can still be understood, questioned, and controlled.

After AI Coding Agents Write the Code, Who Verifies and Takes Responsibility?

The code is written, all tests are green—so why are you still afraid to press the deploy button? Because generating software and trusting software are two entirely different things. AI coding agents are changing the former at an astonishing pace, while the latter—and the question of who is accountable when systems fail—is the truly thorny problem.

This article is based on an in-depth technical analysis video and draws on public research from Anthropic, DORA, METR, and other organizations to break down the capability boundaries, verification blind spots, and safe deployment paths of AI Coding Agents in real engineering environments.

1. What Agents Can and Cannot Do

Given a task, tools, and access permissions, an AI coding agent can inspect files, propose changes, run commands, and retry based on feedback. This genuinely eliminates a great deal of tedious labor and lets first drafts appear at remarkable speed.

But a fast draft is the starting point of the engineering process, not evidence that the system is ready. A mature codebase is far more than the text on screen: there are legacy data formats, service dependencies, security rules, and historical decisions that may never have been written down. A small change can cross multiple boundaries at once.

Rewriting a component is a task; preserving everything that depends on it is a much larger task

Rewriting a component is one task; preserving everything that depends on it is another, much larger task. This is exactly why the environment in which an agent operates matters so much.

2. Anthropic's Practice: A Success Claim Is Not True Completion

According to Anthropic's public descriptions, its long-horizon coding system employs mechanisms such as progress records, small incremental steps, and end-to-end testing. In its examples, the agent sometimes declared success before the work was truly complete; richer feedback helped surface problems that could not be found by looking at the code alone.

It is important to be clear that this constitutes engineering evidence provided by the vendor, not a guarantee for every project. What it shows is that agents need to be designed as systems that "accept scrutiny," not systems that "self-certify."

3. What Does All-Green Testing Mean? A Thought Experiment on a Payment Service

Imagine a payment service: a request succeeds, but the confirmation receipt is lost, and the caller retries. Can the system recognize that this is the same request, or will it execute it twice? A test that sends only a single successful request cannot answer this question.

All-green testing only means the checks you ran passed; it does not mean all important behaviors have been checked.

Broaden the test surface: duplicate requests, timeouts, connection interruptions, unauthorized users. Check both what the system "should do" and what the system "must never do." AI can also help generate these test cases, but the critical step is selecting meaningful evidence rather than accepting a pile of reassuring output.

Don't accept a large amount of reassuring output—even productivity needs to be measured

Idempotency is the key concept for understanding this payment service thought experiment. It means that executing the same operation once and executing it multiple times produces the same effect on system state. In a payment scenario, when the caller retries because a receipt was lost, the system must be able to recognize that this is the same request rather than treating it as a new one and charging twice. Common implementations include the client generating a unique idempotency key, the server recording the processing result for that key, and duplicate requests directly returning the first result. Idempotency is one of the most easily overlooked defects in distributed systems and one of the most likely to surface during failures, because it often only manifests on exceptional paths such as network timeouts, retries, and duplicate message delivery—paths that normal single-success-request tests completely fail to cover.

4. Productivity Data: Don't Treat Headlines as Laws

Even productivity itself needs to be measured. According to METR's research on early tools, experienced open-source developers actually spent about 19% more time on specific tasks—though this is not a verdict on all programming scenarios. A subsequent update noted that the later results were affected by selection bias and are not reliable for measuring current effects.

Tools change, tasks change, and a dramatic headline is not a permanent law. DORA's research describes another phenomenon: time saved in the generation phase is often eaten up downstream by review and verification.

Productivity data chart

When writing gets faster, the bottleneck shifts downstream. If teams fixate only on "generation speed," they can easily overlook the review queue piling up.

Selection bias is a methodological concept that needs to be understood when interpreting the METR study. It refers to the fact that research subjects are not randomly sampled but are subject to some systematic filtering, causing the sample to not represent the population. In productivity research on AI coding tools, the developers willing to participate in experiments, the types of tasks selected, and which data are included in the final analysis can all introduce bias. For example, early adopters may themselves be more open to new tools, or experimental tasks may skew toward domains they are unfamiliar with, thereby amplifying the effect of increased time spent. This is also why METR's subsequent update acknowledged that the later results were affected by selection bias and should not be used to measure current effects—a study's conclusions have specific sample and task boundaries and cannot simply be extrapolated into a universal law that "AI coding makes everyone slower" or "faster."

5. Permissions, Deployment, and Recovery: Build Controls into the System

An agent's risk exposure depends on the permissions it is granted. Narrow workspaces, restricted credentials, and independent deployment decisions can keep errors within a controllable scope. These controls are part of the system, not a nuisance outside it.

More critical is the part a demo cannot show—real operation. A cautious canary release can first route a small portion of traffic, monitor results, and immediately pause expansion when anomalies are found. The specific design varies by service; the key point is establishing a learning mechanism before an error affects everyone.

Recovery requires an independent plan. Rolling back a software version may not reverse changes already written to data or external systems. Preserve the information needed to understand an incident, and test the recovery path before you truly depend on it.

Logs, reproducible failures, clear ownership, and retained expertise make these questions answerable

When an alert arrives, a fluent explanation is not a diagnosis. Which change reached production? Which request failed? Which assumption was wrong? Only logs, reproducible failures, clear ownership, and retained expertise can make these questions answerable. Automating the typing does not make this knowledge unnecessary.

Canary release is a progressive deployment strategy: first open the new version to a small portion of traffic or users, observe key metrics such as error rate and latency, and then gradually expand the scope once no anomalies are confirmed. Its core value is limiting the blast radius of a failure to a controllable range rather than pushing it to all users at once. Canary releases are typically paired with automated health checks and fast rollback mechanisms. But the article specifically cautions that rolling back a software version may not reverse side effects already written to databases or external systems, so canary release only addresses risk propagation at the "code level"; data-level recovery still requires independent design. Understanding this is essential to seeing why deployment controls and recovery plans must be built-in system capabilities rather than processes patched together before launch.

6. Will AI Replace Software Engineers?

Technology alone cannot tell us how many jobs there will be or what compensation will look like. Companies will reorganize, demands will change, and new responsibilities will emerge. The pragmatic attitude is: learn to use these tools while strengthening the judgment needed to challenge their output. Neither a senior title nor an impressive demo is a lifetime guarantee.

Returning to the moment when all tests are green, the real question is not "Can AI write this code?" but: What evidence shows that it works? What limits its permissions? When it fails, how do we recover?

AI may make software faster to build. The real advantage is building systems that you can still understand, question, and control.

One-line Summary

AI coding agents can accelerate code generation, but verification, permission control, and recovery accountability are the keys to safe deployment.

Paragraph Summary

AI coding agents can rapidly generate code drafts and eliminate tedious labor, but a draft is only the starting point of the engineering process—not evidence that the system is ready. Using a payment service thought experiment, the article shows that all-green testing only means the checks you ran passed; boundary behaviors such as duplicate requests, timeouts, and missing permissions still require dedicated verification. METR research found that experienced developers spent about 19% more time using early tools, but subsequent data are affected by selection bias and are not suitable for measuring current effects; DORA points out that time saved in generation is often consumed downstream by review and verification. Therefore, least-privilege permissions, canary releases, and independent recovery plans should be built-in system controls. Ultimately, the real advantage is not writing faster but building systems that can still be understood, questioned, and controlled.

#AI coding agents#code verification#test coverage#idempotency#canary release#permission control#incident recovery#METR study#DORA research#Anthropic
Share:

Related articles