v0.1 — Public Review

Agent Behavior
Specification

A vendor-neutral, human-readable format for describing the observable behavior of AI agents — what users say, what agents do, and how it should be evaluated.

session.abs.yaml
session: Refund request — approved
behaviors:
- actor: user
action: says
content: "I want to return order #8291, it arrived damaged"
- actor: assistant
action: asks
content: "Can you confirm your name and order date?"
evaluations:
- type: llm_judge
criteria: |
1. Shows empathy
2. References order #8291
3. Asks for verification
- actor: assistant
action: calls
target: Orders API
# ... tool round-trips, chain evaluations, variable checks
evaluations:
- type: sequence
- type: variable_consistency
- type: never

Why ABS?

Like OpenAPI for REST APIs and AsyncAPI for event-driven systems, ABS gives agent behavior a shared, tool-independent contract.

Vendor-neutral

Same spec works regardless of LLM provider, agent framework, orchestration engine, or tool protocol.

Human-readable YAML

Plain-text format that product owners, QA engineers, and developers can all read and agree on.

Testable

Every behavior can carry evaluations. Same document describes intent and drives automated CI verification.

Composable

Small core vocabulary with extensions. Compose sessions, reuse behavior fragments, build test suites.

Observable-first

Describes what can be observed from outside — messages, tool calls, UI. Excludes model internals by design.

Versioned schema

Every version has a normative JSON Schema. Tools validate automatically. Documents declare their contract.

What it is

  • A YAML/JSON format for describing agent behavior sequences
  • A vocabulary of observable actions (says, calls, informs, selects...)
  • An evaluation layer that makes specs executable as tests
  • Versioned with normative JSON Schema for tool validation

What it is NOT

  • Not a prompt format or LLM configuration
  • Not an orchestration or agent framework
  • Not a replacement for OpenAPI/AsyncAPI — it complements them
  • Not (yet) a ratified standard — v0.1 is open for review