Modern agentic systems rarely consist of a single agent. They are pipelines: an orchestrator delegates subtasks to specialist agents; those agents may spawn further sub-agents; results flow back up the chain. Inter-agent refers to all the communication that crosses the boundary between two agents — task assignments, tool results, status updates, shared context, and coordination messages.
This communication can travel through: direct API calls from one agent to another, shared message queues or event buses, shared databases or memory stores, structured API protocols (like Anthropic's Model Context Protocol or Google's Agent-to-Agent protocol), or plain HTTP calls between agent services.
Every piece of information an agent sends to another is a communication. This includes: task instructions, capability requests, tool call results, status reports, delegation of sub-tasks, negotiation of scope, sharing of retrieved data, and confirmation of actions. Each of these represents a message that one agent trusts because it appears to come from another agent in the system.
A communication channel is insecure when it cannot guarantee authenticity (the message is really from who it claims), integrity (the message hasn't been changed in transit), or confidentiality (the message hasn't been read by someone it wasn't intended for). When any of these guarantees are absent, the channel becomes an attack surface — an attacker who can touch the channel can impersonate any agent or alter any message.