Agent Communication
Agents in a multi-agent system communicate by passing structured messages. The communication protocol defines what information is included in each message and how agents respond.
8 min•By Priygop Team•Updated 2026
Message Structure
Message Structure
# Standard inter-agent message format
from datetime import datetime
from typing import Any
def create_message(
from_agent: str,
to_agent: str,
message_type: str,
payload: Any,
correlation_id: str = None
) -> dict:
"""
Create a structured inter-agent message.
message_type options:
- 'task_assignment': coordinator → worker
- 'task_result': worker → coordinator
- 'review_request': coordinator → reviewer
- 'review_result': reviewer → coordinator
- 'escalation': any → human
"""
return {
"message_id": f"MSG-{datetime.now().strftime('%Y%m%d%H%M%S')}",
"correlation_id": correlation_id, # Links request and response
"from_agent": from_agent,
"to_agent": to_agent,
"message_type": message_type,
"timestamp": datetime.now().isoformat(),
"payload": payload
}
# Coordinator assigns a task to a research agent
task_msg = create_message(
from_agent="coordinator",
to_agent="researcher_1",
message_type="task_assignment",
payload={
"task_id": "T1",
"instruction": "Find the top 5 Python AI frameworks released in 2024",
"context": {"max_results": 5},
"deadline": "2024-01-15T15:00:00Z",
},
correlation_id="WF-001-T1"
)
# Research agent returns a result
result_msg = create_message(
from_agent="researcher_1",
to_agent="coordinator",
message_type="task_result",
payload={
"task_id": "T1",
"status": "success",
"output": {
"frameworks": ["TensorFlow", "PyTorch", "JAX", "Keras", "MXNet"],
"sources": ["https://example.com"],
}
},
correlation_id="WF-001-T1" # Same ID links request and response
)
print("Task message type:", task_msg["message_type"])
print("Result correlation:", result_msg["correlation_id"])
print("Same workflow?", task_msg["correlation_id"] == result_msg["correlation_id"])