Performative Message
Type every inter-agent message by communicative intent (request, inform, propose, accept, refuse) so receivers can dispatch on act type without an extra classification call.
Intent & Description
π― Intent
Type inter-agent messages by communicative intent (request, inform, propose, accept, refuse, query) rather than by free-form prose, so receivers can dispatch on act type.
π Context
Multi-agent systems default to free-form natural language between agents β agent A writes a paragraph that agent B reads as a paragraph. The communicative act is implicit in the text, requiring an extra classification step to determine “is this a request? a proposal? an answer?”
π‘ Solution
Define a small fixed set of performatives β request, inform, propose, accept, refuse, query, agree, cancel β drawn from the KQML/FIPA-ACL tradition. Every inter-agent message carries an explicit performative plus the act content. Receivers dispatch on performative. Protocol state machines (negotiation, query-then-answer, contract-net) become enforceable because the transitions are typed. Free-form natural language remains the content payload; the typing is a metadata layer.
Real-world Use Case
- Multi-agent communication has recognisable communicative acts (requests, proposals, answers).
- Protocols (negotiation, query, contract-net) run between agents and need enforced state transitions.
- Receivers benefit from typed dispatch without an additional classification model call.
Source
π TL;DR
Tag every inter-agent message with its communicative intent β request, propose, accept, refuse β so receivers dispatch on type and protocol state machines become enforceable.
Advantages
- Receivers can dispatch on type without burning a model call to classify intent.
- Protocol state machines are enforceable β invalid transitions can be rejected at the envelope level.
- Audit and orchestration tools have typed events to reason over.
Disadvantages
- Choosing the correct performative is one more output the model can get wrong.
- Performative vocabulary can drift or fragment across teams without active schema governance.
- Type-checking adds a small overhead on each message exchange.