ACP (Agent Communication Protocol) #284
Replies: 33 comments 66 replies
-
Agent should eventually be a microservice deployed to k8s that has access vectordb, MCP,graphdb, ontologies, tools (As json in elastic search) it can receive text or/embedding and should be able to embed it and query it, have identity based on prompts. this is just an helm chart. agents can converse via any protocol. I suggest Agent-Mesh: a single connection with embedding 2 embedding conversation, vector fight, infinite recursive loop of multiple models being able to send embedding and receive embedding, a new world of agent to agent embedding enrichment |
Beta Was this translation helpful? Give feedback.
-
We also need to design when agent are communicating what would be the format and how can they communicate with optimal data encoding. |
Beta Was this translation helpful? Give feedback.
-
I'm looking into how ACP could integrate with different aspects of agent architecture, particularly around data persistence in terms of privacy and integrity. I'm considering a demo that shows how Solid W3C data wallets (via Podspaces) could serve as the privacy-preserving persistence layer within the broader agent ecosystem @amitsides described. This would demonstrate how Agents operating in a microservice/k8s environment could securely access user data stored in Solid pods, yet user control remains intact even as agents utilize vectorDBs, graphDBs, and embedding-based communication. Sensitive data (like healthcare information) stays in user-controlled storage while still being accessible to authorized agent processes. Before proceeding:
The goal would be showing how ACP can enable sophisticated agent capabilities while maintaining strong privacy boundaries through user-controlled data wallets. |
Beta Was this translation helpful? Give feedback.
-
Is there a discussion around compatibility with current MCP servers? Being able to leverage the current momentum and work around MCP could help quicken adoption. But there are the obvious downsides of having to support cross-conpatability. |
Beta Was this translation helpful? Give feedback.
-
Would be good to make a list of prior technologies that we believe are good, and therefore we will try and avoid duplicating them. Things like REST, OAuth, etc. I am assuming MCP is also "good". Good List: Bad List: Neutral List: |
Beta Was this translation helpful? Give feedback.
-
Standardized Agent Role TaxonomyInstead of viewing all agents as equal peers in a flat network, a formalized role hierarchy could provide structure to the agent ecosystem: interface AgentRole {
type: RoleType;
capabilities: Capability[];
trustLevel: TrustLevel;
allowedCommunication: CommunicationPattern[];
}
enum RoleType {
ORCHESTRATOR, // High-level coordination
DOMAIN_SPECIALIST, // Business logic in specific domains
RESOURCE_MANAGER, // Managing computational resources
INTERFACE_AGENT, // External system interfaces
OBSERVER, // Monitoring and metrics
TOOL, // Single-purpose utilities
CONVERSATIONAL, // Specialized in user interactions and dialog management
RESEARCHER // Information gathering, synthesis and analysis
} Role-Specific Characteristics ORCHESTRATOR: Coordinates complex workflows across multiple agents, maintains high-level state, and makes decisions about task delegation. Extensibility ConsiderationsThe provided taxonomy and structures are intentionally designed for extensibility. Roles and capabilities can easily be extended or specialized further:
interface DomainSpecialistRole extends AgentRole {
specialization: string; // must match /^[a-z]+(-[a-z]+)*$/
}
// Examples: 'finance', 'healthcare', 'supply-chain', 'custom-domain'
This approach allows for structured innovation within a stable and predictable ecosystem. Practical Implementation in K8s
Benefits for Discovery & Trust
interface Capability {
id: string; // Unique identifier
resourceType: string; // What kind of resource this grants access to
operations: Operation[]; // What operations are allowed
constraints: Constraint[];// Additional restrictions
expiresAt?: Date; // Optional expiration
delegatable: boolean; // Can this capability be passed to others?
} Implementation Approach
Benefits
enum AgentState {
INITIALIZING,
ACTIVE,
DEGRADED,
RETIRING,
RETIRED
}
interface AgentLifecycle {
state: AgentState;
version: string;
createdAt: Date;
createdBy: string;
retirementPlan?: RetirementPlan;
successorAgent?: string;
} Key Lifecycle Processes
Benefits for Dynamic Agent Environments
(written by human, formatted by ai) |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
A challenging part of the agent space is how to authenticate and authorize agents, whether on-behalf-of a human operator, or as "themselves." When considering a protocol on how Agents collaborate, it strikes me that this will only get more challenging.
There is relevant work and emerging standards in the industry, such as: @ismaelfaro I would love to engage and contribute around this topic. |
Beta Was this translation helpful? Give feedback.
-
This is so cool! Saw the announcement on Linkedin. I'm coming from the mcp perspective - I'm the author of mcp-framework, the most used typescript framework for MCP servers (https://mcp-framework.com) and I am also the volunteer manager of the r/modelcontextprotocol community Reddit and Discord. Come join and say hi if you haven't already - we're chatting there geeking out about the protocol all day, there's a lot of FOSS devs in there that would jump in on this conversation. Would love to participate in this project, is there any place where you're holding a more casual discussion? Eager to dive into this once I get more bandwith in the coming weeks. Let's collab! |
Beta Was this translation helpful? Give feedback.
-
Agent Context Protocol mentioned here: https://www.reddit.com/r/modelcontextprotocol/comments/1jejtag/re_the_fake_mcp_community/ |
Beta Was this translation helpful? Give feedback.
-
Another area is a Control Panel which would be a one stop place for consumers. Given the multi agent involvement it would be great if we have in early stage for adoption. |
Beta Was this translation helpful? Give feedback.
-
I've been developing an agent evolution toolkit that has given me some perspective on agent communication protocols. I'd like to share some thoughts on ACP design principles: Agent-Centric Communication ModelCurrent multi-agent workflows typically follow one of two patterns:
I believe we need an approach that recognizes agents as capability providers where:
Moving Beyond Monolithic SystemsCurrently, most multi-agent systems run like monolithic applications - everything in the same process, similar to early object-oriented software. To scale effectively, ACP should enable:
Agent Description vs. ImplementationThe protocol should focus on what agents can do rather than how they do it:
Protocol Design PrioritiesI suggest the ACP development prioritize these aspects:
Only after these concepts are clearly defined should we focus on the technical implementation (JSON-RPC vs gRPC vs WebSockets, etc.) ProposalPerhaps we could start by defining:
This would provide a foundation that could be implemented across different technological approaches while ensuring conceptual consistency. What do others think about centering the ACP design on agent capabilities and responsibilities before diving into implementation details? I am in the early stages of exploring some of these ideas here: https://github.com/matiasmolinas/evolving-agents/ |
Beta Was this translation helpful? Give feedback.
-
I think one of the more fundamental issues around agents are keeping their context unpolluted. Over time this should be less and less of an issue (altho I'm curious to see how we will bypass this fundamental transformer architecture problem), but for me agents solve the problem of single responsibility but shared context. That way each receives what they need, and no more. So I think about it from that angle |
Beta Was this translation helpful? Give feedback.
-
I am learning how to use ACP(Agent Communication Protocol) building a small RAG application. This application has a tool that given an url, it will retrieve its content store it in a vector db(Chroma in this case) then use it to reply to users through semantic search. @ismaelfaro If this is not the right place for this kind of question, please point me to the right one, I am really interested in learning how this protocol works. I tried MCP before with a similar application and it seems to be working, so I am probably missing something here with ACP but not sure what. |
Beta Was this translation helpful? Give feedback.
-
Orchestration is premature, for now. Lots of wins with JSON-RPC can be had emulating similarities between the 'ladder-like' nervous system in invertebrates and the 'Agent-Mesh' concept. Let's slither before we crawl. |
Beta Was this translation helpful? Give feedback.
-
I think this is going to be important... currently one of the most frequent requests I get for individual agents is to be able to stream agent events (folks want to see them "think"), so it will be interesting to see how that can be adapted for multi-agent workflows and communications... |
Beta Was this translation helpful? Give feedback.
-
Hi ACP community, first thanks for the good discussions, now let me recap and group here the main concepts:
Our intention is create work streams for this main discussion, and add the key topics and participants, to progress in the details. This is going to helps us to Release proposal of priority items for review, by end of next week, and use it for our "ACP online community meeting" the week after. |
Beta Was this translation helpful? Give feedback.
-
Hi all, Following up on the excellent discussions here regarding ACP, I wanted to share some progress and thoughts based on applying these concepts within my
Will share updates as these components develop! Eager to hear feedback on this direction. |
Beta Was this translation helpful? Give feedback.
-
I see DAPR would be a solid foundation for building POC. If cloud native tools and concepts can be reused, eg. pub/sub pattern, statestores (context sharing), service discovery. Together with concepts similar to docker hub where agents can be versioned with comm protocol version that follows a standardized schema it would be sufficient to expose capabilities. Together with MCP integration at agent level could be a well rounded implementation for a proof of concept. |
Beta Was this translation helpful? Give feedback.
-
Comments on API reference:
|
Beta Was this translation helpful? Give feedback.
-
Thanks everyone for the comments in this thread. I'm open a new thread base in all the inputs, and groping it to start to divide the participation in work-streams, focus in key components. ACP Work Streams: https://github.com/orgs/i-am-bee/discussions/488 We invite you to add there extra comments and also participate in the our Community meeting April 8th. Also you can follow some more realtime news about the project in Discord |
Beta Was this translation helpful? Give feedback.
-
Hey team. Based on this most excellent discussion, we have taken the first step of moving from ACP pre-alpha to a draft of our Alpha spec, built from the ground up for agent to agent communication. Let's go!
|
Beta Was this translation helpful? Give feedback.
-
Hi everyone, Great to see the progress with the ACP Alpha spec draft and the ongoing discussions! Building on the excellent discussions here and with the goal of contributing practical insights to BeeAI ACP, I wanted to share some progress and thoughts from applying related concepts within my
So, my current focus within Eager for feedback on this direction and happy to collaborate on integrating the most promising ideas into BeeAI ACP! |
Beta Was this translation helpful? Give feedback.
-
I need to take some time to read the above (very good, fun, and exciting) thread, what I have taken from my cursory first pass from the last week's updates or so is that I really like the distinction between the various buses, and perhaps this is an internal bias from earlier in my career where I began in networking (back in the circuit-switched days...think 53 byte cells, even! ATM, hahahaha....at IBM!), and in many ways, this is perhaps a greenfield set of problems, but the connections as a mental model (and not at all suggesting actual transport layer similarity at all) back to systems like Erlang, signalling protocols in circuit switched networks (as an analogue to stateful agents versus packet, specifically UDP, really, which are an analogue to stateless agents) continues to tug at me. The amount of work telecom, energy, etc have put into the question of control planes, data planes, management planes, in band/out of band for all things from resource allocation, provisioning, audit, security, etc I feel like is a very useful body of work to reference for both what to do and not to do. The question of clean slate (one extreme) and "nothing to invent here" (the other) is an interesting one without a singular answer. Which I also think is a reason you see k8s come up here a lot, because it tends to be one of the few well-adopted systems that converges this and is, good or bad or indifferent, established. With Cisco in at AGNTCY, it's interesting to wonder/consider how much of the network (hardware or software defined) may actually be thinking in this regard, too. So, to take this to perhaps the next level of absurd, there are likely models in biology (cellular & developmental, esp?) that could provide some very useful operational models and mental models that tend to have way more wisdom than us as humans can put in. To put this relatively heady/nebulous few paragraphs into a finer point: I feel like a very concise set of requirements and stories in this could help frame a meta-discussion of sorts around the nature of data buses, purpose, and intention, because I think two buses may, perhpas not be enough, and bee is uniquely positioned I think to be opinionated on defining or codifying a lingua franca to define buses (that roughly map to agents or sets of agents) as more levels of things are fully automated (think: self-evolving/adapting systems where they may very well define their own buses). Does such a document/discussion exist? |
Beta Was this translation helpful? Give feedback.
-
Hi all, it's great seeing Google's A2A protocol released, which definitely reinforces the importance of the standardization work we're doing here with BeeAI ACP. I'm keen to contribute where I can, and I've been using my Evolving Agents Toolkit (EAT) project (https://github.com/matiasmolinas/evolving-agents) to explore some concepts discussed here. My aim is to build practical POCs and share the learnings and ideas back to this group for consideration as ACP develops. Specifically, inspired by ideas shared here, including @ismaelfaro's suggestion, I'm exploring within EAT: 1) A dual communication bus (System/Data) to see if it helps clarify responsibilities; 2) "Smart Context" mechanisms to explore ways to manage context relevance for agent interactions, hopefully addressing some concerns like those @QuantGeekDev raised; 3) Capability-based discovery/routing; and 4) How a protocol might accommodate agent evolution. I think validating these concepts practically might offer useful patterns or data points for the ACP design discussions. My goal is simply to share these POCs and any resulting ideas that could potentially be used to improve or inform the final implementations within ACP, helping make it a powerful protocol for the complex use cases we envision. I also agree it's useful to analyze efforts like A2A. By understanding different approaches, I believe we can ensure ACP offers unique value and strong interoperability, rather than just being a replacement. Connecting these efforts helps us build towards truly adaptive and collaborative agent ecosystems, using standards like ACP as the foundation. Looking forward to continuing the discussion and sharing more concrete POC results soon! |
Beta Was this translation helpful? Give feedback.
-
Thank for taking some time to answer @matiasmolinas . I'm a bit busy right now but I also wanted to point out that, as discussed on the call yesterday, it might make sense to replace the "Await" keyword with something that doesn't overlap with similar concepts in programming like the |
Beta Was this translation helpful? Give feedback.
-
Hey all! I've been reading through the proposals, and I think there's a lot of value being surfaced in this discussion. I’d like to contribute about the security, traceability, and workflow observability at scale, especially within a pure agent-based architecture. Concept: Intent-First Agent Orchestration (Secure, Observable, and Human-Centered Agent Workflows)Instead of allowing agents to immediately execute actions (e.g., via tools exposed through MCP), agents would propose their next actions in a structured, common language, which are:
This shifts ACP-based systems from a default of “act immediately” to a more cautious, “plan first, act second (with approval)” approach. Why This Matters: Security by DesignFrom my point of view, MCP-based integrations are powerful but also open up real-world vulnerabilities that ACP could mitigate by design:
By introducing a frozen intent-review model, we get:
Architectural Flowflowchart TD
A[Agents] --> B[ACP Message Proposals]
B --> C[Intent Coordinator<br/>- Builds FSM or DAG<br/>- Validates dependencies<br/>- Converts to structured Intent Language]
C --> D[Human Review Layer<br/>- UI for workflow approval<br/>- Optional annotations]
D --> E[[Execution Begins Only After Approval]]
Example Intent Proposal{
"intent_id": "step-004",
"agent": "PlannerAgent",
"action": "send_summary_to_customer",
"params": { // MCP Current parameters definition
"email": "[email protected]",
"content_ref": "step-003-result"
},
"justification": "End of report flow",
"depends_on": ["step-003"]
} Instead of, executing this action immediately, the system would add it to a proposed workflow queue, modeled as a finite state machine or DAG. The human reviewer could inspect, approve, edit, or reject the plan before any real-world execution occurs. Would Love Feedback On:
Looking forward to hearing your thoughts and continuing the conversation 😄 |
Beta Was this translation helpful? Give feedback.
-
spec: {
k8s-deployment-agent: {
rbac-policies: {
agent-identity: "k8s-agent",
capabilities: ["vector-embeddings", "peer-to-peer"]
}
}
</thinking>
<answer>
The ACP (Agent Platform) discussion revolves around various key elements, which are summarized as follows:
1. **Kubernetes Integration**:
```yaml
spec: {
k8s-deployment-agent: {
rbac-policies: {
agent-identity: "k8s-agent",
capabilities: ["vector-embeddings", "peer-to-peer"]
}
}
</thinking>
2. **Security Models**
```yaml
spec: {
oauth2.1-agent: {
capability-based-security-model: {
agent-identity: "mcp-agent",
capabilities: ["vector-embeddings", "peer-to-peer"]
}
}
</thinking>
3. **Communication Protocols**:
```yaml
spec: {
communication-protocols: {
vector-embeddings: ["agent-to-agent"],
peer-to-peer: ["agent-to-agent"],
capabilities: ["dynamic-discovery"]
}
} |
Beta Was this translation helpful? Give feedback.
-
MCP and A2A got massive attention. Will IBM join MCP? |
Beta Was this translation helpful? Give feedback.
-
Just want to point out that the term ACP which I agree generic overlaps with other initiatives like the one CNOE.io is working with CISCO in AGNTCY is there a way to collaborate on these agent to agent communication? |
Beta Was this translation helpful? Give feedback.
-
[Updates]
Alpha spec draft is here! 👉 i-am-bee/discussions/497
Review the OpenAPI schema. Learn more from the docs.
ACP Workstreams are here! 👉 i-am-bee/discussions/488
We invite you to self-nominate, tag in collaborators, add comments and also participate in the our Community meeting April 8th.
[Original post]
We invite you to add there extra comments and also participate in the our Community meeting April 8th.
We started to discuss and implement an alpha version of ACP, based in solid ideas from MCP, and starting to connect points with other projects such as NLIP
Suggested topics:
The discussion is open. 👋
Beta Was this translation helpful? Give feedback.
All reactions