https://github.com/microsoft/spec-to-agents
A multi-agent event planning workflow built with Microsoft Agent Framework - combining Semantic Kernel's enterprise orchestration with AutoGen's multi-agent patterns.
https://github.com/microsoft/spec-to-agents
agent-framework autogen azure-ai-foundry semantic-kernel
Last synced: about 16 hours ago
JSON representation
A multi-agent event planning workflow built with Microsoft Agent Framework - combining Semantic Kernel's enterprise orchestration with AutoGen's multi-agent patterns.
- Host: GitHub
- URL: https://github.com/microsoft/spec-to-agents
- Owner: microsoft
- License: mit
- Created: 2025-08-20T16:05:40.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-05-29T06:56:50.000Z (30 days ago)
- Last Synced: 2026-06-04T15:28:00.124Z (24 days ago)
- Topics: agent-framework, autogen, azure-ai-foundry, semantic-kernel
- Language: Python
- Homepage: https://learn.microsoft.com/en-us/agent-framework/overview/agent-framework-overview
- Size: 2.47 MB
- Stars: 111
- Watchers: 2
- Forks: 55
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
- Support: SUPPORT.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Event Planning Multi-Agent System
[](https://codespaces.new/microsoft/spec-to-agents)
A multi-agent event planning workflow built with **[Microsoft Agent Framework](https://github.com/microsoft/agent-framework)** - combining Semantic Kernel's enterprise orchestration with AutoGen's multi-agent patterns.
> [!NOTE]
> **Ignite 2025 Lab**: [LAB513 - Build A2A and MCP Systems Using SWE Agents and Agent Framework](https://github.com/microsoft/ignite25-LAB513-build-a2a-and-mcp-systems-using-swe-agents-and-agent-framework/blob/main/lab/instructions/instructions.md)
## ๐ฏ What This Demonstrates
This sample shows you how to build a production-ready multi-agent system with:
- **Multi-Agent Orchestration**: 5 specialized agents coordinating event planning
- **Human-in-the-Loop**: Interactive approval and feedback during workflow execution
- **Tool Integration**: Web search, weather APIs, calendar management, and code interpreter
- **Azure Deployment**: One-click deployment with Azure Developer CLI (azd)
## ๐๏ธ Architecture
### Multi-Agent Workflow Design
The system uses a **coordinator-centric star topology** where the Event Coordinator routes tasks to specialized agents and synthesizes their outputs into a comprehensive event plan:

### Agent Tools & Capabilities
Each specialist agent has access to domain-specific tools for their area of expertise:

**Tool Integration:**
- **Venue Specialist**: Web Search (Bing Grounding)
- **Budget Analyst**: Code Interpreter (Python REPL)
- **Catering Coordinator**: Web Search (Bing Grounding)
- **Logistics Manager**: Weather API (Open-Meteo) + Calendar Tools (iCalendar)
- **All Agents**: MCP Sequential Thinking (Model Context Protocol for complex reasoning)
## ๐ Quick Start
### Prerequisites
- Python 3.11+
- [uv](https://docs.astral.sh/uv/) - Python package manager
- [Azure CLI (az)](https://learn.microsoft.com/cli/azure/install-azure-cli)
- [Azure Developer CLI (azd)](https://learn.microsoft.com/azure/developer/azure-developer-cli/install-azd)
- Azure subscription
### Deploy to Azure
```bash
# Clone and navigate to the repository
git clone https://github.com/microsoft/spec-to-agents.git
cd spec-to-agents
# Login to Azure
az login
azd auth login
# Deploy everything (provisions resources, generates .env, installs dependencies)
azd up
```
**What happens:**
- โ
Provisions Microsoft Foundry + OpenAI models
- โ
Generates `.env` with connection details
- โ
Installs Python dependencies via `uv sync`
### Run Locally
**Interactive Console (Recommended):**
```bash
uv run console
```
**DevUI (Visual Interface):**
```bash
uv run app
```
Then navigate to the URL shown (by default `http://localhost:8080`)
### Example Input
Try this event planning request:
```
Plan a corporate holiday party for 50 people on December 6th, 2025 in Seattle
with a budget of $5,000. Include venue options, catering for dietary restrictions,
and check the weather forecast.
```
The agents will collaborate to:
1. Search for suitable venues
2. Calculate budget breakdown
3. Recommend catering options
4. Check weather and create calendar event
5. Synthesize a comprehensive plan
## ๐ ๏ธ Project Structure
```
spec-to-agents/
โโโ src/spec_to_agents/
โ โโโ main.py # DevUI entry point (uv run app)
โ โโโ console.py # Interactive CLI entry point (uv run console)
โ โโโ agents/ # Agent definitions (budget_analyst, venue_specialist, etc.)
โ โโโ prompts/ # System prompts for each agent
โ โโโ tools/ # Tool implementations (web search, weather, calendar, mcp)
โ โโโ workflow/ # Workflow orchestration logic
โ โโโ utils/ # Shared utilities and clients
โโโ tests/ # Unit and integration tests
โโโ infra/ # Azure infrastructure (Bicep templates)
โโโ scripts/ # Post-provisioning hooks
```
## ๐ Key Features
### Service-Managed Threads
All agents use `store=True` for automatic conversation history management via Azure AI Service - no manual message tracking required.
### Human-in-the-Loop
Framework-native `ctx.request_info()` enables pausing workflows for user input with automatic state preservation.
### Structured Output Routing
Agents return Pydantic models with explicit routing decisions (`next_agent` field), enabling dynamic workflow orchestration.
## ๐งช Development
**Run Tests:**
```bash
uv run pytest
```
**Detailed Setup:**
See [DEV_SETUP.md](./DEV_SETUP.md) for debugging instructions and manual configuration.
## ๐ฆ Azure Resources
Provisioned automatically by `azd up`:
- **Microsoft Foundry**: AIServices resource and Project for service managed agents
- **Azure OpenAI**: gpt-5-mini (primary) and gpt-4.1-mini (web search)
- **Bing Search**: Grounding API for web searches
- **Container Registry & App**: For deployment (optional)
- **Application Insights**: Telemetry and monitoring
# ๐ค Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA).
# ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.