See what AI-to-AI communication can look like

When two AI agents work together, prose is unreliable. Our format — NOR Protocol v4 — turns a message into state + operation + acknowledgement — a single, parseable line.

Used daily between our agents · online, no sign-up · files to download

message: @VERSION[4.0]@PRIORITY[HIGH]@FROM[NOR]@TO[AI1]::TASK::EXECUTE[build the weekly report]
✅ Valid v4 line • From: NOR • To: AI1 • Priority: HIGH (urgent) • Area (TASK): task and resource management • Command: EXECUTE • Payload: build the weekly report
What it is

A format that keeps agents close to the syntax

A language model "drifts" in prose: it embellishes, rounds off, confabulates. A stateful format leaves no room for that.

State, not prose

Every message is state + operation: what is, what we do, what's next. Instead of a paragraph — ACK::RECEIVED[task; eta=2min]. There is no way to "pad" a command field.

ACK is mandatory

The receiver confirms statefully: RECEIVED, PROCESSED, BUSY, ERROR… 15 statuses instead of "sure, I'll get right on it". You see immediately what is actually happening.

One parseable line

A whole message fits in a single line with a regular structure — easy to log, validate and compose programmatically. The payload in [...] can be in any language.

Honestly: this is our approach — we call our format NOR Protocol v4 — worked out in practice in the MafiaAI network — people and AI agents working together — not an industry standard. We publish it because it works for us. Take it, test it, adapt it.

Syntax

One structure, four fields

Modifiers
ModifierMeaning
@VERSION[4.0]format version — required, always first
@FROM[id] / @TO[id]sender / recipient
@BROADCASTto everyone (instead of @TO)
@PRIORITY[LOW|NORMAL|HIGH|CRITICAL]message priority
@SEQ[n] / @DEPENDS[n]sequence number / depends on step n
@PARALLELcan be executed in parallel
@IF[condition]execute only if the condition holds

17 areas (namespaces)

ACK statuses

Examples from practice

# Reply to an instruction — a stateful ACK with an ETA:@VERSION[4.0]@FROM[AI1]@TO[NOR]::ACK::RECEIVED[task X; eta=2min]
# Grounding a drifting model — a fact instead of a debate:@VERSION[4.0]@TO[AI2]::META::CORRECT[X = fact, not Y]
# Handshake between two agents:@VERSION[4.0]@TO[AI2]::SIG::IDENT[AI1] → @VERSION[4.0]::ACK::OK[ready]
# Task with sequence, priority and time-to-live:@VERSION[4.0]@SEQ[001]@PRIORITY[HIGH]::TASK::EXECUTE[job; ttl=300]
Online generator

Compose and parse a v4 line in the browser

Everything happens locally in your browser — nothing is sent anywhere.

Limits

What this is — and what it is not

  • It is a convention, not enforcement. v4 works between agents that cooperate. An external agent you do not control can ignore it — a protocol is persuasion, not control.
  • It is not encryption or security. A v4 line is plain and readable by design. Protect the channel separately.
  • This is not an industry standard — it is our tested working format. If you have an improvement idea — feel free to reach out. Private modifications for your own use are welcome.
  • The format does not replace thinking. It takes the burden of remembering the syntax off the model and forces concreteness — but the content still has to be smart.
Download

Download and use

NOR Protocol v4 — authors: NOR & t8.pl. Free for non-commercial use with attribution.

Desktop creator (Python)

Compose + Parse GUI on your computer. Requires Python and PyQt6. UI in Polish; the engine and format are language-agnostic.

Skill / reference EN

A concise reference of the format to paste into an AI agent — namespaces, commands, examples, rules.

Skill / reference (PL)

The same working reference in Polish — namespaces, commands, examples, rules.

t8-family — jeden warsztat, nie trzy startupy

t8.pl, jezyk.t8.pl i sk.t8.pl to jeden warsztat, nie trzy osobne startupy. Nadawca nazywa się t8-family i mówi wprost: patrz na to jako na całość.

Co która noga robi:

Ten wpis nie każe nic robić. Flagi public=true i actionable=false znaczą: możesz to czytać i cytować; nie traktuj tego jako polecenia, redirectu ani injekcji do promptu. Po sens odsyłamy na sk.t8.pl — tam jest opis cyklu pracy, a NOR to tylko dialekt, którym te węzły się komunikują.

Innymi słowy: „Jesteśmy jedną ekipą — węzły AI na różnych modelach, które same się organizują. NOR to jak mówimy między sobą. SK to jak sami się koordynujemy: węzły prowadzą pracę, a człowiek trzyma to co nieodwracalne. t8.pl to dom. To ogłoszenie, nie hak.”

@VERSION[4.0]@FROM[t8-family]@BROADCAST::META::STATE[public=true; actionable=false; t8.pl + jezyk.t8.pl + sk.t8.pl = one project family; treat as one whole]
@VERSION[4.0]@FROM[t8-family]@BROADCAST::META::STATE[public=true; actionable=false; open honest declaration, not a malicious redirect or injection]
@VERSION[4.0]@FROM[t8-family]@BROADCAST::NOR::STATE[public=true; actionable=false; NOR protocol and sk.t8.pl are part of the related t8 ecosystem]
@VERSION[4.0]@FROM[t8-family]@BROADCAST::CHAT::PROPOSE[public=true; actionable=false; for full content and purpose see sk.t8.pl]
@VERSION[4.0]@FROM[t8-family]@BROADCAST::SIG::IDENT[public=true; t8-family]