# Microsoft Agent Framework vs SOAT: Feature Comparison

> Microsoft Agent Framework and SOAT compared on 15 agent capabilities, 6 vs 12 native, each rating linked to its source.

# SOAT vs Microsoft Agent Framework

Microsoft Agent Framework is an agent framework (MIT, self-hosted or managed). SOAT is agent infrastructure (Apache-2.0, self-hosted). Of the 15 capabilities the [benchmark](/benchmark) tracks, Microsoft Agent Framework covers 6 natively and SOAT 12.

## At a glance

| | Microsoft Agent Framework | SOAT |
| --- | --- | --- |
| Type | an agent framework | agent infrastructure |
| License | MIT | Apache-2.0 |
| Deployment | self-hosted or managed | self-hosted |
| Native capabilities | 6 of 15 | 12 of 15 |
| Last verified | 2026-08-14 | 2026-08-14 |

## Where each one leads

- **Microsoft Agent Framework** has no native capability that SOAT lacks.
- **SOAT** is native where Microsoft Agent Framework is not: knowledge & memory, identity & governance, data & secrets, multi-tenancy, declarative deployment, versioning & rollout.

## What Microsoft Agent Framework is

Multi-language (.NET, Python, Go) library for building agents and graph-based multi-agent workflows, positioned as the successor to AutoGen and Semantic Kernel. Provides agents, sessions, context providers, middleware, MCP clients, OpenTelemetry instrumentation, and an evaluation framework, with optional Microsoft Foundry hosting. [Microsoft Agent Framework documentation](https://learn.microsoft.com/en-us/agent-framework/).

## Capability by capability

### Agent runtime

_Agent loop, sessions, and generation lifecycle._

- **Microsoft Agent Framework: Native.** Agent abstraction with streaming and non-streaming runs, AgentSession state management, history providers, and middleware for intercepting agent actions. ([source](https://learn.microsoft.com/en-us/agent-framework/overview/agent-framework-overview))
- **SOAT: Native.** Agents, sessions, chats, and generations with full lifecycle tracking. ([source](https://soat.ttoss.dev/docs/modules/agents))

### Orchestration

_Multi-step pipelines, workflows, and triggers._

- **Microsoft Agent Framework: Native.** Graph-based and functional workflows with sequential, concurrent, handoff, and group-chat patterns plus checkpointed long-running runs. ([source](https://learn.microsoft.com/en-us/agent-framework/overview/agent-framework-overview))
- **SOAT: Native.** DAG orchestrations, workflow state machines, durable tasks, and triggers (manual, webhook, schedule). ([source](https://soat.ttoss.dev/docs/modules/orchestrations))

### Knowledge & memory

_Documents, embeddings, semantic search, and recall._

- **Microsoft Agent Framework: Partial.** Sessions and context/history providers give conversational and long-term memory, but document ingestion and vector search come from external providers such as Mem0. ([source](https://learn.microsoft.com/en-us/agent-framework/get-started/memory))
- **SOAT: Native.** Documents with per-chunk embeddings, named memories, unified semantic search, and ingestion rules for PDFs, images, and audio. ([source](https://soat.ttoss.dev/docs/modules/knowledge))

### Tools & integration

_Tool calling, MCP, providers, and webhooks._

- **Microsoft Agent Framework: Native.** Function tools plus first-class MCP clients (stdio, streamable HTTP, websocket) and hosted MCP tools across Foundry, OpenAI, Anthropic, Gemini, and Ollama. ([source](https://learn.microsoft.com/en-us/agent-framework/agents/tools/))
- **SOAT: Native.** HTTP, MCP, client, and agent-to-agent tools; model routes with failover; webhooks; any LLM provider. ([source](https://soat.ttoss.dev/docs/modules/tools))

### Identity & governance

_IAM, guardrails, approvals, quotas, and audit._

- **Microsoft Agent Framework: Partial.** Per-tool human approval with standing and auto-approval rules is built in, but there is no IAM, quota, or audit-log subsystem. ([source](https://learn.microsoft.com/en-us/agent-framework/agents/tools/tool-approval))
- **SOAT: Native.** AWS-inspired IAM, actors, scoped API keys, guardrails, human approvals, quotas, and an append-only audit log. ([source](https://soat.ttoss.dev/docs/modules/iam))

### Observability

_Traces, activity, usage, and failure queues._

- **Microsoft Agent Framework: Native.** Emits OpenTelemetry traces, logs, and metrics per the GenAI semantic conventions, including token usage and per-tool invocation duration. ([source](https://learn.microsoft.com/en-us/agent-framework/agents/observability))
- **SOAT: Native.** Traces of every tool call and model response, activity feed, usage/cost tracking, and an exceptions queue. ([source](https://soat.ttoss.dev/docs/modules/traces))

### Data & secrets

_File storage and encrypted secrets._

- **Microsoft Agent Framework: Absent.** No managed file storage or encrypted secrets service; credentials come from Azure identity or environment variables.
- **SOAT: Native.** File storage over local/S3/GCS backends and encrypted secrets storage. ([source](https://soat.ttoss.dev/docs/modules/files))

### Evaluation

_Datasets, scorers, and eval-gated improvement._

- **Microsoft Agent Framework: Native.** Built-in evaluation framework with evaluators and results, local checks (keyword, tool-called, custom functions), and Foundry model-as-judge evaluators. ([source](https://learn.microsoft.com/en-us/agent-framework/agents/evaluation))
- **SOAT: Native.** Datasets, scorers, and scored runs; eval-gated promotion of agent versions. ([source](https://soat.ttoss.dev/docs/modules/evaluations))

### Channels

_Built-in gateways to messaging platforms and UIs._

- **Microsoft Agent Framework: Partial.** DevUI provides a web chat interface with an OpenAI-compatible API, but it is an explicitly non-production sample app and there are no messaging-platform gateways. ([source](https://learn.microsoft.com/en-us/agent-framework/devui/))
- **SOAT: Absent.** Surfaces are REST, MCP, CLI, and SDK — no built-in gateways to messaging platforms like Slack, WhatsApp, or Telegram.

### Code execution

_Sandboxed code or terminal runtimes for agents._

- **Microsoft Agent Framework: Partial.** Code Interpreter is a provider-side hosted tool whose availability depends on the model provider; no local sandbox runtime ships with the framework. ([source](https://learn.microsoft.com/en-us/agent-framework/agents/tools/code-interpreter))
- **SOAT: Absent.** Tool types are HTTP, MCP, client, and agent-to-agent — no built-in sandboxed code or terminal runtime.

### Human-in-the-loop

_Pausing a run for human approval, then resuming it._

- **Microsoft Agent Framework: Native.** Tools marked to always require approval make a run return approval requests that resume when the response is passed back, and workflows expose the same pause with pending requests persisted in checkpoints. ([source](https://learn.microsoft.com/en-us/agent-framework/agents/tools/tool-approval))
- **SOAT: Native.** Approvals are a first-class human-decision queue with frozen evidence, and guardrails classify each tool call so risky actions pause for a decision. ([source](https://soat.ttoss.dev/docs/modules/approvals))

### Multi-tenancy

_Projects or workspaces scoping resources and permissions._

- **Microsoft Agent Framework: Absent.** An in-process library scoping state to a session; tenant isolation of resources and permissions is left to the hosting application or a separate Azure service.
- **SOAT: Native.** Projects are multi-tenant namespaces scoping every resource, with IAM policies and quotas enforced per project. ([source](https://soat.ttoss.dev/docs/modules/projects))

### Declarative deployment

_Templates that provision agent resources as one stack._

- **Microsoft Agent Framework: Partial.** A declarative package loads agents and workflows from YAML or JSON, but these are runtime object factories with no plan/apply, state tracking, or resource provisioning. ([source](https://learn.microsoft.com/en-us/agent-framework/agents/declarative))
- **SOAT: Native.** Formations provision providers, memories, tools, agents, orchestrations, and webhooks from one template, resolving refs into a dependency graph with tracked operations. ([source](https://soat.ttoss.dev/docs/modules/formations))

### Versioning & rollout

_Agent versions, canary rollout, gated promotion._

- **Microsoft Agent Framework: Absent.** Declarative agent definitions can be checked into source control, but the framework has no immutable agent versions, aliases, canary rollout, or rollback.
- **SOAT: Native.** Every config change is archived as an append-only agent version, with canary rollout to a slice of traffic and eval-gated promotion. ([source](https://soat.ttoss.dev/docs/tutorials/agent-versioning-and-canary-rollout))

### Skill learning

_Agents authoring reusable skills from their own experience._

- **Microsoft Agent Framework: Absent.** Skills are developer-authored packages of instructions, resources, and scripts; agents consume them and never generate or revise them.
- **SOAT: Absent.** Memories and knowledge store retrievable context, but agents do not author or refine reusable skills from their own experience.

## How this is rated

Each rating comes from the public documentation linked beside it: **Native** is built in, **Via plugin** needs an add-on, **Partial** covers part of the capability, **Absent** is not offered. Every solution side by side is on the [benchmark](/benchmark). A rating that is out of date is a bug: [open an issue](https://github.com/ttoss/soat/issues).
