PythonでAIを分業させる技術:microsoft/agent-frameworkで効率化


PythonでAIを分業させる技術:microsoft/agent-frameworkで効率化

microsoft/agent-framework

2025-10-04

このフレームワークは、まるでドラマの名探偵チームを結成して、複雑な事件(タスク)を連携して解決していくようなイメージで捉えると分かりやすいですよ!‍♂

このフレームワークは、AIエージェントを構築、連携、デプロイするための強力なツールキットです。Pythonと.NETに対応しており、複数のAIエージェントが協調して動作するマルチエージェントワークフローを簡単に作成できるように設計されています。

複雑なタスクを、それぞれ専門スキルを持ったAIエージェントに分担させることで、開発が効率的かつ柔軟になります。

ドラマの配役AIエージェントの役割エンジニアにとってのメリット
主演・主人公(司令塔)オーケストレーターワークフロー全体を管理し、タスクの進行をスムーズにする。コード量が減り、デバッグが容易に。
頭脳派の相棒(データ分析官)リサーチエージェント外部データ検索や分析に特化。AIの「考える」部分を特化させ、信頼性を向上。
現場のエキスパート(実行部隊)コード実行エージェント実際にPythonコードなどを実行。AIの指示を安全かつ確実に実行する仕組みを提供。
情報通の協力者ユーザープロキシ人間の指示をエージェントシステムへ橋渡し。ユーザー体験(UX)を向上。

つまり、このフレームワークを使うと、複雑なタスク(連続殺人事件の解決など)を専門的なAIチームに任せられるようになり、エンジニアはチーム編成と指示出しに集中できるようになるんです!

「microsoft/agent-framework」は、Pythonのパッケージとして提供されています。一般的なPythonプロジェクトと同様にpipを使って簡単にインストールできます。

Python (推奨バージョンを確認してください)

OpenAI API Key (または同等の大規模言語モデル(LLM)サービス)

ターミナルで以下のコマンドを実行します。

# パッケージのインストール
pip install microsoft-agent-framework

通常、AIエージェントが利用するLLMのAPIキーは環境変数として設定します。

# Linux/macOSの場合
export OPENAI_API_KEY="あなたのAPIキー"

# Windows (コマンドプロンプト)の場合
set OPENAI_API_KEY="あなたのAPIキー"

ここでは、シンプルな2つのエージェント(リサーチャーとアナライザー)が連携して、あるテーマについて調査・要約するワークフローの例を示します。

import os
from microsoft.agent_framework.core.orchestrator import Orchestrator
from microsoft.agent_framework.core.agent import Agent
from microsoft.agent_framework.llm.openai_agent import OpenAIAgent
from microsoft.agent_framework.llm.llm_settings import LLMSettings

# 1. LLMの設定(共通の頭脳)
# 環境変数 OPENAI_API_KEY が設定されていることを前提とします
llm_settings = LLMSettings(model="gpt-4o-mini") # モデルは適宜変更してください

# 2. リサーチャー・エージェントの作成(情報収集担当)
# 外部ツール(Web検索など)を利用できる設定を加えることが多いですが、ここではシンプルに定義します。
researcher_agent = OpenAIAgent(
    name="Researcher",
    role="あなたは世界中の情報を検索し、事実に基づいた情報を収集する専門家です。",
    description="与えられたトピックについて、複数の信頼できる情報源から詳細な情報を集めます。",
    llm_settings=llm_settings
)

# 3. アナライザー・エージェントの作成(要約・分析担当)
analyzer_agent = OpenAIAgent(
    name="Analyzer",
    role="あなたはリサーチャーが集めた情報を受け取り、ユーザーに分かりやすいように要約し、重要な洞察を抽出する専門家です。",
    description="情報を論理的に整理し、核心をついた簡潔なレポートを作成します。",
    llm_settings=llm_settings
)

# 4. オーケストレーターの作成(主人公・司令塔)
# エージェント間の連携と会話の流れを管理します
orchestrator = Orchestrator(
    name="Chief_Investigator",
    agents=[researcher_agent, analyzer_agent],
    llm_settings=llm_settings
)

# 5. ワークフローの実行(事件の捜査開始!)
task = "2024年のAIの最新トレンドを3つ挙げ、それぞれについて簡潔に説明してください。"

print(f"--- 捜査開始: {task} ---")
# ここでorchestratorが、タスクをエージェントに振り分け、連携させます。
# 例えば、「Researcherに情報を集めさせ、その結果をAnalyzerに渡して要約させる」といった流れを自動で実行します。
final_report = orchestrator.run(task)

print("\n--- 最終報告書(解決!)---")
print(final_report)

分業体制 ResearcherとAnalyzerという異なる役割のエージェントを定義しています。それぞれのroleとdescriptionで専門性を明確にしています。

