Skip to main content
ランナーの invocation、エージェントの run、モデルの Call、ツールの 実行を、Weave のエージェントパイプライン上で GenAI-semconv OTel スパンとして出力する ADK プラグインです。 BasePlugin のインターフェース全体を構造的に実装します。ADK の PluginManager は すべてのコールバックを呼び出すため、no-op のコールバックも含めてすべて定義されています。 ADK は undefined 以外の戻り値を処理の早期終了とみなすため、すべてのコールバックは 自身のエラーを握りつぶし、undefined を返します。

実装するインターフェース

  • BasePlugin

コンストラクター

new WeaveAdkPlugin(): WeaveAdkPlugin

戻り値

WeaveAdkPlugin

プロパティ

name

readonly name: "weave" = WEAVE_ADK_PLUGIN_NAME

実装元

AdkBasePlugin.name

メソッド

afterAgentCallback()

afterAgentCallback(params): Promise<undefined>
エージェントの主要なロジックが完了した後に実行されるコールバックです。 このコールバックを使用すると、エージェントの最終結果が返される前に、 その結果を検査したり、ログしたり、変更したりできます。

パラメーター

object
必須

戻り値

Promise<undefined> 省略可能な Content オブジェクトです。値が返された場合は、 エージェントの元の結果を置き換えます。undefined を返すと、 変更されていない元の結果を使用します。

実装元

AdkBasePlugin.afterAgentCallback

afterContextCompaction()

afterContextCompaction(_params): Promise<undefined>
コンテキストの圧縮後に実行されるコールバックです。 このコールバックでは、圧縮された後のコンテキストを 確認できます。

パラメーター

unknown
必須

戻り値

Promise<undefined>

実装元

AdkBasePlugin.afterContextCompaction

afterModelCallback()

afterModelCallback(params): Promise<undefined>
モデルから応答を受信した後に実行されるコールバックです。 モデルの応答をログしたり、token 使用量に関するメトリクスを収集したり、 生の LlmResponse に対して後処理を行ったりするのに最適な場所です。

パラメーター

object
必須

戻り値

Promise<undefined> オプションの値です。undefined でない返り値は、 フレームワークによって応答を変更または置き換えるために使用される場合があります。undefined を返すと、 元の応答が使用されます。

実装元

AdkBasePlugin.afterModelCallback

afterRunCallback()

afterRunCallback(params): Promise<undefined>
ADK ランナーの run が完了した後に実行されるコールバックです。 これは ADK ライフサイクルの最後のコールバックで、クリーンアップ、 最終的なログをする処理や報告の処理に適しています。

パラメーター

object
必須

戻り値

Promise<undefined> undefined

実装元

AdkBasePlugin.afterRunCallback

afterToolCallback()

afterToolCallback(params): Promise<undefined>
ツールが呼び出された後に実行されるコールバックです。 このコールバックでは、ツールが返した結果を 検査したり、ログしたり、変更したりできます。

パラメーター

object
必須

戻り値

Promise<undefined> 任意の辞書です。辞書を返すと、 ツールの元の結果を置き換えます。これにより、 ツールの出力の後処理や変更が可能になります。undefined を返すと、 変更されていない元の結果を使用します。

実装元

AdkBasePlugin.afterToolCallback

beforeAgentCallback()

beforeAgentCallback(params): Promise<undefined>
エージェントの主要なロジックが呼び出される前に実行されるコールバックです。 このコールバックは、ログする処理や初期設定、または値を返すことで エージェントの実行を早期終了するために使用できます。

パラメーター

object
必須

戻り値

Promise<undefined> 省略可能な Content オブジェクトです。値が返された場合は、 エージェントのコールバックと実行をスキップし、この値を 直接返します。undefined を返すと、エージェントは通常どおり処理を続行します。

実装元

AdkBasePlugin.beforeAgentCallback

beforeContextCompaction()

beforeContextCompaction(_params): Promise<undefined>
コンテキストの圧縮前に実行されるコールバックです。 このコールバックでは、コンテキストが圧縮される前に コンテキストを確認または変更できます。

パラメーター

unknown
必須

戻り値

Promise<undefined>

実装元

AdkBasePlugin.beforeContextCompaction

beforeModelCallback()

beforeModelCallback(params): Promise<undefined>
モデルにリクエストが送信される前に実行されるコールバック。 これにより、LlmRequest オブジェクトを検査、ログ、変更したりする機会が提供されます。また、キャッシュされた LlmResponse を返すことでキャッシュを実装し、実際のモデルの Call をスキップすることもできます。

パラメーター

object
必須

戻り値

Promise<undefined> 省略可能な値です。undefined 以外の値は、 早期終了を引き起こし、応答を即座に返すものと解釈されます。 undefined を返すと、LLM リクエストは通常どおり続行されます。

