The Agent Interface and Blueprint (AIB) is a standardized specification for defining, exposing, and interacting with AI agents in a modular and composable manner. It addresses a critical industry-wide challenge: the ad-hoc, custom-built nature of AI agents, which lack consistency and require bespoke integrations for cross-collaboration.
AIB provides a universal abstraction layer—akin to an API contract—that ensures agents can interoperate seamlessly, exposing their functionalities to external systems without revealing internal implementations or necessitating custom adapters.
AIB serves as the foundational layer for the Agent Registry Protocol (ARP), enabling standardized agent selection, management and orchestration.
The Need for AIB: Towards Modular and Composable AI Agents
The Challenge
AI agents today are built in silos—each with unique architectures, interfaces, and communication patterns. This ad-hoc approach results in:
- Inconsistency: No standard way to define agent capabilities, inputs, or outputs.
- Integration Overhead: Cross-collaboration requires custom code for every new agent pair, hindering scalability.
- Lack of Modularity: Agents cannot be easily composed into larger systems or reused across environments.
- Collaboration Barriers: External systems (e.g., other agent frameworks, enterprise tools) struggle to interface without deep knowledge of each agent’s internals.
This mirrors the pre-MCP chaos of model-tool integrations, where fragmented APIs stalled progress. For agents to scale and collaborate—whether within a single system or across ecosystems—a standardized interface is non-negotiable.
Why AIB is Needed
AIB solves these problems by:
- Standardizing Agent Interactions: Defining a consistent blueprint for agent capabilities, configurations, and communication.
- Enabling Modularity: Allowing agents to be treated as plug-and-play components, composable into task-specific workflows.
- Facilitating Composability: Exposing functionalities (e.g., task execution, knowledge access) via a uniform interface, abstracting implementation details.
- Future-Proofing Collaboration: Paving the way for seamless integration with external systems.
The Future Vision
AIB takes us toward a future where:
- Agents are interchangeable building blocks, selected and assembled dynamically.
- Cross-system collaboration is frictionless, requiring no custom glue code.
- Emergent intelligence emerges from modular agent networks, scalable from single tasks to enterprise-grade solutions.
Without AIB, agent ecosystems remain fragmented; with it, they become a cohesive, collaborative fabric.
Influence of Anthropic’s MCP and the Absolute Need for AIB
MCP’s Inspiration
AIB draws heavily from MCP’s philosophy but shifts the focus from data sources to agents. Where MCP connects agents to external resources, AIB connects agents to agents. The absolute need for AIB echoes MCP’s origin story: just as MCP eliminated custom tool integrations, AIB eliminates custom agent integrations.
Why AIB is Non-Negotiable
- Parallels with MCP: Agents, like tools, are diverse and fragmented. AIB’s standardized interface ensures interoperability, mirroring MCP’s impact on data sources.
- Agent-Specific Demands: Unlike data sources, agents have autonomy, relationships (e.g., parent-child), and dynamic behaviors—necessitating a richer blueprint beyond MCP’s scope.
- Scalability Imperative: As agent ecosystems grow, the lack of a common interface becomes a bottleneck. AIB is the solution.
MCP proved standardization drives progress; AIB extends this lesson to the agent domain, making it an absolute necessity for the next wave of AI innovation.
Foundation for the Agent Registry Protocol (ARP)
How AIB Enables ARP
The Agent Registry Protocol (ARP)—detailed in a forthcoming specification—relies on AIB as its bedrock. ARP manages agent storage, selection, and orchestration, but it assumes agents conform to a predictable structure. AIB provides this by:
- Defining Agent Metadata: The Agent Registry builds on agent metadata.
- Standardizing Access: ARP’s GetAgent and ActivateAgent calls depend on AIB’s uniform interface for instantiation and execution.
- Supporting Selection: AIB’s capability and configuration specs feed ARP’s hybrid search and RL-driven agent picking.
Synergy
- AIB: The “what” and “how”—what an agent does and how it’s interfaced.
- ARP: The “where” and “which”—where agents are stored and which are chosen.
AIB ensures agents are ARP-ready, creating a cohesive pipeline from definition to deployment. Without AIB, ARP would lack the consistency needed to scale.
Technical Details and Implementation Guidelines
The blueprint is ideal for building new agents from scratch. For existing agents, ARP does not require deprecation; they can coexist with AIB-compliant agents. Further details on integrating legacy agents will be covered in the Agent Registry Protocol (ARP) and its implementation guidelines.
Agent Blueprint
The blueprint is the canonical representation of an agent, providing a template for building new agents from scratch and a contract for exposing their functionality.
Following is the blueprint for a Base Agent Template, a generic agent designed for extensibility:
{
"agent_id": "aib_agent_001",
"name": "TemplateAgent",
"description": "A modular agent for general-purpose task execution",
"agent_config": {
"agent_id": "aib_agent_001",
"agent_name": "TemplateAgent",
"system_prompt": "You are a versatile AI agent. Execute tasks methodically and adapt to requirements.",
"relationships": {
"aib_agent_002": "collaborator",
"aib_agent_003": "dependency"
},
"llm_config": {
"model_provider": "xai",
"model_name": "grok-4-agi",
"temperature": 0.7,
"top_p": 0.9,
"top_k": 40,
"max_tokens": 150,
"stop_words": ["\n", "STOP"],
"frequency_penalty": 0.2,
"presence_penalty": 0.1,
"n": 1,
"logprobs": false,
"timeout": 20.0,
"stream": false
}
// Future extensions will include:
// "knowledge_base_config": {...},
// "memory_config": {...},
// "collaboration_config": {...}
},
"interface": {
"methods": [
{
"name": "run",
"description": "Executes the agent’s primary logic for a given task",
"input": {"type": "string", "description": "Task description or structured JSON"},
"output": {"type": "string", "description": "Task response or solution"}
},
{
"name": "call_llm",
"description": "Internal LLM invocation (not exposed externally)",
"input": {
"task_prompt": {"type": "string", "description": "Prompt for LLM"},
"stream": {"type": "boolean", "description": "Stream response", "default": false}
},
"output": {"type": "string", "description": "LLM-generated response"}
},
{
"name": "collaboration",
"description": "Initiates interaction with another agent (details in IACP)",
"input": {
"agent_id": {"type": "string", "description": "Target agent ID"},
"task": {"type": "string", "description": "Collaboration task"}
},
"output": {"type": "string", "description": "Collaboration result or acknowledgment"}
},
{
"name": "output_formatter",
"description": "Formats the agent’s output for consistency",
"input": {
"raw_output": {"type": "string", "description": "Unformatted response"}
},
"output": {"type": "string", "description": "Formatted response"}
},
{
"name": "feedback",
"description": "Records feedback on task performance",
"input": {
"task_id": {"type": "string", "description": "Unique task identifier"},
"success": {"type": "boolean", "description": "Task success status"},
"metrics": {"type": "object", "description": "Performance metrics (e.g., time)"}
},
"output": {"type": "string", "description": "Acknowledgment of feedback"}
}
]
}
}
Blueprint Components
agent_id
: A unique identifier for the agent, globally scoped for ARP compatibility.agent_name
: A human-readable identifier for the agent.description
: A concise summary of the agent’s purpose.agent_config
:agent_id
: Mirrors the top-level ID for consistency.agent_name
: Matches the top-level name.relationships
: A dictionary mapping related agent IDs to their relationship type (e.g., “collaborator”, “dependency”), supporting hierarchical and peer interactions.llm_config
: Parameters for LLM integration, if applicable, controlling model behavior and output.Future Extensions
: Placeholder for knowledge_base_config, memory_config, and collaboration_config, to be detailed in later releases.
interface
:- Lists exposed methods with their descriptions, input and output specifications.
- Methods like
call_llm
are marked as internal, not callable externally, to maintain encapsulation unless explicitly exposed.
Extensibility and Exposure
The blueprint’s fields can be fully exposed or selectively privatized, depending on the developer’s intent and the collaboration context:
- Developer Control: All fields (e.g., agent_id, agent_config, interface) can be exposed, but developers may designate some as private. For example:
system_prompt
or detailedllm_config
can remain private to protect sensitive logic or tuning.- Fields like
description
can be public for discovery and coordination.
- Multi-Agent Architecture (Internal Use):
- Within a single system or organization, all fields can be exposed to enable tight integration. For instance, a multi-agent setup might share llm_config or custom internal methods (e.g.,
validate_input
) among agents for seamless orchestration. - Example: A parent agent and its subagents might access each other’s full blueprints, including private fields, to optimize task delegation.
- Within a single system or organization, all fields can be exposed to enable tight integration. For instance, a multi-agent setup might share llm_config or custom internal methods (e.g.,
- External Agents (External Use):
- Agents outside the system or from other organizations cannot access private properties. Developers expose only essential fields (e.g.,
agent_id
, agent_name,description
, public interface methods).
- Agents outside the system or from other organizations cannot access private properties. Developers expose only essential fields (e.g.,
- Control and Security:
- Developers decide exposure via the getBluePrint response, filtering private fields dynamically.
JSON-RPC Interface
AIB uses JSON-RPC 2.0, inspired by Anthropic’s MCP, to enable agent-to-agent and agent-to-system interactions. Unlike MCP’s focus on agent-to-data-source communication, AIB’s JSON-RPC facilitates agent-to-agent calls, abstracting functionality into callable methods.
Full agent-to-agent collaboration will be detailed in the forthcoming Inter-Agent Collaboration Protocol (IACP); here, we define the baseline.
Method Examples
-
getBluePrint
:- Retrieves the agent’s public blueprint (filtered by exposure settings).
- Request:
{ "jsonrpc": "2.0", "method": "getBluePrint", "params": {"agent_id": "aib_agent_template_001"}, "id": 1 }
- Response (public view):
"jsonrpc": "2.0", "result": { "agent_id": "aib_agent_template_001", "name": "TemplatedAgent", "description": "A generic agent template for task execution and collaboration", "interface": {...} // Public methods only }, "id": 1 }
-
run
:- Executes the agent’s primary task.
- Request:
{ "jsonrpc": "2.0", "method": "run", "params": {"task": "Process data batch"}, "id": 2 }
- Response:
{ "jsonrpc": "2.0", "result": "Data processed successfully", "id": 2 }
-
collaboration
:- Initiates agent-to-agent interaction (placeholder for IACP).
- Request:
{ "jsonrpc": "2.0", "method": "collaboration", "params": { "agent_id": "aib_agent_002", "task": "Validate results" }, "id": 3 }
- Response:
{ "jsonrpc": "2.0", "result": "Collaboration request sent", "id": 3 }
-
feedback
:- Records task performance.
- Request:
{ "jsonrpc": "2.0", "method": "feedback", "params": { "task_id": "task_001", "success": true, "metrics": {"time": "10s"} }, "id": 4 }
- Response:
{ "jsonrpc": "2.0", "result": "Feedback recorded", "id": 4 }
-
Error Handling
- Example (method not found):
{ "jsonrpc": "2.0", "error": { "code": -32601, "message": "Method not found" }, "id": 5 }
- Example (method not found):
JSON-RPC Guidelines
- Endpoint: Serve at
/agent/<agent_id>
(e.g., /agent/aib_agent_001). - Transport: HTTP for now, with WebSocket support planned for IACP.
- Security: Use API keys or tokens in headers, to be specified in ARP.
Reference Implementation
A sample templated agent, is available in our GitHub repository. This repo provides a starting point for building AIB-compliant agents.