Skip to main content
Decisions (Beta)

Decisions

カスタムコンテキスト(state)または Session の直近のコンテキストに基づいて構造化された質問に回答し、タスクの完了判定、業務上の分岐選択、事前定義したレベルによる採点に使用します。

Decision API は現在 Beta 機能です。インターフェイス定義、レスポンス構造、動作は今後のバージョンで変更される可能性があります。ドキュメントの更新を確認し、本番環境で使用する前に互換性を検証してください。
1 回の Decision に複数の質問を含めることができ、選択式(choice)と採点式(score)をサポートします。作成 API は判定を同期的に実行して結果を保存し、その後 ID による照会やページ単位の一覧取得ができます。

エンドポイント

メソッドパス説明
POST/api/v1/forward/decisionsDecision の作成
GET/api/v1/forward/decisions/{decision_id}Decision の取得
GET/api/v1/forward/decisionsDecisions の一覧取得

入力方式の選択

方式用途動作
state(カスタムコンテキスト)呼び出し元が提供するテキスト、構造化データなどを判定の根拠にします。空でない JSON オブジェクトを渡します。Session に依存しません。
session_idSession の実行状況や結果を判定します。サーバーがその Session の直近の利用可能なコンテキストを抽出します。
各リクエストでは、いずれか一方の方式だけを必ず指定します。Decision は独立した判定操作であり、Session への新規メッセージ送信や新しい Turn の開始は行いません。 Session 入力では user.message、agent.message、session.error、agent.artifact_delivered イベントの関連情報のみを使用し、ファイル本文、ツール呼び出しの過程、サブスレッドの履歴は読み取りません。判定は直近の利用可能なコンテキストに基づくため、会話履歴全体を含まない場合があります。 入力が大きすぎる場合は 422 decision_context_too_large を返します。コンテキストや質問を減らして再試行できます。Session に利用可能なコンテキストがない場合は 422 decision_context_unavailable を返します。

Decision オブジェクト

作成成功時のレスポンス、詳細照会、一覧内のレコードは、次の構造を共用します。
フィールド型説明
idstringdec_ で始まる Decision ID。
session_idstring または nullSession 入力の場合は関連する Session ID、明示的な state 入力の場合は null。
sourcestring現在は api 固定です。
statusstringrunning、completed、または failed。
questionsarrayこの判定の質問。構造は Decision の作成を参照してください。
answersarrayリクエストの質問順に返す回答。未完了または失敗の場合は []。
contextobject入力モードとコンテキストの範囲。下表を参照してください。
errorobject または null失敗時は code と message を含み、それ以外は null。
created_atstringRFC 3339 形式の作成日時。
completed_atstring または nullRFC 3339 形式の実行終了日時。running の場合は null、成功または失敗で終了すると日時を返します。
照会結果には元の state や完全な Session 入力スナップショットは含まれません。

回答の構造

type結果フィールド説明
choicevalue選択された候補の元の文字列または真偽値を、JSON 型を保持して返します。
scorescore選択されたレベルに定義された数値スコアを返します。自由生成された連続値のスコアではありません。
質問に name を指定すると、対応する回答にも同名フィールドが返ります。省略した場合は配列内の位置で対応します。

Context フィールド

以下のフィールドは入力モードと実行状況に応じて返されます。実行中や入力準備に失敗した場合は、mode のみを含むことがあります。クライアントは任意フィールドの欠落と今後追加されるフィールドに対応してください。
フィールド型説明
modestringstate または session。
anchor_event_idstring今回の読み取り時に確定した最新の候補イベント ID。
first_event_idstring実際に判定へ含めた最も古い有効なイベント ID。
last_event_idstring実際に判定へ含めた最新の有効なイベント ID。
included_segment_countinteger含めたコンテキストセグメント数。Session モードのみで返します。
included_event_countinteger含めた有効イベント数。Session モードのみで返します。

利用手順

  1. state またはアクセス可能な session_id を用意し、質問と回答候補を定義します。
  2. 作成 API を呼び出します。1 回の論理操作には固定の Idempotency-Key を使用することを推奨します。冪等な再試行を参照してください。
  3. answers[].type に従って選択結果または採点結果を処理します。
  4. Decision ID を保存し、詳細 API または一覧 API で結果を追跡します。作成時のエラーに error.decision_id が含まれる場合も、その ID で失敗レコードを照会できます。