{"id":43175981,"url":"https://github.com/denniszielke/frontier-agents-workshop","last_synced_at":"2026-02-01T03:04:42.193Z","repository":{"id":327065570,"uuid":"1102945018","full_name":"denniszielke/frontier-agents-workshop","owner":"denniszielke","description":"Microsoft Agent Framework - learn how to adress agentic enterprise scenarios","archived":false,"fork":false,"pushed_at":"2025-12-03T18:29:03.000Z","size":8822,"stargazers_count":15,"open_issues_count":2,"forks_count":31,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-04T03:00:21.598Z","etag":null,"topics":["a2a","agents","mcp","microsoft-agent-framework"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/denniszielke.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-24T08:36:53.000Z","updated_at":"2025-12-03T18:29:07.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/denniszielke/frontier-agents-workshop","commit_stats":null,"previous_names":["denniszielke/frontier-agents-workshop"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/denniszielke/frontier-agents-workshop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denniszielke%2Ffrontier-agents-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denniszielke%2Ffrontier-agents-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denniszielke%2Ffrontier-agents-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denniszielke%2Ffrontier-agents-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/denniszielke","download_url":"https://codeload.github.com/denniszielke/frontier-agents-workshop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denniszielke%2Ffrontier-agents-workshop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28965436,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T02:14:24.993Z","status":"ssl_error","status_checked_at":"2026-02-01T02:13:55.706Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["a2a","agents","mcp","microsoft-agent-framework"],"created_at":"2026-02-01T03:04:41.512Z","updated_at":"2026-02-01T03:04:42.188Z","avatar_url":"https://github.com/denniszielke.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Microsoft Agent Framework - learn how to adress agentic enterprise scenarios\n\nJoin us for an immersive hands-on lab focused on Microsoft Agent Framework, where you will learn how to build intelligent multi-agent systems that leverage Azure AI capabilities. This session is designed for architects, developers, and AI enthusiasts who want to explore practical implementations of orchestration patterns.\n\n## Table of Contents\n\n1. [Overview](#overview)\n2. [Prerequisites](#prerequisites)\n3. [Learning Goals](#learning-goals-for-this-workshop)\n3. [Environment Setup](#environment-setup)\n4. [Workshop Scenarios](#workshop-scenarios)\n5. [Troubleshooting](#troubleshooting)\n6. [Additional Resources](#additional-resources)\n\n## What is an Agent?\n\n\u003e ***agent***: \tperceives its environment, makes decisions, takes actions autonomously in order to achieve goals, and may improve its performance with learning or acquiring knowledge \n\n![What is an agent](./what_is_an_agent.png)\n\n\n## Learning Goals for this workshop\n\nThis workshop is about learning to work with the Microsoft Agent Framwork - independently of AI Foundry.\n![story](./story.png)\n\n### 🛠 Agent Authoring\nLearning to use the *Microsoft Agent Framework* SDK for code-based and declarative agent development.\n\n![workflows](./images/workflows.png)\n\n### 🚀 Agent Debugging\nBuild, Test and Deploy agents using the DevUI, Foundry UI or VSCode Extension.\n\n![devui](./images/tooling.png)\n\n### 🔌 Connecting Agents\nConnect agents using AG-UI, MCP, A2A Protocols to integrate them into your solutions.\n\n![protocols](./images/protocols.png)\n\n### ⚙️ Multi-Agent Orchestration\nDefine multi-agent orchestration workflows to solve complex problems with agents.\n\n![patterns](./images/patterns.png)\n\n### 🔍 Agent Tracing \u0026 Evaluation\nTrace agent behaviour,  execution flows and evaluate quality and safety of agents.\n\n![evaluations](./images/evaluations.png)\n\n## Prerequisites\n\n- Python 3.10 or later\n- An GitHub account with a developer access token\n- Optional: Redis, AI Search and Application Insights\n\n## Environment Setup\n\n1. **Install packages**  (will be automatically done when using Codespaces)\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n2a. **Configure environment variables (for GitHub Models)**  \n   This project supports GitHub AI models via a personal access token (PAT).\n\n   1. Create a personal access token\n\n   To authenticate with the model you will need to generate a personal access token (PAT) in your GitHub settings. [GitHub Free AI Token](https://github.com/settings/tokens)\n\n   You can now access AI inference with your GitHub PAT. [Learn more about limits based on your plan](https://github.com/marketplace/models/azure-openai/gpt-4o-mini/playground#:~:text=Learn%20more%20about%20limits%20based%20on%20your%20plan.). You do not need to give any permissions to the token besides Model usage.\n\n   2. Configure the `.env` file\n\n   Rename the file `.env.example` to `.env` and set the `GITHUB_TOKEN` value:\n\n   ```bash\n   GITHUB_TOKEN=\"\u003cyour-github-pat\u003e\"\n   ```\n\n   Each Python script will load the values from the `.env` file automatically.\n\n2b. **Configure environment variables (for Azure OpenAI Models)**\n\n   If you want to use Azure OpenAI instead of (or in addition to) GitHub Models, also set the Azure-specific values in your `.env` file:\n\n   ```bash\n   AZURE_OPENAI_API_KEY=\"\u003cyour-azure-openai-key\u003e\"\n   AZURE_OPENAI_ENDPOINT=\"https://\u003cyour-resource-name\u003e.openai.azure.com/openai/v1/\"\n   AZURE_OPENAI_VERSION=\"2024-10-01-preview\"\n   COMPLETION_DEPLOYMENT_NAME=\"\u003cyour-completions-deployment-name\u003e\"\n   SMALL_DEPLOYMENT_MODEL_NAME=\"\u003cyour-small-model-deployment-name\u003e\"\n   RESPONSES_DEPLOYMENT_NAME=\"\u003cyour-responses-deployment-name\u003e\"\n   ```\n\n   The default values and structure for these settings are documented in the `.env.example` file.\n\n \n## Workshop Scenarios\n\nThis workshop is organized into seven independent, progressively more advanced scenarios. Each scenario has its own `README.md` in `src/scenarios` describing goals, tasks, references, and example prompts.\n\nYou do not have to use **[Spec Kit](https://speckit.org/)** for this workshop but we recommend to take a look because it a great way to practice professional software engineering with AI assistance.\n\n1. **Scenario 1 – learning how to build your first agent**  \n   Learn how to define a basic agent, connect tools, and use the Agent Framework Dev UI to inspect activities, metrics, and traces while the agent answers time and weather questions and maintains conversational memory.  \n   See [Scenario 1 README](src/scenarios/01-hello-world-agent/README.md).\n\n2. **Scenario 2 – building a user interface for your agent**  \n   Build a console-based client that talks to your agent over the AG-UI protocol, so you can send user input and receive agent responses without building a full web UI.  \n   See [Scenario 2 README](src/scenarios/02-building-agent-ui/README.md).\n\n3. **Scenario 3 – exposing your agents to other agents**  \n   Expose a weather agent over the A2A protocol and connect it to a separate travel-planning agent that calls it remotely to plan 5-day trips only to locations with good weather.  \n   See [Scenario 3 README](src/scenarios/03-connecting-two-agents/README.md).\n\n4. **Scenario 4 – orchestrating a workflow across multiple agents**  \n   Use deterministic workflows to control the order in which several agents (preference collection, location suggestion, weather checking, summarization) collaborate to create a travel plan.  \n   See [Scenario 4 README](src/scenarios/04-orchestrating-agents/README.md).\n\n5. **Scenario 5 – declarative agents and workflows**  \n   Recreate the travel planning and weather validation flow using declarative agent and workflow definitions instead of imperative code, to understand low-code orchestration patterns.  \n   See [Scenario 5 README](src/scenarios/05-declarative-agents/README.md).\n\n6. **Scenario 6 – moderating a discussion between agents**  \n   Design a multi-agent travel system (places, weather, activities, flights, hotels) coordinated by a moderator/orchestrator such as Magentic One, enforcing global rules like budget, preferred locations, and activity diversity.  \n   See [Scenario 6 README](src/scenarios/06-moderating-agents/README.md).\n\n7. **Scenario 7 – agent observability and evaluation**  \n   Enable OpenTelemetry-based tracing and metrics for one of your agents, wire it to an observability backend if available, and use evaluation loops and custom metrics to analyze and improve behavior.  \n   See [Scenario 7 README](src/scenarios/07-observability/README.md).\n\n## Troubleshooting\n\n- **Missing environment variables** — Verify `.env` mirrors the keys called out.\n- **Model deployments** - Make sure the model deployment names are matched in the env file. Notice that GitHub model deployment names are starting with a provider prefix \"openai/gpt-5-nano\" instead of \"gpt-5-nano\".\n- **Application Insights ingestion delay** — Telemetry can take a few minutes to appear in the Azure portal; use the Live Metrics Stream for near-real-time debugging.\n\n## Additional Resources\n\n- Product documentation: \u003chttps://learn.microsoft.com/en-us/agent-framework/overview/agent-framework-overview\u003e\n- GitHub repository: \u003chttps://github.com/microsoft/agent-framework\u003e\n- Microsoft AI guidance: \u003chttps://learn.microsoft.com/azure/ai-services/\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenniszielke%2Ffrontier-agents-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenniszielke%2Ffrontier-agents-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenniszielke%2Ffrontier-agents-workshop/lists"}