DEV Community

Chris
Chris

Posted on

Agent Format: Kubernetes-Style Declarative Definitions for AI Agents

If you've built AI agents across multiple teams or projects, you've probably hit this: every framework defines agents differently, and switching frameworks means rewriting everything.

I came across Agent Format — an open, vendor-neutral spec for defining AI agents declaratively. The analogy is Kubernetes: before K8s, infrastructure was imperative scripts. K8s made it declarative. Agent Format does the same for agents.

What's in an .agf.yaml?

schema_version: "1.0.0"

metadata:
  id: my_agent
  name: My Agent
  version: "1.0.0"

interface:
  input:
    type: object
    properties:
      query:
        type: string
    required: [query]
  output:
    type: string

action_space:
  mcp_servers:
    - alias: my_tools
      server_ref: http://localhost/mcp/tools
      allowed_tools:
        - search
        - summarize

execution_policy:
  id: agf.react
  config:
    model: gemini-2.5-pro
    instructions: |
      You are a helpful assistant.
    max_steps: 10

constraints:
  budget:
    max_token_usage: 50000
Enter fullscreen mode Exit fullscreen mode

Five sections, five concerns:

Section What It Captures
metadata Identity, versioning
interface I/O contract
action_space Tools, MCP servers, sub-agents
execution_policy How the agent reasons (ReAct, sequential, etc.)
constraints Budgets, limits, governance

The Adapter Model

Any framework can implement an adapter that reads .agf.yaml and converts it to its native agent type. The parser has zero dependency on any runtime SDK. So your LangChain team, your ADK team, and your custom Python team can all work from the same agent definition.

Governance

This is where it gets interesting for production use:

  • Tighten-only invariant: Child agents can never exceed parent constraints
  • Two-layer governance: Agent-level + org-level policies, composed at runtime
  • Human-in-the-loop: Per-tool, conditional approval gates as first-class concepts

Where It Fits

It's designed to complement MCP (tools) and A2A (agent-to-agent communication):

  • Agent Format = what the agent IS
  • MCP = how agents USE tools
  • A2A = how agents TALK to each other

Full spec: https://agentformat.org
Engineering blog with the backstory: https://eng.snap.com/agent-format
JSON Schema: https://agentformat.org/schema/1.0/agentformat-schema.json

Worth checking out if you're building agents at any scale. Curious what others think about standardizing at this layer.

Top comments (0)