インストール
AGENTEYE_TOKEN を使用して GitHub Releases からホイールをダウンロードしてください。トークンをまだお持ちでない場合は、GitHub トークンのセットアップでセットアップ手順と必要な権限をご確認ください。
gh CLI + pip を使用する場合:
gh CLI + uv を使用する場合:
gh CLI 不要):
クイックスタート
configure()
event.* を呼び出す前に一度だけ実行してください。省略しても問題ありません。デフォルト設定でそのまま動作します。すべての引数はキーワード専用です。上記のように名前を指定して渡してください。
base_dir が None(デフォルト)の場合、SDK は $AGENTEYE_HOME が設定されていればその値を使用し、設定されていなければ ~/.agenteye にフォールバックします。これはコレクター自身の解決方法と一致するため、AGENTEYE_HOME 環境変数を一つ設定するだけで、SDK とコレクターの両方に対して共有イベントスプールを構成できます。サイドカー構成やシングルポッドのデプロイなど、両プロセスがスプールパスを共有する必要がある場合に必要です。
環境
すべてのイベントにデプロイ環境のラベル(production、staging、qa、canary など)を付与します。一度設定するだけで、SDK が自動的にすべてのイベントに付加します。
オプション 1: configure() で設定する場合:
configure(environment=...) は環境変数よりも優先されます。どちらも設定されていない場合は "dev" がデフォルト値となります。
環境の値はダッシュボードのファーストクラスフィルターとして表示され、高速クエリのためにサーバー上のインデックス付きカラムとして保存されます。
制約: 環境の値にリテラルのカンマ , を含めることはできません。ダッシュボードのフィルターはカンマ区切りのマルチセレクトをワイヤ上で使用するため(?environment=prod,staging)、prod,blue という名前の環境は2つの値に分割されてしまいます。カンマを含む環境を持つイベントは、インジェスト時に拒否されます。
イベントリファレンス
すべてのイベントメソッドには以下の2つのフィールドが必要です:| フィールド | 型 | 説明 |
|---|---|---|
session_id | str | トップレベルのエージェント実行を識別する |
agent_id | str | セッション内でイベントを発行したエージェントを識別する |
**kwargs も受け付けます(カスタムフィールドを参照)。
event.agent_start()
エージェントが処理を開始したときに発行されます。
event.agent_end()
エージェントが処理を終了したときに発行されます。
event.tool_use()
エージェントがツールを呼び出したときに発行されます。tool_result と対で使用し、SDK が duration_ms を自動計算します。
event.tool_result()
ツールが結果を返したときに発行されます。tool_call_id を通じて tool_use と対応付けられます。
event.model_request()
LLM にプロンプトを送信する直前に発行されます。
messages のエントリは、プレーンな文字列の content または Anthropic スタイルのブロックリスト形式の content を受け付けます。サンプリングパラメータ(temperature、max_tokens など)は追加の kwargs として渡すことができます。
event.model_response()
LLM がレスポンスを返したときに発行されます。
content はプレーンな文字列(汎用プロバイダー向け)または Anthropic スタイルのコンテンツブロックのリストを受け付けます。ツール呼び出しは content 内に {"type": "tool_use", ...} ブロックとして格納されており、別途 tool_calls フィールドはありません。
event.hook_triggered()
フックが発火したときに発行されます。hook_completed と対で使用し、SDK が duration_ms を自動計算します。
event.hook_completed()
フックが完了したときに発行されます。hook_id を通じて hook_triggered と対応付けられます。
event.error()
未処理のエラーが発生したときに発行されます。
ヒューマン・イン・ザ・ループイベント
ヒューマン・イン・ザ・ループイベントは、人間がエージェントの実行に介入する瞬間(承認待ち、入力提供、一時停止、またはエージェントの停止)を監視する機能を提供します。人間が応答するまでの時間の計測(SDK は対となるイベントでduration_ms を自動計算)、エージェントを一時停止または中断した人物の監査、そしてダッシュボードに表示される承認・監視ワークフローの構築が可能になります。
event.human_wait()
エージェントが人間の入力を待って実行を一時停止したときに発行されます。human_input と対で使用し、SDK が duration_ms(人間が応答するまでの時間)を自動計算します。
event.human_input()
人間が入力を提供し、エージェントが実行を再開したときに発行されます。input_id を通じて human_wait と対応付けられます。duration_ms は自動計算されるため、呼び出し元が渡す必要はありません。
event.human_pause()
人間がエージェントを能動的に一時停止したとき(例: ダッシュボードのコントロールを使用)に発行されます。エージェントは中断されますが、終了はしません。
event.human_interrupt()
人間がエージェントの実行中に能動的に停止させたときに発行されます。human_pause とは異なり、エージェントの処理は中断ではなく終了します。
カスタムフィールド
追加のキーワード引数はすべて、標準フィールドの後にイベントへ付加されます:timestamp、type、environment は予約済みであり、カスタムフィールドとして渡した場合は ValueError(Reserved field names cannot be used as custom fields: [...])が発生します。session_id と agent_id はすべてのイベントメソッドで必須パラメータのため、2度目に渡すことはできません。その場合、Python が TypeError を発生させます。環境の設定には configure(environment=...) または AGENTEYE_ENVIRONMENT 変数を使用してください。
イベントの書き込み方法
イベントはプロセス内でバッファリングされ、flush_interval 秒ごと(デフォルト 500 ms)にディスクへフラッシュされます。フラッシュのたびに1つの JSONL ファイルが書き込まれます:

