登録して招待リンクを共有すると、動画再生報酬と紹介報酬を獲得できます。

cv usk
@cv_usk
AI / Software Research Notes AI Agent, LLMOps, MLOps, Software Architecture 投稿は個人の意見です。
参加 May 2026
286 フォロー中    470 ファン
# OpenAI Agent SDKの便利で実践的な使い方 🌍 トレースの送信先を自由にカスタマイズしましょう。OpenAI バックエンドと並行して Langfuse や Datadog に送ったり、完全に置き換えたり -- 既存の観測基盤にシームレスに統合できます。 カスタムプロセッサで、トレースデータの送信先・加工・フィルタリングを完全にコントロールできます。 📌 タイトル:Tracing -- Custom processors / Ecosystem 🔗 URL: 🧩 概要 OpenAI Agent SDK のトレーシングは、カスタムプロセッサを追加・置換することで柔軟に拡張できます。`add_trace_processor()` で OpenAI バックエンドと並行して独自の処理を追加し、`set_trace_processors()` で送信先を Langfuse・Datadog・MLflow・Arize・Braintrust などに完全置換できます。OpenAI 以外のモデルを使用する場合でも、`set_tracing_export_api_key()` で無料のトレース可視化を利用できます。 🛠 使い方 `agents` から `add_trace_processor` と `TracingProcessor` をインポートします。`TracingProcessor` を継承した `MyProcessor` クラスを定義し、`on_trace_start`、`on_trace_end`、`on_span_start`、`on_span_end`、`shutdown` の各メソッドを実装します。` や `trace.duration_ms`、` などの情報にアクセスできます。`add_trace_processor(MyProcessor())` で登録すると、OpenAI バックエンドと並行してカスタム処理が実行されます。 🏗 実践的な使い方 **add_trace_processor() で OpenAI と並行して外部送信** OpenAI の Traces ダッシュボードはそのまま使いつつ、自社の観測基盤にもデータを送るパターンです。 `TracingProcessor` を継承して `DatadogProcessor` を作成します。`on_trace_start` で `dd_client.start_span(operation_name="agent.trace", resource= を呼び出し、`on_trace_end` で `dd_client.finish_span(metadata={"duration_ms": trace.duration_ms})` で完了を記録します。`on_span_start` では `operation_name=f"agent.{span.type}"` でスパンを開始し、`shutdown` で `dd_client.flush()` を呼びます。`add_trace_processor(DatadogProcessor(dd_client))` で登録すると、OpenAI と並行して Datadog にもトレースが送信されます。 **set_trace_processors() で送信先を完全置換** OpenAI にトレースを送らず、Langfuse や MLflow だけに送る場合はプロセッサを置き換えます。 `agents` から `set_trace_processors` をインポートし、送信先を完全に置換します。`set_trace_processors([LangfuseTracingProcessor()])` で Langfuse に、`[MLflowTracingProcessor()]` で MLflow に、`[ArizeTracingProcessor()]` で Arize に、`[BraintrustTracingProcessor()]` で Braintrust にそれぞれ切り替えられます。OpenAI バックエンドを含む既存のプロセッサはすべて置き換わります。 **set_tracing_export_api_key() で非 OpenAI モデルのトレースを無料で可視化** OpenAI 以外のモデル(Gemini、Claude 等)を使っている場合でも、トレース機能を無料で利用できます。 `agents` から `set_tracing_export_api_key` をインポートし、`set_tracing_export_api_key("your-tracing-export-key")` を呼び出します。OpenAI 以外のモデル(Gemini、Claude 等)を使っている場合でも、この設定でトレース機能を無料で利用できます。 **複数プロセッサの組み合わせ** 本番環境では、複数の観測ツールにトレースを送るのが一般的です。 `set_trace_processors` にリストで複数のプロセッサを渡します。`LangfuseTracingProcessor()` で詳細な LLM 分析、`DatadogProcessor(dd_client)` でインフラ監視との統合、`CustomAuditProcessor()` で社内監査ログを同時に実現できます。 💡 ユースケース 📡 add_trace_processor() で OpenAI ダッシュボードを維持しつつ Datadog にもトレースを並行送信 🔀 set_trace_processors() で Langfuse/MLflow/Arize/Braintrust に送信先を完全切り替え 🆓 set_tracing_export_api_key() で非 OpenAI モデル(Gemini、Claude)のトレースを無料で可視化 🔧 複数プロセッサ(Langfuse + Datadog + 監査ログ)を組み合わせた本番観測パイプラインの構築 ⚠️ 注意点 - `set_trace_processors()` は既存のプロセッサを**すべて置換**します。OpenAI バックエンドも含めて消えるので、残したい場合は `add_trace_processor()` を使ってください。 - カスタムプロセッサの `shutdown()` メソッドは必ず実装し、バッファに残ったデータをフラッシュしてください。 - 複数プロセッサを使う場合、各プロセッサの処理時間がトレース送信のオーバーヘッドになります。非同期送信を検討してください。 ✨ カスタムプロセッサを使えば、トレースデータを既存の観測スタックにそのまま流し込めます。まずは add で並行送信を試し、安定したら set で送信先を最適化していきましょう! #OpenAIAgentSDK# #AIAgent#
もっと見る