microsoft/agent-framework-go

A framework for building, orchestrating and deploying AI agents and multi-agent workflows with support for Go.

Microsoft Agent Framework for Go – What It Is

Microsoft Agent Framework (MAF) is a multi‑language, production‑grade framework for building AI agents and complex multi‑agent workflows. This repository contains the Go implementation of that framework, together with samples, documentation, and a Go‑specific SDK.

Who Might Need It?

  • Teams that want to move from a simple chat‑bot prototype to a robust, orchestrated agent system.
  • Projects that need graph‑based workflows (sequential, concurrent, conditional routing, checkpointing, human‑in‑the‑loop, etc.).
  • Organizations that want observability (OpenTelemetry), provider flexibility (Azure OpenAI, OpenAI, Microsoft Foundry, etc.), and the ability to add middleware for logging, tool approval, or automatic tool calling.
  • Anyone already using the .NET or Python versions of MAF and wants a Go‑native API.

Core Capabilities (as of the README)

Area What the Go SDK Provides
Agent & Provider Support Packages for multiple LLM/agent providers; examples for Azure OpenAI, OpenAI, and Microsoft Foundry.
Middleware Hooks for request/response processing, logging, OpenTelemetry, context injection, tool approval, and auto‑tool calling.
Workflows Graph‑based orchestration with sequential, concurrent, group collaboration, conditional routing, sub‑workflows, checkpointing, streaming, and human‑in‑the‑loop. (Handoff orchestration not yet implemented.)
Observability Built‑in OpenTelemetry integration for agents and workflows.
Skills Ability to attach domain‑specific knowledge bases (files, inline definitions, scripts) that agents can query.
Foundry Integration Create and invoke Microsoft Foundry agents, pass client headers, capture model metadata, and use Foundry memory (deployment‑side hosting not yet in Go).
Missing / Future Declarative agents, RAG, CodeAct, functional workflows, DevUI, AF Labs, and some advanced provider features are still pending.

Getting Started (from the README)

  1. Install the SDK:
    go get github.com/microsoft/agent-framework-go
    
  2. Write a simple agent – the README shows a minimal Foundry agent that generates a haiku:
    a := foundryprovider.NewAgent(endpoint, token,
        foundryprovider.ModelDeployment(model),
        foundryprovider.AgentConfig{Instructions: "You are a helpful assistant."})
    fmt.Println(a.RunText(ctx, "Write a haiku about the Microsoft Agent Framework").Collect())
    
  3. Explore samples in the examples/ folder:
    • 01-get-started – step‑by‑step tutorial.
    • 02-agents – deeper dives into tools, middleware, providers, skills, etc.
    • 03-workflows – multi‑agent patterns, routing, checkpointing.
    • 05-end-to-end – full‑application demos.
  4. Read the docs – links to Microsoft Learn, a feature‑comparison matrix, and a quick‑start guide.

Ecosystem & Community

  • Discord for real‑time help.
  • GitHub Issues for bug reports and feature requests.
  • Microsoft Learn pages for detailed tutorials and user guides.
  • The Go SDK is in public preview, meaning it evolves quickly and may diverge from the upstream .NET/Python repos until alignment improves.

When It Might Not Fit

  • If you need the declarative agent model, RAG pipelines, or the DevUI that are only in the .NET version.
  • Projects that require handoff orchestration or Foundry‑hosted deployment (not yet in Go).
  • Very small, single‑prompt bots that don’t need workflow orchestration or observability.

In short: Microsoft Agent Framework for Go is a genuine, production‑oriented SDK for building sophisticated AI agent systems in Go, with support for multiple providers, middleware, observable workflows, and integration with Microsoft’s Foundry platform. It’s aimed at developers moving beyond toy chat bots toward scalable, orchestrated AI applications.

Related

  • Project
  • Project
  • Project
  • Project
  • Project