Skip to content

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.AI 1.21.0 in AgentsFramework, Factory and the template base; 1.8.0 in Factory.Messaging and Factory.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 no Cancelled stage (ADR-0014).
  • Provenance: Date is 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 AgentDefinition and 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.