Passer au contenu principal

instrumentOpenAIAgents

instrumentOpenAIAgents(): Promise<boolean> Enregistrez manuellement le Tracing Weave avec OpenAI Agents si le package est disponible. Remarque : vous n’avez généralement pas besoin d’appeler cette fonction ! OpenAI Agents est automatiquement instrumenté via des hooks du chargeur de modules lorsque vous importez Weave. Cette fonction est fournie pour les cas limites où l’instrumentation automatique ne fonctionne pas (par ex., imports dynamiques, bundlers qui contournent les hooks). Cette fonction tente d’importer dynamiquement @openai/agents depuis le répertoire node_modules du client et enregistre un TracingProcessor. Si le package n’est pas installé, elle renvoie false sans lever d’erreur.

Renvoie

Promise<boolean> Promise<boolean> - true si l’enregistrement a réussi, false si @openai/agents n’est pas disponible Exemple
// ✅ Recommandé : importez simplement Weave - l'instrumentation se fait automatiquement !
import * as  from 'weave';
await .init('my-project');

// OpenAI Agents est déjà instrumenté via des hooks - aucune configuration manuelle requise
import {  } from '@openai/agents';
const  = new ({ ... });
await .run(input); // Automatiquement tracé dans Weave
Exemple
// ⚠️ Uniquement nécessaire pour les cas limites où les hooks automatiques ne fonctionnent pas
import {  } from 'weave';

const  = await ();
if (!) {
  .('OpenAI Agents not found - install @openai/agents to enable tracing');
}
Remarques Comment fonctionne l’instrumentation automatique : Lorsque vous importez Weave, celui-ci enregistre des hooks du chargeur de modules via addCJSInstrumentation() et addESMInstrumentation(). Lorsque votre code importe ensuite @openai/agents, ces hooks interceptent l’import et modifient automatiquement le module pour ajouter le tracing Weave. Cela se fait de manière transparente - aucune action de votre part n’est nécessaire ! Quand utiliser cette fonction : Utilisez-la uniquement si l’instrumentation automatique échoue, par exemple dans les cas suivants :
  • Utilisation d’imports dynamiques qui contournent les hooks de module
  • Utilisation de bundlers qui ne prennent pas en charge import-in-the-middle
  • Besoin d’un contrôle explicite sur le moment où l’instrumentation a lieu
Alternative pour une logique de processeur personnalisée : Si vous avez besoin d’un comportement de tracing personnalisé, utilisez createOpenAIAgentsTracingProcessor() et enregistrez-le manuellement :
import {  } from '@openai/agents';
import {  } from 'weave';

const  = ();
();

Défini dans

src/integrations/openai.agent.ts:169