Trois lignes pour votre premier enregistrement.
- 01
Instrumenter
Branchez n’importe quel exporteur OpenTelemetry sur Trajekt. Les spans qui suivent les conventions sémantiques GenAI ou la télémétrie du Vercel AI SDK sont compris tels quels.
- 02
Enregistrer
Chaque run devient une trajectoire : étapes, arguments et résultats d’outils, tokens, latence et coût, regroupés par agent et par version.
- 03
Rejouer
Ouvrez n’importe quel run sur une timeline, comparez-le à un autre et voyez quand une nouvelle version se met à boucler, à échouer ou à coûter plus cher.
// instrumentation.ts — OpenTelemetry standard, rien de propriétaire
import { NodeSDK } from '@opentelemetry/sdk-node';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
new NodeSDK({
serviceName: 'sentry-triage',
traceExporter: new OTLPTraceExporter({
url: 'http://localhost:3000/v1/traces',
headers: { Authorization: `Bearer ${process.env.TRAJEKT_API_KEY}` },
}),
}).start();
// Avec le Vercel AI SDK, activez la télémétrie à chaque appel :
await generateText({
model, prompt, tools,
experimental_telemetry: { isEnabled: true, functionId: 'sentry-triage' },
});Vous avez déjà des traces ? @trajekt-ai/core les lit dans votre propre code et vos tests :
import { normalize, computeMetrics } from '@trajekt-ai/core';
// Un export Langfuse, des spans OTLP/JSON ou un résultat AI SDK
const run = normalize(trace);
const { status, costUsd, redundantToolCalls, retryCount } = computeMetrics(run);Compatible avecOpenTelemetry · OTLP/HTTP JSON & protobufConventions sémantiques GenAIVercel AI SDKOpenInference · LangChain, LlamaIndexImport Langfuse