司令塔 Orchestratorがこれらのエージェントを束ね、タスクを与えると自動的に最適な連携(会話)を行って結果を導き出します。

柔軟性
実際には、エージェントごとに異なるLLMモデルを使ったり、外部のPython関数(ツール)を使えるように設定したりすることで、さらに強力なシステムが構築できます。


microsoft/agent-framework




『LLMs-from-scratch』徹底解説:プログラマーのためのAI自作ガイド

勇者よ、お前が探求しているのは、この世界に古くから伝わる「賢者の石」ならぬ、「賢者の知恵」を創り出す秘術だ。それは、まるでハイラル王国の歴史書のように、あらゆる知識を理解し、お前に語りかけるだろう。今日、お前と共に旅するのは、その賢者の知恵を「ゼロ」から生み出すための魔法書、『rasbt/LLMs-from-scratch』だ。


【入門】onyx-dot-app/onyxで始めるAIチャットボット開発

ソフトウェアエンジニアの視点から、onyx-dot-app/onyxがどのように役立つか、導入方法、サンプルコードについて、真面目に、分かりやすく説明するね。onyx-dot-app/onyxは、AIを活用したチャットアプリケーションを構築するためのオープンソースプラットフォームなんだ。これを導入するメリットは、主に次の3つだよ。


daveebbelaar/ai-cookbookをゴルフ場に例える:AI開発への実践的アプローチ

daveebbelaar/ai-cookbookは、AIシステムを構築したいソフトウェアエンジニアにとって、まさに広大なゴルフ場のようなものです。多様なコース(例)が揃っている ゴルフ場にはショートホールからロングホールまで多様なコースがあるように、このリポジトリには画像認識、自然言語処理、データ分析など、様々なAIアプリケーションの「例」が揃っています。


プログラミング初心者向け:AIによる動画生成ツールの導入と仕組み

ソフトウェアエンジニアの視点から、harry0703/MoneyPrinterTurboというツールがどんなに便利で、プログラミングを学ぶ上でどのように役に立つか、そして導入方法を分かりやすく解説しますね。このプロジェクトは、AI(人工知能)を使って、テキストからワンクリックで簡単に、しかも高画質な短い動画(ショートビデオ)を自動で作ってくれる優れものです。キーワードはPython、Automation(自動化)、AIです。


【エンジニア向け】RAGの常識を覆す!ストレージ97%削減のプライベート検索技術「LEANN」徹底解説

こんにちは!未来の技術を形にするソフトウェアエンジニアの皆さん、お疲れ様です。今回ご紹介するのは、まるで「どこでもドア」のように、皆さんの開発環境に革命をもたらすかもしれない、すごい道具(ライブラリ)、「LEANN」です。yichuan-wさんが開発されたこのライブラリは、皆さんが今注目している「RAG (Retrieval-Augmented Generation / 検索拡張生成)」という技術を、速く、正確に、そして何よりもプライベートに、個人のデバイスで実現するための画期的なアプローチを提供します。


【攻略本】RAG_Techniques:エンジニアのためのAI検索コンボ技・完全マスターガイド

NirDiamant/RAG_Techniques は、AI開発の世界における「最新アーケードゲームの攻略ガイド」のようなリポジトリです。普通のRAG(検索拡張生成)が「パンチマシン」だとしたら、ここは「コンボ技」や「隠しコマンド」が満載の格闘ゲーム会場といったところでしょうか。


AI捜査チームを結成せよ: openai-agents-pythonによるマルチエージェント連携の導入ガイド

やあ、諸君!私はAI捜査コンサルタントのGだ。今日の捜査対象は、openai/openai-agents-pythonという、複数のAIエージェントを束ねる軽量かつ強力なフレームワークだよ。このフレームワークの魅力は、まるで複数の優秀な探偵を雇い、複雑な事件を役割分担させて解決に導くことができる点にあるんだ。


【動かぬ証拠】Goで組む、信頼できるAIエージェント:adk-goの導入と実践

google/adk-goは、Googleが提供するオープンソースのGo言語(Golang)用ツールキットで、複雑なAIエージェントを構築、評価、デプロイするために、「コードファースト」のアプローチを取っているのが特徴です。これは、あなたがより柔軟性とコントロールを持ってAIのロジックを設計し、インフラストラクチャとしてではなく、純粋なソフトウェアコンポーネントとして扱えるようにするためのものです。


キャンプでコント:LLMオーケストレーションの苦労を解消する strans-agents/sdk-python 入門

皆さん、キャンプに来ています!テントを立てるのも、火を起こすのも、楽しいけれど結構手間がかかりますよね。AIエージェントを作るのも同じなんです。モデルを選んで、プロンプトを書いて、ツールを組み合わせて. ..「あー、またエラーだ. ..」となりがち。