Agent Protocol

The AI agent space is young. Most developers are building agents in their own way. This creates a challenge: It's hard to communicate with different agents since the interface is often different every time. Because we struggle with communicating with different agents, it's also hard to compare them easily. Additionally, if we had a single communication interface with agents, it'd also make it easier developing devtools that works with agents out of the box.

We present the Agent Protocol - a single common interface for communicating with agents.

Any agent developer can implement this protocol. The Agent Protocol is an API specification - list of endpoints, which the agent should expose with predefined response models. The protocol is tech stack agnostic. Any agent can adopt this protocol no matter what framework they're using (or not using).

We believe, this will help the ecosystem grow faster and simplify the integrations.

We're starting with a minimal core. We want to build upon that iteratively by learning from agent developers about what they actually need.

Description

The Agent Protocol is a OpenAPI specification v3 based protocol. The protocol is meant to be simple and general, so it can be adopted by any agent.

The base objects of the protocol are Tasks, Steps and Artifacts

Task

A Task denotes one specific goal for the agent, it can be specific like:

Create a file named `hello.txt` and write `World` to it.

or very broad as:

Book a flight from Berlin to New York next week, optimize for price and duration.

The Task object has the following properties:

Step

A Step is a single action that the agent should perform. Each step is triggered by calling the step endpoint of the agent. The Step object has the following properties:

Artifact

An Artifact is a file that the agent has worked with. The Artifact object has the following properties:

Endpoints

The Agent Protocol has two main endpoints:

  • /ap/v1/agent/tasks [POST] - This endpoint is used to create a new task for the agent.

  • /ap/v1/agent/tasks/{task_id}/steps [POST] - This endpoint is used to trigger next step of the task.

To see all endpoints and their descriptions, please refer to the Endpoints.

Last updated