Agentic Context Description Language

A formal language for
LLM context structures

Describe, visualize and communicate agentic context structures with precision. ACDL captures the structure and dynamics of agentic LLM contexts in a concise, readable, and standard manner, along with visualizations.

What is it about? Learn the language Explore examples
react-agent.acdl
ReactAgent[@T]: {
    S: {
          INSTRUCTIONS
          AVAILABLE_TOOLS
    }
    U: env.user_input[@1]
    // Action history
    ForEach(@t: range(1, @T)) {
        A: {
             resp.reasoning[@t]
             sys.tool_used[@t]
        }
        T: sys.tool_used[@t].response
    }
    S: SOLVE_TASK
}
Rendered Output
ReactAgent[@T]:
Role: System
INSTRUCTIONS
AVAILABLE_TOOLS
Role: User
env.user_input[@1]
// Action history
↻ ForEach @t : 1 ... @T
Role: Assistant
resp.reasoning[@t]
sys.tool_used[@t]
Role: Tool
sys.tool_used[@t].response
Role: System
SOLVE_TASK

Describe Real Systems

ACDL has been used to specify context structures for production agent systems including coding assistants, persistent agents, and multi-agent simulations.

  • Claude Code-style coding assistants
  • Persistent agents with heartbeat timers
  • Multi-agent simulations with memory
  • Game-playing agents with hierarchical summaries

Browse All Examples

Explore ReAct agents, RAG pipelines, multi-agent systems, and more

Language Cheat Sheet

A concise syntax designed for describing complex LLM context structures

S: U: A: T:

Role Messages

Four chat roles (System, User, Assistant, Tool) and a completion format. Each message carries exactly one role with visual color-coding.

@T

Time Indexing

Explicit indices describe context evolution. @T is the current step, with sub-steps (@T.I) and history iteration support.

env sys resp

Context Variables

Three namespaces: env (environment), sys (system state), and resp (LLM responses).

If Else ForEach Switch

Control Flow

ForEach loops, If/ElseIf/Else conditions, and Switch/Case constructs determine context based on runtime state.

ABC

Templates

ALL_CAPS placeholders for text blocks. Separates architecture from prose, with optional parameterization.

fn()

Functions

Named functions for computed content—summarization, retrieval, or any transformation beyond simple lookups.

Everything you need to describe and visualize LLM contexts