Qoder Agent SDK は Credits 使用量データを公開します。Credits は Qoder のリソース使用量を表す単位です。このガイドでは、アカウントクォータ、リクエスト単位の Credits、現在のセッションの累計 Credits を取得する方法を説明します。
Credits の製品ルール、クォータの種類、消費順序については、Credits を参照してください。
すべてのパーセンテージフィールドは
確認する範囲に応じて、SDK はアカウントクォータ、個別のモデルリクエスト、現在のセッション累計という 3 種類の Credits 使用量を提供します。
Agent タスクの終了を待たずにアプリケーションコードから現在のクォータだけを取得する場合は、
主なレスポンスフィールドは次のとおりです。
アカウントのクォータ情報と
メッセージストリームでは、リクエスト単位とセッション累計の両方の統計を取得できます。次の例では、以下を出力します。
現在のコンテキスト使用量を確認する
getContextUsage() / get_context_usage() を使用すると、新しい Agent ターンを開始せずに現在のコンテキストスナップショットを取得できます。SDK は実行中の CLI にこのスナップショットを要求し、SDK 側で使用量を再計算しません。レスポンスには、全体の使用率、CLI の /context ビューに表示されるカテゴリ別推定値、自動コンパクションの状態、重複ファイル読み取り、セッション統計、表示可能な skills が含まれます。
0–100 の範囲です。各 skill の percentageOfContext はコンテキストウィンドウ全体を分母とします。そのため、各 skill の割合を全 skills の合計に対して表示する CLI の Skills タブとは異なります。
カテゴリ値はローカル推定であり、その合計が全体の使用率と完全に一致するとは限りません。全体の使用率は contextWindow.usedPercentage で確認し、カテゴリと skill の内訳はそれぞれの割合フィールドで確認できます。
Credits 使用量を確認する
確認する範囲に応じて、SDK はアカウントクォータ、個別のモデルリクエスト、現在のセッション累計という 3 種類の Credits 使用量を提供します。
| 確認する内容 | TypeScript | Python | データ範囲 |
|---|---|---|---|
| アカウントクォータと現在のセッション使用量 | q.getUsageInfo() | client.get_usage_info() | アカウントと現在の CLI セッションのリアルタイムスナップショット |
| 個別のモデルリクエスト使用量 | message.message.usage | message.usage | 完了した 1 回のモデルリクエスト |
| 現在のセッション累計 | result.total_credits、result.modelUsage | result.total_credits、result.model_usage | 現在の CLI セッション開始時から Result メッセージまでの累計値 |
getUsageInfo() / get_usage_info() を使用します。各モデルリクエストを記録する場合や、セッション終了時に使用量を集計する場合は、メッセージストリームから読み取ります。
TypeScript では、2 か所のセッション統計で命名規則が異なります。getUsageInfo().session は total_credits と model_usage を使用し、Result メッセージは total_credits と modelUsage を使用します。Python はどちらも snake_case です。
Credits 使用量を個別に取得する
getUsageInfo() / get_usage_info() はアカウントのクォータ情報を返します。取得可能な場合は、session に現在の CLI セッションの累計 Credits も含まれます。
| フィールド | 説明 |
|---|---|
userQuota | 現在のプランに含まれるクォータ。total、used、remaining、percentage、unit を含みます |
addOnQuota | 追加購入したクォータ。追加クォータがないアカウントでは省略される場合があります。detailUrl がある場合は使用量詳細ページを示します |
orgResourcePackage | 組織で共有するリソースパッケージ。総クォータを cap で表し、used、remaining、percentage、available、unit を提供します |
totalUsagePercentage | アカウントで利用可能なすべてのクォータを合計した使用率 |
isQuotaExceeded | アカウントで利用可能なクォータを使い切ったかどうか |
session.total_credits | 現在の CLI セッションの累計 Credits |
session.model_usage | 現在のセッションでモデルごとに集計した Credits |
session は独立したデータです。アカウントクォータのサービスが一時的に利用できない場合でも、SDK は session だけを含むオブジェクトを返すことがあります。そのため、userId や userQuota の有無でセッション使用量が利用可能かどうかを判断しないでください。
null / None が返された場合は、このリクエストでアカウントクォータとセッション Credits のどちらも取得できなかったことを示します。未認証や未対応の古い CLI バージョンに加えて、制御リクエストの失敗やサービスの一時的な停止でもこの結果になることがあります。
完全な API 定義については、SDK References を参照してください。
セッションメッセージから Credits を読み取る
メッセージストリームでは、リクエスト単位とセッション累計の両方の統計を取得できます。次の例では、以下を出力します。
- Assistant メッセージに含まれる各モデルリクエストの Credits
- Result メッセージに含まれる現在のセッションの累計 Credits
- Result メッセージに含まれるモデルごとの累計 Credits
total_credits を使用し、リクエスト単位の credits を加算しないでください。
フィールドの意味
| フィールド | 集計範囲 | 説明 |
|---|---|---|
credits | 個別のモデルリクエスト | キャンペーンや割引の適用後の Credits |
original_credits | 個別のモデルリクエスト | キャンペーンや割引の適用前の Credits。データがない場合は省略されます |
billable | 個別のモデルリクエスト | このリクエストをユーザーの Credits 使用量に加算するかどうか |
total_credits | 現在のセッション累計 | 現在の CLI セッション開始時から累計した Credits |
TypeScript modelUsage[model].credits | 現在のセッション累計 | 指定したモデルが現在のセッションで使用した累計 Credits |
Python model_usage[model]["credits"] | 現在のセッション累計 | 指定したモデルが現在のセッションで使用した累計 Credits |
注意: Result メッセージのusageフィールドからリクエスト単位の Credits を読み取らないでください。credits、original_credits、billableは Assistant メッセージから、セッション累計の Credits はtotal_creditsまたはモデルごとの統計から読み取ってください。
互換性
- Credits 関連フィールドは、古い CLI バージョンとの互換性のためにオプションです。読み取り前にフィールドの有無を確認し、欠損値を
0として扱わないでください。 total_creditsはセッションの累計値です。複数の Result メッセージに含まれる値を加算すると、重複して集計される可能性があります。- リクエスト単位の
creditsと Result メッセージのセッション累計 Credits は、同じ消費を異なる範囲で集計したものです。両者を加算しないでください。 - アカウントの残りクォータを表示する場合は、セッションメッセージを加算して推計するのではなく、
getUsageInfo()/get_usage_info()が返すクォータ情報を使用してください。
次のステップ
- Credits — Credits の種類、消費順序、使用量の確認方法
- SDK References — メッセージと制御 API の完全な定義