1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

エージェントフレームワーク統合の波(2026年6月):Microsoft Agent FrameworkとOpenAI Agents SDKへの移行で今直すこと

1
Last updated at Posted at 2026-06-23

Agent framework consolidation in 2026: Microsoft Agent Framework and OpenAI Agents SDK migration

2026年に入って、エージェント構築用のフレームワークが急速に「統合(コンソリデーション)」へ向かっている。Microsoftは Semantic Kernel と AutoGen を一本化した Microsoft Agent Framework(2026年2月19日に .NET / Python の Release Candidate を公開)を「両者の直接の後継」と位置づけた。OpenAI も実験的な Swarm を Agents SDK に置き換え、Swarm リポジトリは教育用としてアーカイブ済みだ。

これは単なる新製品の話ではない。自分が今使っている SDK が「後継」に巻き取られ、新機能はそちらにしか来なくなるという、本番コードに直接効く移行イベントである。本稿では、確認できる一次情報だけを並べた上で、「で、どのクラスを何に書き換え、何を抽象化して次の統合に備えるか」を整理する。

結論

確認項目 ニュースの含意 直すこと
Semantic Kernel / AutoGen 公式が Agent Framework を「次世代」と明言。新機能は後継に集約される方針 新規は Agent Framework で書く。既存は移行コストを見積もる
AutoGen AssistantAgent Agent Framework の Agent は既定でマルチターン(ツールを呼び切る) max_tool_iterations 前提の制御ロジックを見直す
AutoGen Team(イベント駆動) 型付きグラフの Workflow(チェックポイント・HITL内蔵)へ オーケストレーションを明示的なエッジで書き直す
OpenAI Swarm アーカイブ済み・本番非対応。後継は Agents SDK ガードレール / トレーシング / セッションを持つ SDK へ移す
ベンダー横断の移植性 MCP・A2A など標準対応が各社の共通言語に モデルクライアントとツール定義を薄く抽象化しておく

Microsoft Agent Framework:Semantic KernelとAutoGenの後継

確認できる事実

Microsoft は 2026年2月19日、Agent Framework の .NET / Python Release Candidate を公開した。公式ドキュメントはこのフレームワークを次のように位置づけている。

原文: "The Agent Framework is the direct successor, created by the same teams. ... In short, Agent Framework is the next generation of both Semantic Kernel and AutoGen."
日本語訳: 「Agent Framework は(Semantic Kernel と AutoGen の)直接の後継であり、同じチームが開発している。……要するに Agent Framework は両者の次世代版である」(Microsoft Learn / Agent Framework Overview)

構成は2系統だ。LLM が入力を処理しツールや MCP サーバーを呼ぶ Agents と、型安全なルーティング・チェックポイント・human-in-the-loop を持つグラフベースの Workflows。AutoGen の素朴なエージェント抽象に、Semantic Kernel 由来のセッション状態管理・型安全性・ミドルウェア・テレメトリを組み合わせた、というのが公式の説明である。標準対応として MCP(Model Context Protocol)・A2A(Agent-to-Agent)・AG-UI を挙げている。

導入は以下のとおり。Python は安定版パッケージ名で入るが、本稿執筆時点(2026年6月)で .NET 版は --prerelease 付きである点に注意。

# Python
pip install agent-framework
# .NET(執筆時点では prerelease)
dotnet add package Microsoft.Agents.AI.Foundry --prerelease

モデルプロバイダーは Microsoft Foundry / Azure OpenAI / OpenAI / Anthropic / Ollama などをサポートする(Python 版のモデルクライアントは一部 🚧 Planned のものがある。後述)。

実務解釈

移行で効くのは「既定の挙動が変わる」点だ。AutoGen の AssistantAgent は既定で単発(max_tool_iterations=1)で、ツールを複数回呼ばせたい場合に明示設定が要る。一方 Agent Framework の Agent既定でマルチターン——最終回答を返せるまでツールを呼び続ける。max_tool_iterations を前提に「1回だけ呼ぶ」設計をしていたコードは、移行時に無限ループや想定外コストを生みやすい。

主要なクラスの対応関係を、AutoGen → Agent Framework(Python)で並べる。

役割 AutoGen Agent Framework
単体エージェント AssistantAgent(既定で単発) Agent(既定でマルチターン)
マルチエージェント Team(イベント駆動) Workflow(型付きグラフ)
OpenAI クライアント OpenAIChatCompletionClient OpenAIChatCompletionClient
OpenAI Responses ❌ なし OpenAIChatClient
Azure OpenAI AzureOpenAIChatCompletionClient OpenAIChatCompletionClient
Azure AI AzureAIChatCompletionClient FoundryChatClient / FoundryAgent
Anthropic / Ollama *ChatCompletionClient 🚧 Planned

もう一つの落とし穴が状態管理だ。AutoGen の AssistantAgent は会話履歴を自身の状態として保持するが、Agent Framework の Agent既定でステートレスで、呼び出し間に履歴を持たない。マルチターン会話には agent.create_session() で得た AgentSession を明示的に渡す。

from agent_framework import Agent, tool
from agent_framework.openai import OpenAIChatClient

