メインコンテンツへスキップ

instrumentOpenAIAgents

instrumentOpenAIAgents(): Promise<boolean> パッケージが利用可能な場合、OpenAI Agents に Weave のトレースを手動で登録します。 注: 通常、この関数を呼び出す必要はありません。 Weave を import すると、OpenAI Agents はモジュールローダーフックを通じて自動的にインストルメンテーションされます。この関数は、自動インストルメンテーションが機能しないエッジケース (例: 動的 import や、フックをバイパスするバンドラー) のために用意されています。 この関数は、利用側の node_modules から @openai/agents を動的に import し、TracingProcessor の登録を試みます。パッケージがインストールされていない場合は、エラーをスローせずに false を返します。

戻り値

Promise<boolean> Promise<boolean> - 登録に成功した場合は true@openai/agents を利用できない場合は false
// ✅ 推奨: Weave を import するだけで、インストルメンテーションが自動的に行われます!
import * as  from 'weave';
await .init('my-project');

// OpenAI Agents はフック経由でインストルメントされるため、手動での setup は不要です
import {  } from '@openai/agents';
const  = new ({ ... });
await .run(input); // Weave で自動的にトレースされます
// ⚠️ 自動フックが機能しないエッジケースでのみ必要
import {  } from 'weave';

const  = await ();
if (!) {
  .('OpenAI Agents not found - install @openai/agents to enable tracing');
}
Remarks 自動インストルメンテーションの仕組み: Weave を import すると、addCJSInstrumentation()addESMInstrumentation() を通じてモジュールローダーフックが登録されます。その後、コードで @openai/agents を import すると、これらのフックが import を捕捉し、Weave のトレースを追加するためのパッチをモジュールに自動的に適用します。これは透過的に行われるため、特別な対応は不要です。 この関数を使用するタイミング: 自動インストルメンテーションが機能しない場合にのみ使用してください。たとえば、次のようなケースです。
  • モジュールフックをバイパスする動的 import を使用している
  • import-in-the-middle をサポートしていないバンドラーを使用している
  • インストルメンテーションを実行するタイミングを明示的に制御する必要がある
カスタム processor ロジックの代替手段: カスタムのトレース動作が必要な場合は、 createOpenAIAgentsTracingProcessor() を使用して手動で登録してください:
import {  } from '@openai/agents';
import {  } from 'weave';

const  = ();
();

定義元

src/integrations/openai.agent.ts:169