OpenAI Agents SDK のトレーシングシステムは、AIワークフローへの可視性を提供し、重要なイベントをキャプチャして、開発者がアプリケーションを効果的に監視・デバッグできるようにします。
OpenAI Agents SDKとは?
OpenAI Agents SDK は、AIエージェント開発を簡素化するPythonツールキットです。OpenAI の SWARM プロジェクトを本番環境対応に進化させたもので、インテリジェントで協調的かつ安全なAIシステムを構築するための機能を提供します。その中核となるのは、特定の指示やツールで設定可能なLLMベースのエージェントであり、カスタムロールをサポートし、OpenAIモデル(o1、o3-mini、gpt-4o)およびOpenAI互換APIを持つサードパーティモデルの両方と互換性があります。
OpenAI Agents SDKの主要機能
ツールと機能拡張
- 関数呼び出し:
@function_toolデコレータを使用してPython関数をツールに変換し、スキーマを自動生成してPydantic検証を行います。 - 組み込みエージェントループ: ツール呼び出し、結果のフィードバック、タスクループを処理し、エージェントとLLM間のシームレスな対話を実現します。
- タスクハンドオフ: エージェントが他の専門エージェントにタスクを委任できるようにし、マルチエージェントコラボレーションを可能にします。
セキュリティと監視メカニズム
- ガードレール: 入力スクリーニングで有害なコンテンツを防ぎ、出力検証で応答の品質と適切性を保証します。
- トレーシングツール: 組み込みのトレーシング機能により、エージェントフロー全体を視覚化・監視し、デバッグと最適化を支援します。
開発者に優しい機能
- Pythonネイティブなメソッド: Pythonの言語機能を活用してエージェントのオーケストレーションとチェーン化を行い、新しい抽象概念を学ぶ必要性を減らします。
- 高いカスタマイズ性: カスタムツール、構造化された出力タイプ、外部LLMプロバイダー統合機能を提供します。
- 軽量設計: シンプルでありながら強力なプリミティブセットで、学習コストを最小限に抑えます。
OpenAI Agents SDKの利点
開発効率
- セットアッププロセスを簡素化し、エージェントアプリケーションの開発を効率化し、AIエージェント開発への参入障壁を低くします。
拡張されたシステム機能
- 複雑なタスク実行と効率的なマルチエージェントコラボレーションをサポート
- 複雑な問題を解決するための専門的な協調システムを構築
- 外部LLMモデルを統合して柔軟性を向上
セキュリティと信頼性
- ガードレールにより安全なAIインタラクションを保証
- AIエージェントシステムの信頼性と適切な動作を強化
- AIエージェントアプリケーションの本番環境向け準備を簡素化
分析と最適化
- トレーシングシステムがエージェントの動作に関する洞察を提供
- ユーザーパターンの分析とボトルネックの特定を改善
- デバッグとワークフロー最適化の機能を強化
OpenAI Agents SDKの使用例
ステップ1: エージェントをセットアップ
AccountingAssistant という名前の仮想アシスタントを、その機能に関する明確な指示とともに作成して、エージェントを初期化します。
ステップ2: ツールを統合
以下の必須ツールを統合します。
- Web検索ツール: 税務最新情報を取得。
- API呼び出し: 財務諸表を分析。
- ファイル検索ツール: 関連ドキュメントを検索。
ステップ3: タスクを定義
ワークフローを具体的なタスクに分解します。
- タスク1: 最新の税務情報を取得。
- タスク2: APIを使用して財務データを分析。
- タスク3: 最新のデータに基づいてレポートを生成。
ステップ4: タスクを実行
タスクを順次または並列に実行します。例:
Runner.run_sync(agent, "Generate a report based on the latest tax laws and financial data.")
ステップ5: 監視とデバッグ
トレーシングツールを使用してタスクの実行を監視し、デバッグのための潜在的な問題を特定します。
Novita AIをOpenAI Agents SDKと統合する方法
1. Python環境をセットアップしてAgents SDKをインストールします。
python -m venv env
source env/bin/activate
pip install openai-agents
2. Novita APIキーをセットアップします。

3. ハンドオフの例
import os
from openai import AsyncOpenAI
from agents import (
Agent,
Runner,
set_default_openai_api,
set_default_openai_client,
set_tracing_disabled,
)
BASE_URL = "https://api.novita.ai/v3/openai"
API_KEY = os.getenv("NOVITA_API_KEY")
MODEL_NAME = os.getenv("MODEL_NAME")
# Because Novita not support the responses API so we use the chat completions API instead.
set_default_openai_api("chat_completions")
set_default_openai_client(AsyncOpenAI(base_url=BASE_URL, api_key=API_KEY))
# Disable tracing for this example
# Refer to https://openai.github.io/openai-agents-python/tracing/#external-tracing-processors-list to use the custom spans.
set_tracing_disabled(disabled=True)
agent = Agent(name="Assistant",
instructions="You are a helpful assistant", model=MODEL_NAME)
result = Runner.run_sync(
agent, "Write a haiku about recursion in programming.")
print(result.final_output)
# Code within the code,
# Functions calling themselves,
# Infinite loop's dance.
柔軟なトレーシング機能により、開発者は組み込み機能とサードパーティ統合の両方を通じてエージェントの動作を追跡し、パフォーマンスと信頼性を確保できます。
よくある質問
OpenAI Agents SDKではどのLLMモデルを使用できますか?
OpenAIモデル(o1、o3-mini、gpt-4o)およびNovita AIのようなOpenAI互換APIを持つサードパーティモデルと互換性があります。
OpenAI Agents SDKはツール統合をどのように処理しますか?
@function_tool デコレータを使用してPython関数をツールに変換し、スキーマを自動生成してPydantic検証を行います。
OpenAI Agents SDKは本番環境に適していますか?
はい。ガードレールなどのセキュリティ機能、包括的なトレーシング、監視機能を備えています。
Novita AI は、シンプルなAPIを使用してAIモデルを簡単にデプロイできる方法を開発者に提供し、さらに構築とスケーリングのための手頃で信頼性の高いGPUクラウドも提供するAIクラウドプラットフォームです。
