You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Supports single-agent, multi-agent, or reflection-based agents (selectable via `.env`).
38
39
- Agents can self-loop, collaborate, reflect, or take on dynamic roles as defined in modules.
@@ -53,6 +54,15 @@ Welcome to the official repository for the Microsoft AI Agentic Workshop! This r
53
54
54
55
---
55
56
57
+
## 🆕 A2A (Agent-to-Agent) Cross-Domain Demo
58
+
59
+
This repository now supports a strict cross-domain multi-agent scenario using the A2A protocol, enabling message-driven, black-box collaboration between a customer-service agent and a logistics agent.
60
+
61
+
**A2A Example Included:**
62
+
See [`agentic_ai/agents/semantic_kernel/multi_agent/a2a`](agentic_ai/agents/semantic_kernel/multi_agent/a2a).
63
+
64
+
---
65
+
56
66
## Contributing
57
67
58
68
Please review our [Code of Conduct](./CODE_OF_CONDUCT.md) and [Security Guidelines](./SECURITY.md) before contributing.
This A2A implementation demonstrates inter-domain communication between agents in different domains. Unlike inter-agent communication within a single domain or application—where participating agents typically have full transparency into each other’s details—cross-domain agent communication enforces strict modularity and abstraction. In cross-domain scenarios, the logic and implementation of each agent system are hidden from one another, and only high-level structured information is exchanged. This approach aligns with Google’s Agent-to-Agent (A2A) protocol principles.
In this implementation, an agent within the Contoso Customer Service AI team collaborates with a Logistics Agent to arrange a product return pickup. After verifying the return eligibility, the Customer Service Agent initiates a multi-turn negotiation with the Logistics Agent to schedule a pickup at the customer's address. The process includes:
8
+
9
+
- The Customer Service Agent requesting available pickup slots from the Logistics Agent.
10
+
- The Logistics Agent responding with a list of available date/time options.
11
+
- The Customer Service Agent presenting these options to the customer and collecting a preferred slot.
12
+
- The Customer Service Agent confirming the selected slot with the Logistics Agent, who in turn confirms logistics with the carrier and finalizes the arrangement.
13
+
- Each communication is handled using high-level, schema-driven A2A messages, with neither agent exposing its internal logic, system details, or direct access to underlying services.
14
+
15
+
---
16
+
17
+
#### Mermaid Flow Diagram
18
+
19
+
```mermaid
20
+
sequenceDiagram
21
+
actor Customer
22
+
participant CSAgent as Customer Service Agent
23
+
participant LogAgent as Logistics Agent
24
+
25
+
Customer->>CSAgent: Request return for Order #85
26
+
CSAgent->>Customer: Verifies eligibility, explains process
0 commit comments