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 weave from 'weave';
await weave.init('my-project');

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

const registered = await instrumentOpenAIAgents();
if (!registered) {
  console.log('OpenAI Agents introuvable - installez @openai/agents pour activer le tracing');
}
Remarques Comment fonctionne l’instrumentation automatique : Lorsque vous importez Weave, celui-ci enregistre des hooks de chargement 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 { addTraceProcessor } from '@openai/agents';
import { createOpenAIAgentsTracingProcessor } from 'weave';

const processor = createOpenAIAgentsTracingProcessor();
addTraceProcessor(processor);

Défini dans

integrations/openai.agent.ts:674