Skip to main content
Open Standard v1.0

Agent Format

The open standard for AI agent definitions. Define your agent once in YAML. Run it on any compliant runtime. Vendor-neutral. Open governance.

.agf.yaml
schema_version: "1.0.0"

metadata:
id: financial_analyst
name: Financial Analyst
version: "1.0.0"
description: Analyzes financial data

interface:
input: string
output: string

execution_policy:
id: agf.react
config:
instructions: |
You are a financial analyst.
model: gemini-2.5-pro
max_steps: 10
Why Agent Format

"Kubernetes" for AI Agents

Just as a Kubernetes manifest declares what a container needs and the cluster decides how to run it, an .agf.yaml declares what an agent needs and the runtime decides how to execute it.

🌐
Write Once, Run Anywhere

The same .agf.yaml file runs on any compliant runtime. No code changes, no vendor lock-in.

πŸ›‘
Declarative Safety

Approval workflows, budget limits, and governance policies declared in YAML. Auditors read YAML, not code.

βœ…
Schema-Validated

Every .agf.yaml is validated against a JSON Schema. Typos and misconfigurations caught at parse time.

🏒
Enterprise-Ready

Two-layer governance model lets security teams enforce organization-wide policies on top of agent declarations.

The Problem

Agent Definitions Are Locked In

Today, defining an agent means writing code in a specific framework. Agent Format provides one portable definition that any runtime can execute.

Framework-Specific Code
# LangChain
from langchain.agents import create_react_agent
from langchain_google import ChatGoogleGenerativeAI
from langchain.tools import Tool
llm = ChatGoogleGenerativeAI(model="gemini-2.5-pro")
tools = [search_tool, calculator_tool]
agent = create_react_agent(
llm=llm, tools=tools, prompt=prompt_template
)

# Google ADK
from google.adk import Agent
agent = Agent(
name="analyst",
model="gemini-2.5-pro",
instruction="You are a financial analyst.",
tools=[search_tool, calculator_tool],
)

# PydanticAI
from pydantic_ai import Agent
agent = Agent(
"gemini-2.5-pro",
system_prompt="You are a financial analyst.",
tools=[search_tool, calculator_tool],
)

# AutoGen
from autogen import AssistantAgent
agent = AssistantAgent(
"analyst",
llm_config={"model": "gemini-2.5-pro"},
tools=[search_tool, calculator_tool],
)

# 4 frameworks, 4 incompatible APIs
# Switch runtime = rewrite your agent
Agent Format
metadata:
id: financial_analyst
name: Financial Analyst

interface:
input: string
output: string

action_space:
local_tools:
- alias: search
- alias: calculator

execution_policy:
id: agf.react
config:
instructions: You are a financial analyst.
model: gemini-2.5-pro
# 1 definition β†’ runs on ANY compliant runtime
Simple Workflow

How It Works

Three steps from definition to execution.

1
Define

Write a .agf.yaml file describing your agent’s identity, tools, constraints, and execution strategy.

2
Validate

Run agf lint to catch schema errors, semantic issues, and best-practice warnings at authoring time.

3
Run

Load the YAML into any compliant SDK. The runtime resolves tools, credentials, and policies.

Ecosystem Integration

Three Complementary Standards

Agent Format defines what an agent is. A2A and MCP handle how agents communicate and use tools. Together, they form a complete stack for production AI systems.

Definition Layer

Agent Format

Declares WHAT the agent is: identity, interface, tools, constraints, governance, and execution strategy.

↓
Communication Layer

A2A Protocol

Defines HOW agents communicate: discovery, skill invocation, and task delegation between agents.

↓
Tool Layer

Model Context Protocol

Defines HOW agents use tools: tool discovery, invocation, and result streaming via MCP servers.

Open Standard

Towards Foundation-Grade Governance

Agent Format is designed for neutral stewardship β€” modeled after the OpenAPI Initiative and CNCF projects.

πŸ›οΈ

Open Governance

Vendor-neutral Standard Committee with open membership, lazy consensus for minor changes, and supermajority for breaking changes.

βœ…

Conformance Program

Three-tier badge system β€” Parse, Execute, and Full Governance β€” so users know exactly what each runtime supports.

🌐

Multi-Language SDKs

Official parsers and validators for Go, Python, Java, and TypeScript. Same schema, same validation, any language.