openai/openai-agents-pythonView GitHub Homepage for Latest Official Releases
軽量なマルチエージェントワークフロー構築フレームワーク。エージェント間の連携、ツール呼び出し、およびプロセスオーケストレーションをサポートします。
MITPythonopenai-agents-pythonopenai 13.3k Last Updated: August 06, 2025
OpenAI Agents Python プロジェクト詳細
プロジェクト概要
OpenAI Agents SDK は、軽量かつ強力な Python マルチエージェントワークフロー構築フレームワークです。これは OpenAI が公式にリリースしたプロダクションレベルのエージェント開発ツールであり、以前の実験的プロジェクト Swarm のアップグレード版です。このフレームワークは、シンプルでありながら機能が充実しており、複雑なマルチエージェント AI アプリケーションの構築に特化しています。
コア機能
1. クロスプラットフォーム互換性
- モデル非依存性: OpenAI の Responses および Chat Completions API をサポート
- 幅広い互換性: 100 種類以上の異なる大規模言語モデルをサポート
- API の柔軟性: さまざまな AI サービスプロバイダーを簡単に切り替え可能
2. コアコンポーネント
エージェント (Agents)
- 指示、ツール、安全保護、およびハンドオフメカニズムが構成された LLM インスタンス
- 各エージェントは明確な責任と能力の境界を持つ
- カスタム指示と行動パターンをサポート
ハンドオフメカニズム (Handoffs)
- エージェント間で制御を移転するための専用のツール呼び出しメカニズム
- エージェント間のシームレスな連携を実現
- 複雑なワークフローのオーケストレーションをサポート
安全保護 (Guardrails)
- 構成可能な入出力検証安全チェック
- AI アプリケーションの安全性と信頼性を確保
- 悪意のある入力や不適切な出力を防止
流程追跡 (Tracing)
- 内蔵されたエージェント実行追跡機能
- ワークフローの表示、デバッグ、および最適化をサポート
- 拡張可能な追跡システム、さまざまな外部統合をサポート
技術アーキテクチャ
インストールと設定
# Python 仮想環境の作成
python -m venv env
source env/bin/activate
# 基本バージョンのインストール
pip install openai-agents
# 音声サポートを含むバージョンのインストール
pip install 'openai-agents[voice]'
基本的な使用例
簡単なエージェント
from agents import Agent, Runner
agent = Agent(name="Assistant", instructions="You are a helpful assistant")
result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
print(result.final_output)
多言語コラボレーションエージェント
from agents import Agent, Runner
import asyncio
spanish_agent = Agent(
name="Spanish agent",
instructions="You only speak Spanish.",
)
english_agent = Agent(
name="English agent",
instructions="You only speak English",
)
triage_agent = Agent(
name="Triage agent",
instructions="Handoff to the appropriate agent based on the language of the request.",
handoffs=[spanish_agent, english_agent],
)
async def main():
result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
print(result.final_output)
if __name__ == "__main__":
asyncio.run(main())
ツール呼び出しの例
import asyncio
from agents import Agent, Runner, function_tool
@function_tool
def get_weather(city: str) -> str:
return f"The weather in {city} is sunny."
agent = Agent(
name="Weather Assistant",
instructions="You are a helpful weather agent.",
tools=[get_weather],
)
async def main():
result = await Runner.run(agent, input="What's the weather in Tokyo?")
print(result.final_output)
if __name__ == "__main__":
asyncio.run(main())
ワークフロー実行メカニズム
実行ループのロジック
- LLM 呼び出し: エージェントのモデルと設定を使用し、メッセージ履歴と組み合わせて呼び出しを実行
- 応答処理: LLM が応答を返し、ツール呼び出しが含まれる場合がある
- 出力チェック: 最終出力がある場合、それを返してループを終了
- ハンドオフ処理: ハンドオフ要求がある場合、新しいエージェントに切り替えて再開
- ツール実行: ツール呼び出しを処理し、応答をメッセージに追加して、ループを再開
最終出力メカニズム
- 構造化出力:
output_type
が設定されている場合、LLM が一致するタイプのコンテンツを返すと終了 - テキスト出力:
output_type
がない場合、エージェントがツール呼び出しまたはハンドオフのないメッセージを生成すると終了
ツールシステム
3 種類のツールサポート
1. ホスト型ツール (Hosted Tools)
- LLM サーバー上で実行
- OpenAI は、検索、ウェブ検索、コンピューターの使用などのホスト型ツールを提供
2. 関数呼び出し (Function Calling)
- 任意の Python 関数をツールとして使用することをサポート
- 柔軟なカスタムツール開発
3. エージェントをツールとして
- エージェントが他のエージェントを呼び出すことを許可
- 複雑な階層型コラボレーション構造をサポート
内蔵ツール
- WebSearchTool: ウェブ検索機能
- Computer Use: コンピューター操作能力
- Retrieval: 情報検索機能
追跡と監視
自動追跡機能
- エージェントの実行プロセスを自動的に追跡
- ワークフローのデバッグと最適化を容易にする
- 拡張可能な設計でカスタムスパンをサポート
外部統合サポート
- Logfire: ログ管理
- AgentOps: エージェント操作監視
- Braintrust: AI アプリケーション開発プラットフォーム
- Scorecard: パフォーマンス評価
- Keywords AI: キーワード AI 統合
アプリケーションシナリオ
適用可能なシナリオ
- 複雑なビジネスプロセスの自動化: 複数ステップのビジネス処理フロー
- 多言語カスタマーサービスシステム: さまざまな言語をサポートするインテリジェントなカスタマーサービス
- 専門分野アシスタント: 法律、医療、教育などの専門分野の AI アシスタント
- データ処理パイプライン: 複数段階のデータ分析と処理
- クリエイティブコラボレーションシステム: 複数の AI ロールが連携してクリエイティブタスクを完了
ワークフローパターン
- 決定論的プロセス: 事前に定義されたワークフローステップ
- 反復ループ: 複数回の反復最適化が必要なタスク
- 条件分岐: 条件に応じて異なる処理パスを選択
- 並列処理: 複数のエージェントが異なるタスクを同時に処理
開発環境
開発要件
- Python 3.8+
OPENAI_API_KEY
環境変数の設定が必要- 非同期および同期の両方の呼び出し方法をサポート
開発ツールチェーン
# uv パッケージマネージャーのインストール
uv --version
# 依存関係のインストール
make sync
# テストの実行
make tests
# 型チェック
make mypy
# コード規約チェック
make lint
プロジェクトの利点
1. シンプルな設計
- 抽象化のレベルが非常に少ない
- コアコンセプトが明確
- 理解と使用が容易
2. プロダクション対応
- OpenAI の実際の経験に基づいて構築
- 安定した信頼性の高い API 設計
- 充実したエラー処理メカニズム
3. 非常に柔軟
- 複雑なエージェント関係のモデリングをサポート
- さまざまなワークフローパターンを表現可能
- 強力なカスタマイズ機能
まとめ
OpenAI Agents Python は、複雑な AI コラボレーションをシンプルで使いやすくするプロフェッショナルレベルのマルチエージェント開発フレームワークです。そのコアとなるエージェント、ハンドオフ、保護、および追跡メカニズムを通じて、開発者は強力な AI アプリケーションシステムを迅速に構築できます。単純なシングルエージェントタスクでも、複雑なマルチエージェントコラボレーションシナリオでも、このフレームワークはエレガントなソリューションを提供します。