実装元

AdkBasePlugin.beforeModelCallback

beforeRunCallback()

beforeRunCallback(params): Promise<undefined>
ADK ランナーの実行前に呼び出されるコールバックです。 ライフサイクルで最初に呼び出されるコールバックで、全体で共通の セットアップや初期化を行うのに適しています。

パラメーター

object
必須

戻り値

Promise<undefined> ADK に返すオプションの Event です。値を返すと ランナーの実行を停止し、そのイベントでランナーを終了します。 通常どおり続行するには undefined を返します。

実装元

AdkBasePlugin.beforeRunCallback

beforeToolCallback()

beforeToolCallback(params): Promise<undefined>
ツールが呼び出される前に実行されるコールバック。 このコールバックは、ツールの使用をログすること、入力の検証、または ツールに渡す引数の変更に役立ちます。

パラメーター

object
必須

戻り値

Promise<undefined> オプションの辞書。辞書が返された場合、 ツール実行を停止し、この応答を直ちに返します。 undefined を返すと、元の変更されていない引数が使用されます。

実装元

AdkBasePlugin.beforeToolCallback

beforeToolSelection()

beforeToolSelection(_params): Promise<undefined>
ツールが選択される前に実行されるコールバック。 このコールバックは、ツールが選択される前に利用可能なツールを検査したり、ログしたり、変更したりする機会を提供します。

パラメーター

unknown
必須

戻り値

Promise<undefined> オプションの値です。undefined 以外の値を返すと、 フレームワークが利用可能なツールを変更または置き換える場合があります。 undefined を返すと、元のツールが使用されます。

実装元

AdkBasePlugin.beforeToolSelection

finishInterruptedInvocation()

finishInterruptedInvocation(invocationId): void
run が afterRunCallback に到達しなかった場合に確定します。ADK はイベントループが正常にドレインした後にのみ afterRunCallback をディスパッチするため、runAsync から早期に抜けるコンシューマー、または中断された run は invocation (およびそのスパン) を開いたままにします。自動インストルメントのランナーラッパーは、これを finally から呼び出して中断として閉じます。べき等: run がすでに finished になった場合 (一般的な、完全に消費されたケース) には no-op です。

パラメーター

string
必須

戻り値

void

onEventCallback()

onEventCallback(params): Promise<undefined>
ランナーからイベントが生成された後に実行されるコールバックです。 これは、イベントが基盤となるエージェントアプリによって処理される前に、イベントを変更するのに最適な場所です。

パラメーター

object
必須

戻り値

Promise<undefined> オプションの値です。undefined でない返り値は、 フレームワークによって応答を変更または置き換えるために使用される場合があります。undefined を返すと、 元の応答が使用されます。

実装元

AdkBasePlugin.onEventCallback

onModelErrorCallback()

onModelErrorCallback(params): Promise<undefined>
モデルの Call でエラーが発生すると実行されるコールバックです。 このコールバックでは、モデルのエラーを適切に処理し、 必要に応じて代替の応答や復旧手段を提供できます。

パラメーター

object
必須

戻り値

Promise<undefined> オプションの LlmResponse。LlmResponse が返された場合、エラーを伝播する代わりにそれが 使用されます。undefined を返すと、 元のエラーが発生します。

実装元

AdkBasePlugin.onModelErrorCallback

onToolErrorCallback()

onToolErrorCallback(params): Promise<undefined>
ツール呼び出しでエラーが発生したときに実行されるコールバックです。 tool: BaseTool; toolArgs: Record<string, unknown>; toolContext: Context; result: Record<string, unknown>; }): Promise<Record<string, unknown> | undefined> { return; } /** ツール呼び出しでエラーが発生したときに実行されるコールバックです。 このコールバックでは、ツールのエラーを適切に処理し、 代替の応答や復旧の仕組みを提供できます。

パラメーター

object
必須

戻り値

Promise<undefined> 省略可能な辞書。辞書が返された場合、エラーを伝播する代わりに ツールの応答として使用されます。 undefined を返すと、元のエラーが送出されます。

実装元

AdkBasePlugin.onToolErrorCallback

onUserMessageCallback()

onUserMessageCallback(_params): Promise<undefined>
invocation が開始される前にユーザーメッセージを受信すると実行される コールバックです。 このコールバックは、ランナーが invocation を開始する前にユーザーメッセージを ログしたり変更したりするのに役立ちます。

パラメーター

object
必須

戻り値

Promise<undefined> ADK に返されるオプションの Content。ユーザーメッセージを置き換える 値を返します。undefined を返すと通常どおり処理を 続行します。

実装元

AdkBasePlugin.onUserMessageCallback
最終更新日 2026年9月30日