Session, Behavior, Actor, Action, Target, Content, Variables, and Evaluations.
The Core Model defines the conceptual building blocks of ABS. It is intentionally abstract — the formal grammar and conformance rules are in the Specification.
A Session is the top-level container. It models a single coherent interaction — a conversation, a task execution, a workflow — from start to finish.
session field.behaviors.evaluations that check the whole trace.A Behavior is a single observable action performed by an Actor. The five key fields are:
actor + action + target + content + (capture | with | evaluations)
Not every field applies to every Behavior. A user saying something needs actor, action, and content. An assistant calling a tool needs actor, action, target, and with. The combination of fields that makes sense depends on the action category.
An Actor is who or what performs the Behavior:
| Actor | Description |
|---|---|
user | The human user interacting with the agent. |
assistant | The AI agent under test. |
<any string> | A named sub-agent, tool, or system component. |
An Action is what the Actor does. ABS defines a standard vocabulary organized by category:
| Category | Actions | Semantic |
|---|---|---|
| Communication | says, asks, informs, shows, prompts, confirms | Information exchange between actors. |
| Execution | calls, submits, retrieves, stores, updates | Invoking external systems or tools. |
| Delegation | hands_off | Transferring control to another agent or human. |
| Interaction | selects, uploads, approves | Acting on UI elements. |
The full vocabulary with definitions is in Vocabulary.
Target is the object or destination of the action. Its meaning depends on the action category — see the Specification §4 for the normative rules.
Content is the payload of a Behavior — text, structured data, or displayed information. It can contain {{variable}} references.
Variables let you capture values at runtime and reuse them later. See Variables for the full rules on capture, reuse, and runtime binding.
Evaluations make a descriptive spec executable. They can be:
See Evaluations for all evaluator types and semantics.