メインコンテンツへスキップ
Koog は、単一実行のエージェントから複雑なワークフローエージェントまで構築できる、Kotlin ベースのフレームワークです。Koog には OpenTelemetry (OTEL) サポートが組み込まれており、トレースを Weave に直接エクスポートできるため、プロンプト、コンプリーション、ツール call、エージェントのエンドツーエンドの実行を可視化できます。 このガイドでは、Kotlin エージェントが OpenTelemetry のスパンを Weave プロジェクトに転送するように、Koog の Weave エクスポーターを設定する方法を説明します。エクスポーターを有効にすると、エージェントの Runs をデバッグし、パフォーマンスを分析し、改善の反復をより迅速に行えます。このガイドは、すでに Koog でエージェントを構築していて、Weave のトレースを追加したい Kotlin 開発者を対象としています。
Koog

前提条件

Weave エクスポーター が認証を行い、トレースを正しい project に送信できるように、エージェントを実行する前に次の環境変数を設定する必要があります。 [YOUR-API-KEY] は Weave APIキーに、[YOUR-ENTITY] は W&B のチーム名または entity 名に置き換えてください。WEAVE_PROJECT_NAME には任意のプロジェクト名を指定できます。Weave は初回使用時に project を作成します。

Koog をインストールする (Gradle)

環境変数を設定したら、Koog を Kotlin プロジェクトに追加します。これにより、エージェントとそのエクスポーターを設定できるようになります (Kotlin DSL の例を使用) :
追加のインストール情報については、Koog のドキュメントを参照してください。

Weave エクスポートを有効にする (OpenTelemetry)

Koog をインストールしたら、Koog の OpenTelemetry 機能をインストールし、Weave エクスポーターを追加します。これにより、Koog のスパンが Weave の OpenTelemetry エンドポイントを介して Weave トレースにマッピングされます。 次の例は、addWeaveExporter の使い方を示しています。
この関数は Weave の環境変数を自動的に読み取りますが、エクスポーターについては、特定のパラメーター を指定して、次の例のように設定することもできます。
上記の例では:
  • weaveEntityweaveProjectName を使用して、トレースを特定のチームとプロジェクトにルーティングします。
  • weaveOtelBaseUrl をトレースのエンドポイント (例: https://[YOUR-SUBDOMAIN].wandb.io/[PATH]) に設定します。専用の Weave インスタンスでは、このパラメーターを使用してください。
Koog を Weave で使い始めたばかりの場合は、次のドキュメントを確認することをおすすめします。

トレースされる内容

エクスポーターを有効にしてエージェントを実行すると、Koog はトレースを Weave プロジェクトに転送します。Koog の Weave エクスポーター は、Koog の一般的な OTEL インテグレーションと同じスパンをキャプチャします。これには次が含まれます。
  • エージェントのライフサイクルイベント (開始、停止、エラー)
  • LLM とのやり取り (プロンプト、コンプリーション、token 使用量、レイテンシ)
  • ツールおよび API の call (function call と外部リクエスト)
  • システムコンテキスト (モデル名、Koog バージョン、環境メタデータ)
これらのトレースは Weave UI で可視化でき、パフォーマンスと品質の把握に役立ちます。Weave でトレースをキャプチャする方法の概要については、Weave のトレース概要 を参照してください。

サンプルノートブック

Weave にトレースをストリーミングする実行可能なノートブックについては、Koog のドキュメントを参照してください。

トラブルシューティング

Koog エージェントが想定どおりにトレースをエクスポートしない場合は、次を確認してください。
  • トレースが表示されない場合は、まず WEAVE_API_KEYWEAVE_ENTITYWEAVE_PROJECT_NAME が正しく設定されていることを確認してください。
  • お使いの環境から https://trace.wandb.ai にアクセスできること、およびエクスポーターが前述の例で示したとおりに設定されていることを確認してください。
  • 追加のトラブルシューティングとサンプリングのガイダンスについては、Koog の OpenTelemetry サポート を参照してください。