Respan: Span-01
Span-01 は、会話とエージェントトレースを対象とする Respan のテキスト行動分類器です。行動を平易な言葉で定義すると、それぞれについて「存在」「不在」「観測不能」の 3 つの確率を返し、与えたトレースで問いに決着がつかない場合も不確実性をそのまま保持します。
モデルについて
この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。
Span-01 は、会話とエージェントトレースを対象とする Respan の行動スコアリングモデルです。テキストのやり取りと、平易な言葉で書かれた行動定義を読み取り、定義ごとに確率を返します。出力では、与えたトレースにおいて行動が存在するのか、存在しないのか、観測できないのかが区別されます。これにより評価ワークフローは、解析が必要な生成された説明ではなく、根拠の欠如を明示的に表現できる数値シグナルを得られます。
観測したい行動を定義する
行動は呼び出し側が与えます。プロンプトインジェクション、根拠のない主張、機密情報の露出、反復ループ、ツールの誤用、ユーザーの苛立ちは定義の例であり、モデルに組み込まれた固定の分類体系ではありません。何がその行動に当たり、何が当たらないかを明記します。範囲を絞った定義なら、有人対応への引き継ぎを求めるユーザーと、単に失望を表明しているユーザーを区別できます。別の定義では、問題を認めるアシスタントと、実行できない行動を約束するアシスタントを区別できます。
定義には安定した識別子を付け、結果が評価対象の行動と結び付いた状態を保ちます。基準は、トレースで示せる事柄に絞ります。行動の判断に元の文書、ツールの結果、後の顧客の応答が必要な場合は、その根拠をテキストのやり取りの該当箇所に含めます。定義だけでは、トレースにない事実を立証できません。
先行コンテキストと対象ターンを準備する
ドキュメントに記載された入力では、span.input の先行メッセージと span.output の対象ターンが分けられています。各メッセージの内容は文字列です。実際の会話のコンテキストとスコアリングしたいターンを、解釈に必要な話者のロールと順序を保ったまま与えます。これはテキストをスコアリングするプロファイルです。整形済みの文書テキストや書き起こしは根拠になりますが、そのテキストの元になったメディア自体はドキュメント上の入力ではありません。
サポートのやり取りでは、顧客のリクエストとアシスタントの返信案をセットにします。ツールを使うエージェントでは、関連するツールの観測結果と、それに基づいた回答を残します。根拠性の定義の一例として、与えた観測結果が裏付けていない結論をアシスタントが断言しているかを問うものが考えられます。有用な結果は、そのスパンにおける定義済みの行動に関するものであり、アプリケーション全体の完全な診断ではありません。
定義ごとに 3 つの確率を読み取る
各結果には、行動の識別子と p_present、p_absent、p_not_observable が含まれます。3 つの確率の合計はおよそ 1 です。存在は行動が起きたという推定、不在は起きなかったという推定、観測不能は与えたスパンに判断に必要な根拠が欠けているという推定です。これらは別々の意味を持つため、結果を解釈する際も区別したまま扱います。
たとえば、アシスタントが問題を解決すると述べたところで終わるスパンは、約束があったことを示し得ます。しかし顧客の返信がなければ、顧客が最終的な解決策を受け入れたことはまだ示せません。このような根拠不足の結果は、不在に変換せず不明として扱います。分布のかなりの部分が観測不能である場合、存在の確率が低いことは、それだけで不在の強い根拠にはなりません。
行動定義全体を 1 回のパスでスコアリング
Respan は Span-01 を、まず RLAIF で汎用的な分類向けに学習し、その後行動検出に特化させた推論型分類器と説明しています。各定義は同じトレース上の並列ブランチとして実行され、モデルは 1 回のフォワードパスで行動の確率を返します。ハイブリッドアテンションにより、長く複雑なトレースを扱えます。トークンを生成したり、文章による判断を書いたり、分類について自由形式の説明を作成したりはしません。
コンセプトガイドとスコアリングのリファレンスには、リクエストあたりの行動数の上限は記載されていません。とはいえ、すべての定義は与えた評価の一部であるため、上限がないことを入力容量が無制限である根拠とみなさず、各定義を明確かつ関連性のあるものに保ちます。結果には、リクエストの順序どおりに行動ごとのエントリが 1 つずつ含まれ、id で識別されます。複数の定義は複数の独立した観測を表すものであり、行動全体で合計が 1 になる相互排他的なカテゴリ選択ではありません。
有用な評価成果物を準備する
返された確率は、モデルの外側でタスク固有のしきい値やレビュールールと組み合わせます。提供元は、ラベル付きの会話を使ってしきい値を決め、存在が境界線上の結果や観測不能の値が高い結果を確認することを推奨しています。サポートのワークフローでは、苛立ち、エスカレーションの提案、根拠のない約束を別々に記録できます。エージェントの品質管理ワークフローでは、繰り返される行動や、応答が利用可能な根拠を使ったかどうかを追跡できます。
テキストスパン、行動定義、結果の識別子、3 値分布の全体をまとめて保持します。定義を変更すると、確率が測る対象も変わることを踏まえておきます。数値結果を観測されていない出来事の証明として扱うのではなく、誤りと思われるものは実際の会話に照らしてレビューします。有用な成果物とは、トレースと基準に結び付いた行動の記録であり、後の確認やアプリケーションの次の判断に備えて不確実性が保持されたものです。
Ailoot Ultra · System One POST /v1/systemone respan/span-01
respan/span-01はじめに
Span-01 は、会話とエージェントトレースを対象とする Respan のテキスト行動分類器です。行動を平易な言葉で定義すると、それぞれについて「存在」「不在」「観測不能」の 3 つの確率を返し、与えたトレースで問いに決着がつかない場合も不確実性をそのまま保持します。
- 対応する入力
- テキスト
- 結果
- decisions
Ailootで利用可能 · 入力とメソッド
Ailoot Ultra · System One POST /v1/systemone
- 入力の種類
text- 出力の種類
decisions- 出力形式
- json
| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
|---|---|---|---|---|
フィールドmodel | 種類string | 要件必須 | 値と制限 respan/span-01 | デフォルト— |
フィールドprovider | 種類schema | 要件任意 | 値と制限 | デフォルト— |
フィールドquestions | 種類object | 要件必須 | 値と制限 | デフォルト— |
フィールドsession_id | 種類string | 要件任意 | 値と制限 | デフォルト— |
フィールドstate | 種類schema | 要件必須 | 値と制限 | デフォルト— |
フィールドtrace | 種類schema | 要件任意 | 値と制限 | デフォルト— |
フィールドuser | 種類string | 要件任意 | 値と制限 | デフォルト— |
フィールドquestions.<id>.type | 種類string | 要件必須 | 値と制限 noul, choice, score | デフォルト— |
フィールドquestions.<id>.instructions | 種類string|object|array | 要件必須 | 値と制限 | デフォルト— |
フィールドquestions.<id>.criteria | 種類object|array | 要件任意 | 値と制限 条件: choice/score:必須;noul:任意。choiceのcriteriaはオブジェクト、scoreはminItems1の配列です。 | デフォルト— |
フィールドquestions.<id>.criteria.true | 種類string|object|array | 要件必須 | 値と制限 適用条件: noul の条件オブジェクトが指定されている | デフォルト— |
フィールドquestions.<id>.criteria.false | 種類string|object|array | 要件必須 | 値と制限 適用条件: noul の条件オブジェクトが指定されている | デフォルト— |
入力素材の組み合わせ
noul · 必須: state, questions.<id>.type=noul, questions.<id>.instructions
choice · 必須: state, questions.<id>.type=choice, questions.<id>.instructions, criteria object
score · 必須: state, questions.<id>.type=score, questions.<id>.instructions, criteria array with minItems1
メソッドのパラメータとライフサイクル
| パラメータ | 仕様 |
|---|---|
パラメータcontent_type | 仕様application/json |
パラメータrequired | 仕様model, state, questions |
パラメータmaterial_types | 仕様text |
パラメータoptional_controls | 仕様provider, session_id, trace, user |
パラメータmultimodal_input_binding | 仕様null |
ライフサイクル: synchronous
正確なモデルIDを送信し、ネイティブのレスポンス全体を保持してください。
料金
料金情報はリクエストの機能を追加しません。対応するパラメーターは選択したメソッドに記載されています。
- 高速モード
- 未指定 高速モードが選択されている場合
- Flex モード
- 未指定 flex モードが選択されている場合
- 最大推論量
- 未指定 推論量が最大で、調整に既定値(default)を使用する場合
Ailootの料金
設定別の価格
各料金を表示された条件と照合してください。選択肢となる設定の各組には、いずれか1つの料金を適用します。
| 設定 | 料金表 | コンテキストトークン数が次の値を超える場合 | コンテキストトークン数が次の値以下の場合 | 料金 |
|---|---|---|---|---|
| 設定トークンの基本単価 | 料金表基本料金 | コンテキストトークン数が次の値を超える場合— | コンテキストトークン数が次の値以下の場合上限なし | 料金 入力 · 入力トークン $0.00004 / 1K トークン 出力 · 出力トークン $0 / 1K トークン 入力 · キャッシュ読み取り — / 1K トークン 入力 · キャッシュ書き込み — / 1K トークン 入力 · キャッシュ書き込み、1時間 — / 1K トークン |
| 設定リクエスト長に応じた料金区分 1 | 料金表— | コンテキストトークン数が次の値を超える場合0 | コンテキストトークン数が次の値以下の場合上限なし | 料金 入力 · 入力トークン $0.00004 / 1K トークン 出力 · 出力トークン $0 / 1K トークン 入力 · キャッシュ読み取り — / 1K トークン 入力 · キャッシュ書き込み — / 1K トークン 入力 · キャッシュ書き込み、1時間 — / 1K トークン |
Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →
リクエスト例
Ailoot Ultra · System One
{
"model": "respan/span-01",
"questions": {
"is_bug": {
"criteria": {
"false": "The customer is asking a question or requesting a feature.",
"true": "The customer describes broken or unexpected product behavior."
},
"instructions": "Is the customer reporting a software defect?",
"type": "noul"
},
"team": {
"criteria": {
"account": "Login, permissions, or profile issues.",
"frontend": "Rendering, layout, or browser compatibility issues.",
"payments": "Checkout, billing, or payment processing issues."
},
"instructions": "Which team should own this ticket?",
"type": "choice"
},
"urgency": {
"criteria": [
"Can wait for the next release",
"Should be fixed this week",
"Blocking revenue right now"
],
"instructions": "How urgent is this ticket?",
"type": "score"
}
},
"state": {
"customer_tier": "enterprise",
"ticket": "My checkout page shows a blank screen after I click Pay. I have tried two browsers."
}
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_REQUEST_FILE:?Set your actual JSON request file}"
export AILOOT_REQUEST_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))
if not isinstance(p,dict): raise SystemExit('Request must be a JSON object')
p['model']='respan/span-01'
Path('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))
PY_RESULT
結果を受け取って保存
Ailoot Ultra · System One
json
完了した結果をすべて保存
返された完全なレスポンス、ファイル、コンテンツ部分をすべて保存してください。
指定された各質問IDに対する回答は、正確な型、noul/choice/scoreの値、信頼度、確率、凡例とともにすべて保持されます。元のJSON全体は保存され、精算後にのみ返されます。
元のレスポンスを確認する場合
元の操作と、完全または部分的な応答を保持してください。POSTを再実行しないでください。
レスポンスのフィールド
| フィールド | 種類 |
|---|---|
フィールドmodel | 種類string |
フィールドid | 種類string |
フィールドprovider | 種類string |
フィールドanswers.<id>.type | 種類string |
フィールドanswers.<id>.noul | 種類number |
フィールドanswers.<id>.choice | 種類string |
フィールドanswers.<id>.score | 種類number |
フィールドanswers.<id>.confidence | 種類number |
フィールドanswers.<id>.probabilities | 種類object |
フィールドanswers.<id>.legend | 種類object |
フィールドusage.input_tokens | 種類integer |
フィールドusage.output_tokens | 種類integer |
フィールドusage.cost | 種類number |
エラーと次の手順
| レスポンス | 条件 | 次の手順 |
|---|---|---|
レスポンス400 · invalid_request_error | 条件必須フィールド、表現形式、または値が無効です | 次の手順指摘されたリクエストフィールドを修正してください。 |
エイリアス
モデルのエイリアス
Ailoot Ultra respan/span-01
メソッドパスのエイリアス
上記に表示されたメソッドパスを使用してください。
関連する呼び出し用ID
FAQ · Respan: Span-01
- 利用できる入力と結果は何ですか?
POST /v1/systemone·respan/span-01:text→decisions- リクエストはどの項目を使用しますか?
POST /v1/systemone·respan/span-01:model,provider,questions,session_id,state,trace,user