Website | Source
Getting Started
ADL (Agent Definition Language) is an open, declarative, vendor-neutral specification for defining AI agents in a consistent, auditable, and interoperable way. It provides a shared language for describing:
- an agentβs identity and purpose
- its tools and capabilities
- its LLM configuration
- its access to knowledge (RAG)
- its permissions and sandbox
- its dependencies
- its governance metadata
If OpenAPI defines APIs, ADL defines agents.
π§ Why ADL Exists
Enterprises adopting AI agents face several systemic challenges:
- Each vendor defines βagentsβ differently
- Tool contracts are inconsistent
- RAG pipelines are wired differently across apps
- Permissions are rarely explicit
- Governance teams have no centralized visibility
- Agents are not portable across platforms
- Vendor lock-in slows enterprise adoption
- Compliance and auditability are fragile or impossible
ADL solves these problems by introducing a single, declarative, versioned artifact that describes what an agent is and what it is allowed to do.
π§© What ADL Is
ADL defines:
- Identity β name, description, role, owner, version
- LLM Settings β provider, model, temperature, max tokens
- Tools & Actions β typed parameters, descriptions, return schemas
- RAG Inputs β indices, types, metadata, paths
- Permissions β file I/O, network, env vars
- Dependencies β Python packages with optional version pins
- Governance β created_by, approved_by, timestamps, version notes
This makes agents:
- portable
- predictable
- auditable
- reproducible
- interoperable across vendors
π« What ADL Is Not
To avoid confusion, ADL explicitly does not define:
- β A2A (agent-to-agent) communication protocols
- β runtime tool invocation semantics (e.g., MCP)
- β prompt templating or formatting
- β workflow orchestration (Airflow, Temporal, Dagster)
- β API schemas (OpenAPI already solves that)
- β message transport (HTTP, gRPC, JSON-RPC)
ADL is laser-focused on definition β not execution.
π ADL vs AI App Definition
ADL is an Agent Definition Language - not a general AI App definition format.
AI apps are broad and may include UI, API layers, deployments, data stores, or business logic.
Agents are specific:
- they reason
- they call tools
- they retrieve knowledge
- they act autonomously
- they require permission boundaries
ADL models agent competencies, not app-level infrastructure.
This is a key strategic distinction.
π Comparing ADL to Other Standards
ADL vs A2A
- A2A: defines how agents communicate
- ADL: defines what an agent is
ADL vs MCP
- MCP: runtime tool protocol
- ADL: declarative definition of tools and capabilities
ADL vs OpenAPI
- OpenAPI: describes HTTP services
- ADL: describes agent behavior, boundaries, and capabilities
ADL vs Workflow Engines
- Workflows = when & how tasks execute
- ADL = which agent executes them
π Why Next Moca Open Sourced ADL
Next Moca open-sourced ADL under Apache 2.0 to enable:
β Ecosystem-wide interoperability
β Enterprise trust and transparency
β Neutral governance
β Community-driven evolution
β Vendor adoption without lock-in
β Safe, compliant, standards-based agent deployment
Open sourcing ensures ADL becomes a true standard, not a proprietary configuration format.
π Documentation
- π ADL Spec (JSON Schema) β
/schema/adl.schema.json
- π Examples β
/examples/
- π Roadmap β
/ROADMAP.md
- π Governance β
/GOVERNANCE.md
- π€ Contributing β
/CONTRIBUTING.md
π Getting Started
git clone https://github.com/nextmoca/adl.git
cd adl
Validate an ADL Agent File
pip install jsonschema
python tools/validate.py examples/minimal_agent.json
Or using Node:
npm install ajv
node tools/validate.js examples/minimal_agent.json
Minimal Example
{
"name": "campaign_image_generator",
"description": "Generate a 1024x1024 marketing image from a creative brief.",
"role": "Creative Producer",
"llm": "openai",
"llm_settings": {
"temperature": 0,
"max_tokens": 4096
},
"tools": [
{
"name": "generate_campaign_image",
"description": "Generate a high-quality image from a prompt.",
"parameters": [
{
"name": "prompt",
"type": "string",
"description": "Image prompt",
"required": true
}
],
"invocation": { "type": "python_function" }
}
],
"rag": []
}
Tags:
ai
language
dsl
Last modified 15 March 2026