The Microsoft Agent Framework is an open-source library for building, orchestrating and deploying AI agents within an Azure-native environment. It combines ideas from the Semantic Kernel and AutoGen projects and adds new capabilities for agentic and graph-based workflows.
Designed around principles of modularity, service-based integration, and in-depth observability, the framework enables developers to create scalable, auditable AI solutions with ease.
In this blog, I’ll share how we applied these principles in a recent project where we developed an agentic workflow leveraging Retrieval-Augmented Generation (RAG) to identify and recommend actions for specific types of clauses, and how the framework helped simplify orchestration and governance in a complex AI pipeline.
Building on the core principles of modularity, orchestration, observability, and fault isolation, each agent within a workflow should perform a single, well-defined task to enable scalability, fault isolation and auditability, which is critical for developing enterprise-grade AI solutions.
The framework is built around several core services:
These services allow for simple integration with Azure services such as Functions, Blob Storage, Cosmos DB, Key Vault and AI Foundry. Traces can be connected to AI Foundry Tracing, where the agent registry can be accessed in a convenient user interface.
A user would pass a contract through a frontend to be hosted by the multi-agent system.
To illustrate the Agent Framework in action, we built a contract analysis workflow where a user can pass a PDF through a UI and receive an email detailing which clauses within the contract require actioning prior to renewal. For this, we implemented a RAG-based approach where contracts are chunked at the clause level, retrieved by clause type, and analysed by an agent to determine the required action.
The main agents are detailed below:
When developing, we persisted agent outputs to Blob Storage for simple debugging and observability. We ensured governance through YAML-based prompts and definitions with Jinja templating. A shared library centralised the agent registry, runtime orchestration, client wrappers for consistency across the workflow.
As a team familiar with libraries such as LangGraph, we found that the framework significantly improved how we developed and deployed agentic workflows. Integrating Azure services such as AI Foundry was straightforward, and ensuring security through RBAC and Key Vault didn’t require much additional work.
The modular approach allowed developers to concentrate on agents separately though some care was required to ensure correct data flow between agents through Service Bus. Overall, the framework gave us a strong foundation for building a scalable, well-governed agentic solution in the cloud.