client = OpenAIChatClient(model="gpt-5")
agent = client.as_agent(
    name="assistant",
    instructions="You are a helpful assistant.",
    tools=[get_weather],   # 既定でマルチターン
)

# セッション無し:2回の呼び出しは独立(前の文脈を引き継がない)
r1 = await agent.run("What's 2+2?")          # "4"
r2 = await agent.run("times 10?")            # 文脈不明で曖昧

# セッション有り:文脈を共有
session = agent.create_session()
await agent.run("What's 2+2?", session=session)   # "4"
await agent.run("times 10?", session=session)      # "40"

「AutoGen ではエージェントが履歴を持っていた」前提でセッションを渡し忘れると、移行後に会話が突然“健忘症”になる。ここはテストで早めに気付ける部分なので、移行時の回帰テストに必ず入れる。

OpenAI:SwarmのアーカイブとAgents SDKへの一本化

確認できる事実

OpenAI が2024年10月に公開した Swarm は、軽量なマルチエージェント・オーケストレーションを探求する「教育用フレームワーク」だった。現在そのリポジトリはアーカイブされ、本番用途の後継として OpenAI Agents SDK(2025年3月に公開)が位置づけられている。Agents SDK は Swarm と同じ handoff(エージェント間の受け渡し)モデルを引き継ぎつつ、ガードレール・トレーシング・セッション・ホスト型ツール・Responses API 対応を加え、継続的にバージョンを重ねている。

Swarm 側のリポジトリ説明自体が「Educational framework exploring ergonomic, lightweight multi-agent orchestration」と明記しており、本番運用を意図したものではない。

実務解釈

Swarm で PoC を作っていたチームは、そのまま本番に乗せてはいけない。Swarm にはセッション管理・ガードレール・可観測性がなく、活発なメンテナンスもされていない。Agents SDK は handoff の概念がほぼそのまま移るため、移行の主作業は「足りていなかった本番要素(観測・ガードレール・状態)の追加」になる。逆に言えば、Swarm 時代に独自実装していたトレーシングやセッション層は、SDK 標準に寄せて捨てられる可能性が高い。

Microsoft と OpenAI で固有名は違うが、方向は同じだ——「実験用の薄いライブラリ」から「観測・ガードレール・状態・標準対応を内蔵した本番ランタイム」への一本化。2026年のエージェント開発は、この本番要素を自前で持つかフレームワークに預けるかの選択になっている。

実装チェックリスト

移行前の棚卸し:

  • 自分の依存が Semantic Kernel / AutoGen / Swarm のどれか、バージョンと最終更新日を確認する
  • そのフレームワークの新機能が後継側にしか来ていないか(changelog の更新が止まっていないか)を確認する
  • エージェントの「ツール呼び出し回数」を制御しているコードを洗い出す(既定マルチターン化の影響範囲)

Agent Framework へ移す場合:

  • AssistantAgentAgentTeamWorkflow の対応表を作り、1機能ずつ置換する
  • マルチターン会話は AgentSessioncreate_session())を必ず渡す。渡し忘れの回帰テストを追加する
  • モデルクライアントを OpenAIChatClient(Responses 系)か OpenAIChatCompletionClient(chat 系)かで選ぶ
  • Anthropic / Ollama を使うなら、Python 版が 🚧 Planned のため対応状況を最新ドキュメントで再確認する

Agents SDK へ移す場合:

  • Swarm の handoff 構成をそのまま写し、欠けていたガードレール・トレーシング・セッションを追加する
  • 独自実装の観測・状態層を SDK 標準に置き換えられないか検討する

統合に強い設計(次の波に備える):

  • モデルクライアントとツール定義を薄いアダプタ層に隔離し、フレームワーク直結を避ける
  • ツールは MCP サーバーとして切り出し、エージェント本体から疎結合にする(MCP / A2A はベンダー横断の共通語)
  • オーケストレーションの「グラフ」をコードに直書きせず、設定/宣言で持てるようにする

失敗パターン

パターン1:PoC のフレームワークをそのまま本番化 → Swarm のような教育用ライブラリには観測・ガードレール・状態がない。本番要素を持つ後継(Agents SDK / Agent Framework)に移すか、自前で同等品を持つ前提で計画する。

パターン2:max_tool_iterations 前提のまま Agent に移行 → Agent Framework の Agent は既定でツールを呼び切る。回数制御を入れていたロジックが意図せず多重実行され、レイテンシとコストが膨らむ。移行時に挙動差を明示的にテストする。

パターン3:セッションの渡し忘れ → ステートレス既定の Agent にセッションを渡さず、マルチターン会話が成立しない。「前のターンの数字を参照する」系のテストを回帰に入れて検出する。

パターン4:フレームワークに密結合したまま → 次の統合(さらなる後継)でまた全面書き換えになる。モデルクライアント・ツール・オーケストレーションを薄い抽象で挟み、MCP のような標準にツールを逃がしておくと、移行コストが局所化できる。

参考リンク

この記事を書いた人✏️@YushiYamamoto
ITPRODX.com代表 / AIアーキテクト
Next.js / TypeScript / n8nを活用した自律型アーキテクチャ設計を専門としています。
日々の自動化の検証結果や、ビジネス側の視点(ROI等)に関するより深い考察は、以下の公式サイトおよびnoteで発信しています。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?