Skip to content

DIAL

Dialectic Interagent Language — a language for structured communicative exchange between humans and AI agents.

DIAL

Dialectic Interagent Language — v0.1

DIAL is a language for structured communicative exchange between humans and AI agents. It encodes not what agents say but what they do — the pragmatic layer of agent interaction that existing protocols leave unaddressed.

The word "dialectic" is used in its classical sense: dia (through) + legein (to speak, to reason). Meaning arrived at through exchange. Not Hegelian opposition, not restricted to two parties — the Socratic and Aristotelian tradition of reasoned discourse as the medium through which understanding emerges.

For AI coding agents: llms.txt · llms-full.txt

Lineage

Dialectic Chain      ← Wity's foundational conversation model
    └── WUCE         ← structured execution within the chain  (v2.3)
            └── DIAL ← the full dialectic language            (v0.1)
                       WUCE = dial/<dial-execute>

Intellectual roots

DIAL sits in a long tradition of attempts to make communicative structure formally tractable:

  • Leibniz — Characteristica Universalis: a universal formal language for thought. DIAL is one layer above: a formal language for exchange of thought between agents.
  • Wittgenstein — meaning as use, not reference. DIAL elements are defined by what they do, not what they say.
  • Austin / Searle — speech act theory: every utterance performs an act. DIAL operationalises illocutionary force as machine-readable structure.
  • Peirce — the triadic sign: sign, object, interpretant. DIAL elements are signs whose meaning is completed by the receiving agent.

What is new is not the idea. What is new is that agents now exist that can naturally produce well-formed DIAL at runtime.

The eight elements

ElementCommunicative actExpects
<dial-inform>Assertion — here is dataNothing
<dial-ask>Interrogative — I need something from youA response
<dial-suggest>Proposal — here are optionsA selection
<dial-execute>Imperative — perform these operationsCompletion events
<dial-acknowledge>Affective — I received / understood thatNothing
<dial-declare>Declaration — assert this into shared contextNothing
<dial-delegate>Handoff — another agent/service/human should handle thisPickup
<dial-phatic>Channel maintenance — no semantic payloadNothing