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)
- 安装 SDK:
go get github.com/microsoft/agent-framework-go - 编写一个简单的代理 – 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()) - 探索示例,位于
examples/文件夹中:01-get-started– 分步教程。02-agents– 深入探讨工具、中间件、提供者、技能等。03-workflows– 多代理模式、路由、检查点。05-end-to-end– 全端应用程序演示。
- 阅读文档 – 链接至 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 应用程序。
相关
- 项目
- 项目
- 项目
- 项目
- 项目