ADR-0002: Microsoft Agent Framework over Semantic Kernel¶
Decision
This page records a decision and its status. A Proposed decision is not binding; an Accepted decision is binding on the Factory until amended or superseded.
- Status: Accepted
- Date: 2026-01-01
- Deciders: Enterprise Architect, AI/Agent Lead
- Tags: agents, ai, runtime
Reviewed 2026-10-09 — retained, clarified
- Disposition: retain. The user re-confirmed on 2026-10-08 that Microsoft Agent Framework is the primary execution adapter.
- Clarification: Semantic Kernel orchestration is excluded; the
Microsoft.SemanticKernel.Connectors.*vector-store packages are permitted and are in use (see ADR-0013). "Semantic Kernel is not used" above should be read with that distinction. - Verified:
Microsoft.Agents.AI1.21.0 in AgentsFramework, Factory and the template base; 1.8.0 inFactory.MessagingandFactory.Messaging.MassTransit(pin drift to resolve). No durable checkpoint or session integration is evidenced. Three entry paths in the agent host bypass the shared lifecycle (FactoryAgentBase): the MCP sample tool, the REST sample use case and the optional DevUI endpoints. The lifecycle has noCancelledstage (ADR-0014). - Provenance:
Dateis the 2026-06-17 bulk-commit value, not an approval date.
Context¶
The factory's core is an autonomous agent mesh. It needs a supported, composable agent runtime for multi-agent orchestration, tool/skill invocation, and model abstraction. Early documentation referenced Semantic Kernel; the platform has standardized on the Microsoft Agent Framework (Microsoft.Agents.AI.*) together with Microsoft.Extensions.AI and MCP for tool integration.
Decision¶
Use the Microsoft Agent Framework as the agent runtime for all agents in the Agent Mesh. Model access goes through Microsoft.Extensions.AI abstractions; tools are integrated via MCP. Semantic Kernel is not used.
Consequences¶
Positive¶
- Supported, forward-looking agent runtime aligned with the Microsoft AI stack.
- Clean model abstraction and tool/skill integration consistent with agent task contracts.
Negative / trade-offs¶
- Residual Semantic Kernel references in legacy specs have been normalized (see Inconsistencies).
Neutral¶
- Agent capability boundaries are declared per
AgentDefinitionand enforced by the mesh.
Alternatives considered¶
| Alternative | Why not chosen |
|---|---|
| Semantic Kernel | Superseded by the Agent Framework direction for this platform. |
| Custom orchestration framework | High maintenance; reinvents supported capabilities. |