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
> The deployment process typically takes 15-20 minutes
28
30
>
@@ -32,51 +34,63 @@ Last updated: 2026-01-29
32
34
33
35
## Key Features
34
36
35
-
-**Enhanced A2A Protocol**: Agent-to-Agent communication with delegation patterns, specialized agent coordination, and factual data integration
36
-
-**6-Agent Architecture**: Specialized AI agents with proper delegation through A2A protocol:
37
+
-**Multi-agent chat orchestration (default runtime)**: WebSocket `/ws` chat app orchestrates multiple agents in a single conversation flow (routing + multi-step handoffs)
38
+
-**6-Agent Architecture (real Azure AI Foundry agents)**:
37
39
-**Cora (Shopper)**: Front-facing assistant for general customer queries
38
-
-**Interior Design Specialist**: Design expertise and style recommendations
39
-
-**Inventory Manager**: Stock availability and product lookup coordination
40
-
-**Customer Loyalty**: Rewards management and discount optimization
41
-
-**Cart Manager**: Shopping cart operations and checkout coordination
42
-
-**Product Management Specialist**: Coordinates with Marketing Agent, Ranker Agent, and Product Information Plugin for comprehensive product services
43
-
-**Specialized Agent Delegation**: Product Manager delegates marketing tasks to Marketing Agent and ranking tasks to Ranker Agent as appropriate
44
-
-**Factual Data Plugin**: Product Information Plugin provides accurate product catalog data from predefined sources
45
-
-**Real MSFT Foundry Agents**: Integrates with **MSFT Foundry** to create and host persistent agents with proper delegation patterns
46
-
-**Zero-Touch Deployment**: A single [terraform apply](./terraform-infrastructure/README.md) command handles the entire lifecycle including enhanced A2A framework deployment
-**Customer Loyalty**: Rewards and discount-related queries
43
+
-**Cart Manager**: Cart operations and checkout-oriented help
44
+
-**Product Management Specialist**: Handles product-centric workflows and coordinates lookups across services
45
+
-**Intent routing + handoff planning**: Classifies user intent and plans a multi-step sequence of agent calls (instead of a single “one agent answers everything” flow)
46
+
-**Factual data integration**: Uses **Azure AI Search** (vector/keyword retrieval) and **Azure Cosmos DB** (catalog/state) during workflows
47
+
-**Real persistent agents**: Uses Azure AI Foundry Agents with saved runtime IDs (OpenAI-style `asst_*`) provisioned during deployment
48
+
-**Zero-touch deployment**: `terraform apply` provisions infra, ingests data, creates/updates agents, wires secrets/config, and deploys the Container Apps revision
49
+
-**UI-visible diagnostics**: Correlated `error_id` responses and optional tracebacks via `A2A_DEBUG=true` for faster troubleshooting
50
+
-**Optional A2A server included**: `src/a2a/` contains an A2A-style server framework, but it is not the default Container Apps entrypoint unless you deploy it explicitly
49
51
50
52
## About A2A Protocol
51
53
52
-
`A2A (Agent-to-Agent) Protocol is a standardized communication framework that enables multiple AI agents to collaborate and coordinate tasks seamlessly.`
54
+
`A2A (Agent-to-Agent) Protocol is a standardized communication framework that enables multiple AI agents to collaborate and coordinate tasks seamlessly.` Like a communication pattern for coordinating multiple agents through structured messages, delegation, and (optionally) event-driven workflows.
55
+
56
+
This repo contains **two multi-agent implementations**:
57
+
58
+
-**Default deployed chat runtime (what the Dockerfile runs)**: WebSocket `/ws` in `src/chat_app_multi_agent.py`, which routes requests and orchestrates **real Azure AI Foundry Agents** in a multi-step handoff sequence.
59
+
-**Optional A2A server implementation**: an A2A-style server under `src/a2a/` (routers, coordinator, event/task framework). Use this only if you deploy/run that entrypoint.
53
60
54
61
> What is A2A Protocol?
55
62
56
-
-**Agent-to-Agent Communication**: Structured messaging between multiple AI agents
57
-
-**Task Coordination**: Agents can delegate tasks to specialized agents
58
-
-**Event-Driven Architecture**: Real-time event handling for agent interactions
59
-
-**Agent Discovery**: Automatic detection and registration of available agents
60
-
-**Protocol Standardization**: Consistent API for inter-agent communication
63
+
-**Agent-to-Agent Communication**: structured messaging between multiple agents
64
+
-**Task Coordination**: agents can delegate tasks to specialized agents
65
+
-**Event-Driven Architecture (optional)**: event handling for asynchronous workflows
66
+
-**Agent Discovery (optional)**: enumerate/register available agents
67
+
-**Protocol Standardization**: consistent message formats and APIs
61
68
62
-
> A2A Components in This Project:
69
+
> How this repo implements multi-agent collaboration (default deployment)
-**Product Details**: "What are the specifications of product SOFA-001?" (Product Manager uses Product Information Plugin)
212
-
-**Multi-Agent**: "Find a sofa, check reviews, and verify my loyalty points" (Complex A2A coordination across multiple specialized agents)
213
-
219
+
4.**Test Multi-Agent Routing (UI)**: `Adjust as needed, this is just a base`. For example:
220
+
-**General**: “Hi, who are you?” (Routed to **Cora**)
221
+
-**Inventory**: “Do you have the classic leather sofa in stock?” (Routed to **Inventory Manager**)
222
+
-**Design**: “What colors of green paint do you have?” (Routed to **Interior Design Specialist**)
223
+
-**Product Recommendations**: “Recommend modern furniture for my living room” (Routed to **Product Management Specialist**; may consult catalog/search depending on its prompt/tools)
224
+
-**Product Comparisons**: “Compare sectional sofas” (Routed to **Product Management Specialist**; comparison is handled within that agent)
225
+
-**Product Details**: “What are the specifications of product SOFA-001?” (Routed to **Product Management Specialist**; details are handled within that agent)
226
+
-**Multi-Agent**: “Find a sofa, then verify my loyalty points, and add it to my cart” (Coordinated across **Product Management → Customer Loyalty → Cart Manager** via the app’s multi-step routing)
> This approach focuses on `setting up the required infrastructure via Terraform`. It allows for source control of not only the solution code, connections, and setups `but also the infrastructure itself`.
0 commit comments