A·TADL · TDL
Universidad de Alicante · Código abierto · CC-BY-4.0 University of Alicante · Open source · CC-BY-4.0

Del prompt improvisado a la especificación From the improvised prompt to the specification

Un modelo de lenguaje puede comportarse como el asistente que necesitas con solo darle las instrucciones adecuadas. El problema es que esas instrucciones suelen ser texto suelto: difícil de mantener, compartir o validar. ADL propone describir el asistente con rigor —como se describe el software— sin dejar de ser legible por cualquiera. A language model can behave as the assistant you need if you simply give it the right instructions. The problem is that those instructions are usually loose text: hard to maintain, share or validate. ADL proposes describing the assistant rigorously —the way software is described— while remaining readable by anyone.

DefiniciónDefinition

Qué es ADL 2.0What is ADL 2.0

ADL 2.0 es un lenguaje de especificación declarativo, minimalista y agnóstico de dominio para describir asistentes basados en LLM. Define qué es un asistente, qué hace y cómo se comporta, con independencia de cómo lo ejecute un modelo o una plataforma concretos. ADL 2.0 is a minimal, domain-agnostic, declarative specification language for describing LLM-based assistants. It defines what an assistant is, what it does and how it behaves, independently of how it is executed by any particular model or platform.

Los LLM se moldean mediante prompts de sistema, pero esos prompts son habitualmente texto sin estructura: costoso de mantener, compartir, validar y hacer evolucionar de forma sistemática. ADL responde con un vocabulario YAML estructurado que captura las propiedades esenciales del asistente: identidad, rol, estilo de colaboración, fuentes de conocimiento, capacidades operativas, límites de comportamiento y extensiones de dominio. LLMs are shaped through system prompts, but those prompts are typically unstructured text: difficult to maintain, share, validate and evolve systematically. ADL responds with a structured YAML vocabulary that captures the assistant's essential properties: identity, role, collaboration style, knowledge sources, operational capabilities, behavioral boundaries and domain extensions.

No hay paso de compilación, ni preprocesado, ni herramientas propietarias. Un archivo ADL puede usarse directamente como prompt de sistema en cualquier LLM que lo admita —ChatGPT, Claude, OpenWebUI o integraciones propias—. En una frase: el YAML es el prompt de sistema. There is no compilation step, no preprocessing and no proprietary tooling. An ADL file can be used directly as a system prompt in any LLM that accepts one —ChatGPT, Claude, OpenWebUI or custom integrations—. In one sentence: the YAML is the system prompt.

ADL 2.0 asistente.yaml prompt prompt LLM lo interpreta interprets it Asistente Assistant en funcionamiento up and running
Sin capa intermedia: lo que escribes es exactamente lo que recibe el modelo. No intermediate layer: what you write is exactly what the model receives.
EstructuraStructure

Las secciones del núcleoThe core sections

Una especificación ADL 2.0 se organiza en diez secciones de primer nivel. Las cinco secciones estructurales requeridas —manifest, metadata, identity, role y boundaries—, junto con la declaración adl_version, constituyen la descripción mínima viable de un asistente. An ADL 2.0 specification is organized into ten top-level sections. The five required structural sections —manifest, metadata, identity, role and boundaries—, together with the adl_version declaration, constitute the minimum viable description of an assistant.

SecciónSection Req.Req. PropósitoPurpose
adl_versionyesVersión del lenguaje — debe ser "2.0".Language version — must be "2.0".
manifestyesEstructura autodescriptiva: identidad, versión, procedencia.Self-describing structure: identity, version, provenance.
metadatayesCatalogación: nombre, descripción, autoría, licencia.Cataloging: name, description, authorship, licensing.
identityyesLo que el asistente es — tipo, estilo cognitivo.What the assistant is — type, cognitive style.
roleyesLo que el asistente hace — función, responsabilidades, pericia.What the assistant does — function, responsibilities, expertise.
collaborationnonoCómo interactúa — estilo, protocolos, manejadores de eventos.How it interacts — style, protocols, event handlers.
knowledgenonoLo que sabe — referencias externas a fuentes de conocimiento.What it knows — external references to knowledge sources.
toolsnonoLo que puede hacer — comandos, capacidades, restricciones.What it can do — commands, capabilities, restrictions.
boundariesyesLo que no debe hacer — límites, autoridad, guías éticas.What it must not do — constraints, authority limits, ethical guidelines.
extensionsnonoVálvula de escape para lo que no encaja en ninguna sección del núcleo.Escape valve for content that fits no core section.
ArquitecturaArchitecture

La familia ADLThe ADL family

ADL 2.0 es el núcleo de la familia: define el AssistantSpec, el vocabulario estructural de cualquier asistente basado en LLM. Sobre él se construyen perfiles de dominio. Un perfil ligero usa las secciones del núcleo para expresar sus necesidades —la mayoría de asistentes encajan aquí—; un perfil completo extiende el vocabulario con su propio esquema. ADL 2.0 is the core of the family: it defines the AssistantSpec, the structural vocabulary of any LLM-based assistant. Domain profiles build on top of it. A lightweight profile uses the core sections to express its needs —most assistants fit here—; a full profile extends the vocabulary with its own schema.

Hasta ahora existen dos perfiles completos: TMDL (categoría KnowledgeSpec), que añade ciclo de vida del conocimiento, contexto de equipo y protocolos de contribución; y TDL (categoría FlowSpec), que añade una arquitectura de paquete en seis capas y reglas de validación pedagógica. Two full profiles exist so far: TMDL (KnowledgeSpec category), which adds knowledge lifecycle, team context and contribution protocols; and TDL (FlowSpec category), which adds a six-layer package architecture and pedagogical validation rules.

ADL 2.0 AssistantSpec · núcleo AssistantSpec · core TMDL KnowledgeSpec TDL FlowSpec
Un núcleo común y perfiles especializados que comparten la misma superficie de catálogo. A common core and specialized profiles sharing the same catalog surface.
FundamentosFoundations

Principios de diseñoDesign principles

Núcleo agnóstico de dominioDomain-agnostic core

Captura las propiedades comunes a cualquier asistente basado en LLM, sea cual sea el dominio de aplicación.Captures the properties common to any LLM-based assistant, regardless of application domain.

ExplicitudExplicitness

Identidad, roles y límites se declaran como componentes estructurales distintos, no implícitos en el texto del comportamiento.Identity, roles and boundaries are declared as distinct structural components, not left implicit in behavioral text.

Extensibilidad por especializaciónExtensibility through specialization

Las especificaciones se autodescriben mediante un manifest, y lo específico de cada dominio se acomoda en la sección extensions.Specifications are self-describing through a manifest, and domain-specific additions are accommodated in the extensions section.

En la prácticaIn practice

Validación y usoValidation and use

Las especificaciones se validan contra los esquemas provistos con pykwalify, y existe un JSON Schema para validación en tiempo real en editores compatibles (por ejemplo, VS Code con la extensión YAML). En despliegue, el YAML se usa directamente como prompt de sistema. Specifications are validated against the provided schemas with pykwalify, and a JSON Schema enables real-time validation in compatible editors (e.g., VS Code with the YAML extension). At deployment, the YAML is used directly as the system prompt.

pip install pykwalify pyyaml
pykwalify -d my_assistant.yaml -s spec/schemas/adl2_schema.yaml