← All articles

Why AI Agents Need a Draft Layer

Agents can create business data faster than people can review it. A draft layer turns that speed into a safe, useful product.

Ibrahim Sajid5 min read
Hand-drawn illustration of an AI agent creating draft cards for a person to review before publishing

I work with AI agent integrations most days. We connect agents through frameworks such as Mastra, direct LLM integrations, and tool APIs. Once connected, an agent can read the same business data a person uses and act on it much faster.

A person might spend a day preparing a large set of CRM posts. An agent can prepare the batch in minutes. That speed is useful, but it is easy to confuse generated work with finished work.

An agent can misunderstand the task, delete the wrong content, or create a large amount of low-quality material before a person has time to react. I care less about whether an agent can complete an action than whether a person can verify the result before it becomes real.

For many business applications, that requires a draft layer.

Code agents already have one

Tools such as Cursor and Claude Code write directly into a codebase. When I use them, I can still inspect a diff, run tests, revert a change, or review a pull request.

That is already a draft system. The generated work stays visible and reversible before it reaches production.

Business applications often give agents APIs that write directly to live records. There is no equivalent of a diff or pull request. The agent moves faster, but the user loses the review boundary.

A draft layer creates a simple loop: the agent generates, the system validates, and the person approves.

Andrej Karpathy described a related direction in Software Is Changing (Again): partially autonomous products need custom interfaces that make human verification fast.

This is the part I think many agent products are missing. API access lets an agent do more work. A well-designed GUI lets the customer understand and control that work. Companies that solve both sides can turn agent speed into real customer value.

Drafts are an architecture decision

Adding a draft status is easy. Building a useful draft-driven system is not. Three parts of the product have to support it.

1. The interface

Users need to understand what the agent changed, review many items together, edit exceptions, and approve or reject work without opening records one at a time.

If an agent creates 100 items and the interface requires 100 separate detail pages, the agent saved generation time but moved the cost into review.

Bulk actions, clear status filters, change summaries, and inline editing matter more than an impressive agent animation. For some products, a detail drawer works better than a separate page because users can inspect an item without losing the batch they are reviewing.

2. The data model

Drafts become expensive when one published record owns a large, tightly coupled graph of data.

Keep reusable core data centralized and reference it from the workflow record. Consider a CRM ad:

The ad configuration can be reviewed and reused while the CRM ad carries workflow concerns such as campaign, owner, and status. A draft can point to the same stable concepts instead of copying a web of related tables.

This is not a rule that every product needs one generic content table. It is a reason to separate reusable content from publication state. If each published row has twenty required relationships and every relationship must be duplicated for a draft, draft support will become fragile.

3. The customer

Not every customer wants an agent in the critical path. Some will trust suggestions but not autonomous changes. Others will see mandatory approval as friction.

The level of autonomy should match the task and the customer:

  • Suggest only
  • Create drafts
  • Publish after validation
  • Publish automatically within explicit limits

Do not build autonomy because the technology makes it possible. Build the review boundary customers need for the risk they are accepting.

Preventing AI slop

A draft table does not prevent low-quality output by itself. It can become a waiting room full of content nobody wants to review.

The system also needs:

  • constraints before generation
  • deterministic validation where possible
  • duplicate detection
  • limits on batch size and permissions
  • a clear summary of what changed
  • rejection feedback that improves the next attempt
  • audit logs for who generated, edited, approved, and published each item

The goal is not to make bad content easier to store. It is to make good work faster to verify and bad work cheap to reject.

The practical test

Before giving an agent write access, I would ask four questions:

  1. Can the agent write to a reversible state?
  2. Can the user review its work at the same scale the agent creates it?
  3. Does the data model separate content from publication workflow?
  4. Do customers actually want this level of autonomy?

If any answer is no, I would fix that boundary before giving the agent more freedom.

My main point is simple: agent capability is incomplete without a review interface. Agents need structured data so they can work quickly. People need a GUI that helps them review work at the same scale. The draft layer connects those two needs.