Sep 10One Agent, Three Surfaces

What Is an Agent-Native Application?

An agent-native application is software designed with agents as first-class actors rather than a chat widget bolted onto an unchanged product. The agent shares the application's state, invokes the application's actions, renders interface alongside the human, meets the user on whatever surface they work in, and improves from every interaction. One application model serves two kinds of users: humans and agents.

Agent-native: the agent lives inside the application and reaches every part of it.

Most applications that added AI in the last two years added it the same way: a chat bubble in the corner of an otherwise unchanged product. Agent-native names the opposite design commitment. The term is spreading because teams keep hitting the same ceiling with the bolt-on approach, so it is worth defining precisely.

Bolt-on vs. agent-native

The bolt-on assistant fails for structural reasons, not for lack of model quality. It cannot see what the user is looking at, so every conversation starts from zero context. It cannot act on the application, so its best output is advice the user must carry out by hand. It lives in one corner of one surface, so it is absent from most of the places work actually happens. And it never improves, because nothing it observes feeds back into how it behaves. Users try it twice, get a generic answer twice, and stop opening it.

An agent-native application inverts each of those failures. The agent operates inside the application model: it reads the same state the interface renders, calls the same actions the buttons call, and shows its work in the interface itself. It is not a feature added to the product. It is a second kind of user the product was designed for.

The properties of an agent-native application

Five properties separate agent-native from bolt-on. They are cumulative: each one builds on the last.

These properties map cleanly onto the three buckets of the agentic world: the first four are agent-user connectivity, the layer the AG-UI protocol (the Agent-User Interaction protocol) standardizes, and the fifth is learning. The interface side of the same properties is what agentic UI describes.

Agent-native vs. AI-native

The two terms get used interchangeably, and they should not be. AI-native is the broad category: software built around machine learning from the start. Recommendation engines, autocomplete, semantic search, and summarization all qualify. None of them involve an autonomous actor inside the product.

Agent-native is the narrow, stronger claim: the product is designed for agents as first-class actors. An agent holds goals, takes multi-step actions, and interacts with the user while it works. That demands things AI features never needed: shared state, action access, interface generation, approval flows. Every agent-native application is AI-native. Most AI-native applications are not agent-native, and the gap between the two is where most current product work lives.

The migration path

No production application gets rewritten to become agent-native, and none needs to be. The properties above arrive incrementally, and each increment is useful on its own.

  1. Embed a copilot with read access. Start on one high-traffic screen. Give the agent the state of that screen so its answers are grounded in what the user is doing, not in documentation.
  2. Add actions. Expose a small set of real application actions to the agent, with approval steps where the action is consequential. This is the moment the assistant becomes an actor.
  3. Add generative UI. Let the agent respond with components instead of paragraphs: a filled form to confirm, a comparison table, a chart.
  4. Expand surface by surface. Carry the same agent, with the same state and actions, to the next screen, then to a canvas workspace or a chatless embedding, then out to external channels.
  5. Close the learning loop. Once real users interact with the agent in production, capture those interactions and feed them back, so the agent a customer meets in month six is better than the one that launched.

The order matters less than the direction: each step deepens the agent’s access to the application model rather than widening a disconnected chat window.

What changes for the team

Agent-native is an architectural property, but its most lasting effect is on how the team designs. Screens and clicks stop being the whole design surface. The team now also designs intent: what a user can ask for, what the agent may do on its own, and what requires approval.

Concretely, product work grows a second axis. Every feature gets specified twice: as an interface a human operates and as an action an agent invokes. Permissioning becomes a design discipline, not just a security one, because the interesting question is no longer “can this user do this” but “can this user’s agent do this without asking.” And review moments, the points where the agent pauses to show its work and get a yes, become as central to the product’s feel as its navigation. Teams that design those moments well ship agents users trust with real work. That trust, compounding through the learning loop, is the durable advantage of building agent-native.

FAQs

Do I have to rebuild my app to make it agent-native?
No. Agent-native is a destination, not a rewrite. The standard path starts with an embedded copilot that can read the state of one screen, then deepens surface by surface: add actions, then generative UI, then more surfaces, then the learning loop. Each step ships value on its own.
Is a chatbot an agent-native application?
Usually not. A chatbot that cannot see application state or call application actions is a bolt-on: it talks about the product while the user works next to it. A chat interface can be part of an agent-native application, but only when the agent behind it operates the same application model the user does.
What is the difference between AI-native and agent-native?
AI-native is the broader term: it covers any product built around machine learning, including recommendations, autocomplete, and summarization. Agent-native is specific: the product is designed for autonomous agents as first-class actors that hold state, take actions, and interact with users. Every agent-native application is AI-native; most AI-native applications are not agent-native.
What is the first step toward agent-native?
Give an agent read access to the state of one screen and a small set of real application actions, behind an embedded copilot on that screen. Shared state plus real actions is the smallest unit that changes user behavior; everything else extends from it.
Does agent-native require a specific framework?
No. The properties are architectural: shared state, action access, generative UI, surface presence, and a learning loop can be built by hand. Open protocols and infrastructure exist for the connectivity layer, such as AG-UI (the Agent-User Interaction protocol) and CopilotKit, so most teams adopt those rather than rebuilding it.

Related concepts

Talk to an engineer about agent-native applications

Bring your use case. A CopilotKit engineer will walk you through how this applies to what you are building.