セッションの検査と使用量の追跡
Claude Consoleでセッションを検査し、そのトークン使用量と定価コストを確認して、エージェントの予期しない動作をデバッグします。
Claude Consoleのセッションビューアーを使用すると、コードを書かずに、セッション内でエージェントが何を行ったかを検査できます。セッションのusage合計を使用して、その作業で何が消費されたかを確認します。
Consoleでセッションを検査する
セッションビューアーにアクセスできるのは開発者と管理者のみです。開くには、Consoleのサイドバーに移動し、Managed Agentsの下にあるSessionsを選択します。一覧には、ワークスペース内のすべてのセッションが、そのステータス、エージェント、トークン使用量、コスト、作成時刻とともに表示されます。セッションを選択して開きます。
セッションビューアーには以下が表示されます。
- タイムラインミニマップ: セッションのアクティビティを時系列でズーム可能な形で概観できるもので、マルチエージェントセッションではスレッドごとに1つのレーンがあります。レーンを選択するとそのスレッドを表示でき、マークを選択するとそのイベントにジャンプできます。
- トランスクリプト: モデルリクエストごとにグループ化された会話で、思考、入力と結果を含むツール呼び出し、ストリーミングされるメッセージテキストが含まれます。イベントをフィルタリングしたり、JSONとしてコピーまたはダウンロードしたりできます。
- インスペクター: セッションの詳細を5つのタブで表示する、サイズ変更可能なサイドパネルです。
| インスペクタータブ | 表示内容 |
|---|---|
| Session | セッションの詳細とメタデータ、時間経過に伴う累積コスト、およびセッションに予算が設定されている場合はその予算に対する支出。 |
| Events | 現在のスレッド上のすべての生イベントを、サーバーが送信した順序で表示します。イベントを選択するとそのJSONを確認できます。ページを開いている間にストリーミングされたメッセージには、そのイベントデルタを表示するDeltasビューもあります。 |
| Tools | セッションのエージェントに設定されているツールと、その呼び出し回数、失敗数、所要時間の中央値。ツールを選択するとその呼び出しを確認でき、トランスクリプト内の呼び出しにジャンプできます。 |
| Resources | コンテナパスにマウントされたファイル、リポジトリ、メモリストア。各ストア内のメモリと、このセッションがそれらに加えた変更も含まれます。また、エージェントが/mnt/session/outputsに書き込んだファイルと、セッションのエージェントにアタッチされたスキルも一覧表示します。 |
| Threads | すべてのスレッドと、そのステータス、コンテキストサイズ、コスト。スレッドを選択すると、エージェント、モデル、コンテキスト使用量、コストなどの詳細を確認できます。 |
セッションURLに ?event={event_id} を追加すると、特定のイベントの位置でセッションを開くことができます。
ant beta:sessions connect を使用すると、ant CLI から同じビューアーを開いたり、ターミナルでセッションを追跡したりできます。詳しくは、ターミナルから Managed Agents セッションに接続するを参照してください。
使用量を追跡する
セッションオブジェクトには、セッションの累積使用量を示す usage フィールドが含まれています。トークン数、サーバーツール使用、アクティブ時間、および追跡された定価コストです。最新の合計値を読み取るには、セッションがアイドル状態になった後にセッションを取得してください。
{
"id": "sesn_01...",
"status": "idle",
"usage": {
"input_tokens": 5000,
"output_tokens": 3200,
"cache_read_input_tokens": 20000,
"cache_creation": {
"ephemeral_5m_input_tokens": 2000,
"ephemeral_1h_input_tokens": 0
},
"list_cost": {
"amount": "187",
"currency": "USD"
},
"active_seconds": 342.5,
"server_tool_use": {
"web_search_requests": 3,
"web_fetch_requests": 0
}
}
}| フィールド | 説明 |
|---|---|
input_tokens | セッション内のすべてのモデル呼び出しにおける、キャッシュされていない入力トークン。 |
output_tokens | セッション内のすべてのモデル呼び出しにおける出力トークンの合計。 |
cache_read_input_tokens | プロンプトキャッシュから読み取られたトークン。 |
cache_creation | キャッシュ作成トークン。キャッシュの有効期間別(ephemeral_5m_input_tokensとephemeral_1h_input_tokens)に内訳が示されます。 |
list_cost | 公開定価で算出したセッションの累積消費量。セント単位の整数を文字列で表し、通貨コードが付きます。 |
active_seconds | セッションで少なくとも1つのスレッドが実行されていた累積時間。同時実行スレッドによる重複したアクティビティは1回としてカウントされます。セッションのランタイムコストはこの時間に基づいて算出されます。 |
server_tool_use | 料金算出のための、サーバー側で実行されたツールリクエストの数。Web検索リクエストはリクエストごとに定価コストに含まれます。Webフェッチリクエストにはリクエストごとの料金がかからず計測もされないため、web_fetch_requestsは0になります。 |
キャッシュエントリはデフォルトで5分間のTTLを使用するため、その時間内に連続するターンではキャッシュ読み取りの恩恵を受け、トークンあたりのコストが削減されます。
セッションのstatsオブジェクトには独自のactive_secondsがあり、重複したアクティビティを1回としてカウントするのではなく、各スレッド自身のアクティブ時間を合計します。
スレッドごとの使用量
各セッションスレッド自身のusageにもlist_costとactive_secondsが含まれます。スレッドごとの数値は個別に丸められ、セッションの実行時間コストを含まないため、合計してもセッションのlist_costと正確には一致しません。正式な数値はセッションの数値です。
ストリームから使用量を読み取る
これらの合計を確認するためにセッションをポーリングする必要はありません。session.usageイベントは、セッションストリームとイベント履歴で同じ累積スナップショットを伝えます。スナップショットにはusageオブジェクトとセッションのbudgetが含まれ、セッションに予算がない場合budgetはnullになります。
このイベントはタイマーではなく、アイドル状態への遷移時に発行されます。
- セッションは、停止理由にかかわらず、アイドル状態になる直前に1回発行します。
- セッションは、スレッドがセッション予算で一時停止したときに1回発行します。
支出上限を適用する
支出上限を適用するには、使用量をポーリングして自分でセッションを停止するのではなく、セッション予算を設定してください。プラットフォームはセッションの消費量を継続的に算出し、定価コストが上限に達すると、各スレッドを次のモデルリクエストの前に一時停止します。ストリーム上でどのように見えるかについては、セッションが予算に達したときを参照してください。
デバッグのヒント
- セッションイベントを確認する: セッションは
session.errorイベントを通じてエラーを報告します。 - ツールの結果を確認する: ツール実行の失敗は、エージェントの予期しない動作の原因であることがよくあります。インスペクターのToolsタブには各ツールの失敗が表示されます。
- システムプロンプトを活用する: システムプロンプトにログ記録の指示を追加して、エージェントが何を行い、何を見つけたかを要約させます。
- プレビューのトラブルシューティング: イベントデルタをオプトインしたストリームが期待どおりに動作しない場合は、プレビューのトラブルシューティングを参照してください。
次のステップ
イベントを送信し、レスポンスをストリーミングし、実行中のセッションを中断またはリダイレクトします。
公開定価で適用される厳格なドル建て予算で、セッションの支出に上限を設けます。
Was this page helpful?