OpenAIの「Agents SDK」を試す
公式の記事。以前試したSwarmをベースにエージェント専用SDKとしてリリースされたという感じ。
公式ドキュメント
Agents
OpenAI API を使用してエージェントを構築する方法を学びます。
エージェントとは、単純なワークフローの実行から複雑で幅広い目的の追求まで、知的にタスクを遂行するシステムを指します。OpenAI は、エージェント構築を可能にする豊富なコンポーザブルプリミティブを提供しています。このガイドでは、それらのプリミティブと、それらがどのように結合して堅牢なエージェントプラットフォームを形成するかについて説明します。
概要
エージェントの構築は、モデル、ツール、知識とメモリ、オーディオとスピーチ、ガードレール、およびオーケストレーションなど、複数のドメインにまたがるコンポーネントの組み合わせを含みます。OpenAI は各ドメインに対してコンポーザブルプリミティブを提供しています。
ドメイン 説明 OpenAIの基本構成要素 モデル 推論、意思決定、およびさまざまなモダリティの処理が可能な中核的な知能。 o1, o3-mini, GPT-4.5, GPT-4o, GPT-4o-mini ツール 世界とのインターフェース、環境との相互作用、関数呼び出し、内蔵ツールなど。 Function calling, Web検索, ファイル検索, Computer use 知識とメモリ エージェントに外部かつ永続的な知識を拡張します。 ベクトルストア, ファイル検索, Embeddings 音声とスピーチ オーディオを理解し、自然言語で応答できるエージェントを作成します。 オーディオ生成, リアルタイム, オーディオエージェント ガードレール 不適切、有害、または望ましくない行動を防止します。 モデレーション, 指示のヒエラルキー オーケストレーション エージェントの開発、展開、監視、および改善を行います。 Agents SDK, トレーシング, 評価, ファインチューニング 音声エージェント オーディオを理解し、自然言語で応答できるエージェントを作成します。 Realtime API, Agents SDKの音声サポート モデル
モデル エージェントとしての強み o1 and o3-mini 長期計画、困難なタスク、および推論に最適。 GPT-4.5 エージェント実行に最適。 GPT-4o エージェント能力と待機時間のバランスが良好。 GPT-4o-mini 低待機時間に最適。 大規模言語モデル(LLMs)は、多くのエージェントシステムの中核を担っており、意思決定や世界との相互作用を担当します。OpenAI のモデルは、以下の幅広い機能をサポートしています:
- 高い知能:最も困難なタスクに取り組むためのreasoningと計画が可能です。
- ツール:あなたの関数を呼び出し、OpenAI のビルトイン・ツールを活用します。
- マルチモダリティ:テキスト、画像、オーディオ、コード、およびドキュメントをネイティブに理解します。
- 低待機時間:リアルタイムのオーディオ会話と、より小型で高速なモデルをサポートします。
詳細なモデル比較については、モデルページをご覧ください。
ツール
ツールは、エージェントが世界と相互作用することを可能にします。OpenAI は、あなたのコードと接続するためのfunction callingと、ウェブ検索やデータ取得などの一般的なタスク向けのビルトイン・ツールをサポートしています。
Tool Description Function calling 開発者が定義したコードと対話します。 Web検索 ウェブから最新の情報を取得します。 ファイル検索 ドキュメント全体で意味的検索を実行します。 Computer use コンピュータまたはブラウザを理解し、制御します。 知識とメモリ
知識とメモリは、エージェントが初期のトレーニングデータを超えた情報を保存、取得、および利用するのに役立ちます。Vector stores により、エージェントはドキュメントを意味的に検索し、実行時に関連情報を取得することができます。一方、embeddings は、迅速な取得を可能にするためにデータを効率的に表現し、動的な知識ソリューションおよび長期のエージェントメモリを強化します。OpenAI の ベクトルストア および Embeddings API を使用して、あなたのデータを統合することができます。
ガードレール
ガードレールは、エージェントが安全かつ一貫して、意図した範囲内で動作することを保証します。これは本番環境での展開において重要です。OpenAI の無料 モデレーションAPI を使用して、不安全なコンテンツを自動的にフィルタリングします。さらに、開発者が定義したプロンプトを優先して、望ましくないエージェントの行動を軽減する指示のヒエラルキー を活用することで、エージェントの行動を制御できます。
オーケストレーション
エージェントの構築はプロセスです。OpenAI は、エージェントシステムの構築、展開、監視、評価、および改善を効果的に行うためのツールを提供しています。
referred from https://platform.openai.com/docs/guides/agents
フェーズ 説明 OpenAIの基本構成要素 構築とデプロイ Agents SDK を使用してエージェントを迅速に構築し、ガードレールを適用し、対話フローを処理します。 Agents SDK モニタリング エージェントの動作をリアルタイムで観察し、問題のデバッグとトレーシングによる洞察を得ます。 トレーシング 評価と改善 エージェントのパフォーマンスを測定し、改善すべき点を特定し、エージェントを洗練させます。 評価, ファインチューニング 始めよう
OpenAI Agents SDK for Pythonをインストールして開始してください:
pip install openai-agents
GitHubレポジトリ
OpenAI Agents SDK
OpenAI Agents SDK は、マルチエージェントのワークフローを構築するための、軽量かつ強力なフレームワークです。
コアコンセプト
- Agents: 指示、ツール、ガードレール、およびハンドオフで構成された LLM
- Handoffs: エージェント間で制御を移譲するために Agents SDK専用のツール呼び出し
- Guardrails: 入出力の検証のための設定可能な安全チェック
- Tracing: エージェントの実行を内蔵で追跡し、ワークフローの表示、デバッグ、最適化を可能にする
examples ディレクトリを参照して SDK の動作例を確認し、詳細は documentation をご覧ください。
特に、我々の SDK は OpenAI Chat Completions API 形式をサポートする任意のモデルプロバイダーと 互換性があります。
基本的には以前やったSwarmと概念などは似ていると思う。
なのだが、SDKのドキュメントを見ると
- Model context protocol (MCP)
- トレーシング
- ガードレール
- 可視化
- 音声エージェント
など以前にはなかった概念があるし、個人的には音声エージェントに非常に興味があるので、一通り進めようかと思う。