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、コンテキスト注入、ツール承認、自動ツール呼び出しのためのフック。
ワークフロー 順次、並列、グループコラボレーション、条件付きルーティング、サブワークフロー、チェックポイント、ストリーミング、ヒューマン・イン・ザ・ループをサポートするグラフベースのオーケストレーション。(ハンドオフオーケストレーションは未実装。)
可観測性 エージェントとワークフローのための 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 は、Go で洗練された AI エージェントシステムを構築するための本格的なプロダクション指向 SDK であり、複数のプロバイダー、ミドルウェア、可観測なワークフロー、および Microsoft Foundry プラットフォームとの統合をサポートしています。これは、おもちゃのようなチャットボットを超えて、スケーラブルでオーケストレーションされた AI アプリケーションを目指す開発者を対象としています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト