Agent Framework Core
Microsoft's core Python package for building and orchestrating production-grade AI agents
Repository Health
Technical Analysis
Agent Framework Core is the core package of Microsoft Agent Framework (MAF), an open, multi-language framework for building production-grade AI agents and multi-agent workflows in Python and .NET. It provides the primary abstractions — agents, chat clients, tools, sessions, middleware, observability, and workflow orchestration — that the thin agent-framework umbrella package and every optional provider integration (Azure, OpenAI, Anthropic, Bedrock, Gemini, Mem0, Redis, and more) build on.
The package exposes a lazily-resolved public API so import agent_framework stays lightweight, and it bundles a devui component, declarative workflow support, and A2A/AG-UI protocol integrations. It underlies Microsoft’s guidance for taking agents from prototype to production while supporting Microsoft Foundry, Azure OpenAI, OpenAI, and the GitHub Copilot SDK, among other ecosystems.
What You Get
- Core agent and chat-client abstractions for building conversational and tool-using AI agents
- A workflow orchestration layer for composing multi-agent and multi-step agentic processes
- Middleware and observability hooks (OpenTelemetry-based) for instrumenting agent behavior in production
- Built-in integrations for major model providers and platforms (OpenAI, Azure OpenAI, Anthropic, Bedrock, Gemini, Ollama) available as optional extras
- Protocol integrations for A2A (agent-to-agent) and AG-UI, plus a
devuicomponent for local agent development - Declarative workflow support for defining agent workflows outside of pure Python code
Common Use Cases
- Building a single conversational AI agent with tool-calling against Azure OpenAI or OpenAI models
- Orchestrating a multi-agent workflow where specialized agents hand off tasks to one another
- Instrumenting agent runs with OpenTelemetry-based observability for production monitoring
- Prototyping agent behavior locally with the
devuicomponent before deploying to Microsoft Foundry - Standardizing on a single agent abstraction that can swap between OpenAI, Anthropic, Bedrock, or Gemini backends
Under The Hood
Architecture The package lives at python/packages/core inside the microsoft/agent-framework monorepo, with the top-level agent_framework/__init__.py lazily resolving most public exports to keep a bare import agent_framework lightweight, while dedicated subpackages (agent_framework/azure, openai, anthropic, google, amazon, redis, mem0, _workflows, orchestrations, a2a, ag_ui, devui, declarative) implement each provider integration, workflow engine, and protocol adapter as an isolated module. Tech Stack Python 3.10+ built on Pydantic 2 for typed data models, OpenTelemetry for observability instrumentation, python-dotenv for configuration, and typing-extensions; the wider repository is a uv-managed Python/.NET polyglot monorepo with 30+ sibling packages under python/packages/ (a2a, azure-ai-search, bedrock, chatkit, copilotstudio, foundry, mistral, purview, and more) that all depend on this core package. Code Quality The tests/core and tests/workflow directories provide dedicated coverage for the agent and orchestration layers, the project enforces typing via Typing :: Typed classification plus pyright/pyrefly/ty configs checked into the repo, and a PACKAGE_STATUS.md file explicitly tracks the maturity of each sub-package, reflecting active, deliberate release management across a large surface area. API Design The framework standardizes agent and chat-client interfaces across every model provider integration, so switching from OpenAI to Azure OpenAI or Anthropic is largely a configuration change rather than a rewrite, though the framework’s breadth (workflows, middleware, multiple protocols) means there is a real learning curve before newcomers use more than the basic agent/tool pattern.