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 – 简介

Microsoft Agent Framework (MAF) 是一个多语言、生产级框架,用于构建 AI 代理和复杂的多代理工作流程。此仓库包含该框架的 Go 实现,以及示例、文档和 Go 专用的 SDK。

谁需要它?

  • 希望从简单的聊天机器人原型转向强大、可编排的代理系统的团队。
  • 需要基于图的工作流程(顺序、并发、条件路由、检查点、人机协作等)的项目。
  • 需要可观测性 (OpenTelemetry)、提供者灵活性 (Azure OpenAI、OpenAI、Microsoft Foundry 等),以及能够为日志记录、工具审核或自动工具调用添加中间件的组织。
  • 任何已经在通过 .NET 或 Python 版本 MAF 并希望使用 Go 原生 API 的开发者。

核心功能(截至 README)

领域 Go SDK 提供的功能
代理与提供者支持 针对多个 LLM/代理提供者的包;包含 Azure OpenAI、OpenAI 和 Microsoft Foundry 的示例。
中间件 用于请求/响应处理、日志记录、OpenTelemetry、上下文注入、工具审核和自动工具调用的钩子 (Hooks)。
工作流程 基于图的编排,支持顺序、并发、群组协作、条件路由、子工作流程、检查点、流式传输和人机协作。(尚未实现交接编排。)
可观测性 内置代理与工作流程的 OpenTelemetry 集成。
技能 能够附加代理可以查询的领域特定知识库(文件、内联定义、脚本)。
Foundry 集成 创建并调用 Microsoft Foundry 代理、传递客户端标头、捕获模型元数据并使用 Foundry 内存(部署端托管尚未在 Go 中实现)。
缺失/未来功能 声明式代理、RAG、CodeAct、功能性工作流程、DevUI、AF Labs 以及一些高级提供者功能尚待开发。

入门指南(来自 README)

  1. 安装 SDK:
    go get github.com/microsoft/agent-framework-go
    
  2. 编写一个简单的代理 – README 展示了一个生成俳句的最小化 Foundry 代理:
    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. 探索示例,位于 examples/ 文件夹中:
    • 01-get-started – 分步教程。
    • 02-agents – 深入探讨工具、中间件、提供者、技能等。
    • 03-workflows – 多代理模式、路由、检查点。
    • 05-end-to-end – 全端应用程序演示。
  4. 阅读文档 – 链接至 Microsoft Learn、功能比较矩阵和快速入门指南。

生态系统与社区

  • Discord 用于实时帮助。
  • GitHub Issues 用于错误报告和功能请求。
  • Microsoft Learn 页面提供详细教程和用户指南。
  • Go SDK 目前处于公开预览阶段,这意味着它发展迅速,在对齐改善之前,可能会与上游的 .NET/Python 仓库有所差异。

何时不适合使用

  • 如果您需要仅在 .NET 版本中提供的声明式代理模型、RAG 流水线或 DevUI。
  • 需要交接编排或 Foundry 托管部署(尚未在 Go 中实现)的项目。
  • 不需要工作流程编排或可观测性的极小型、单提示词机器人。

简而言之: Microsoft Agent Framework for Go 是一个真正的、面向生产的 SDK,用于在 Go 中构建复杂的 AI 代理系统,支持多种提供者、中间件、可观测工作流程以及与 Microsoft Foundry 平台的集成。它旨在协助开发者从玩具级聊天机器人迈向可扩展、可编排的 AI 应用程序。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目