Respan: Span-01 Lite
Span-01 Lite は、テキストの会話とエージェントトレースを対象とする、Respan の独立した名前を持つ行動スコアリングプロファイルです。呼び出し側が定義した行動を使い、それぞれについて「存在」「不在」「観測不能」の確率を返します。ドキュメントに記載されたスコアリングワークフローは Span-01 と同じです。
モデルについて
この説明はモデルの機能を紹介するものです。Ailootで利用できる入力、出力、オプションは、選択したメソッドごとに以下に記載されています。
Span-01 Lite は、Respan の Span-01 行動スコアリングファミリーに属する、独立した名前を持つモデルプロファイルです。提供元のクイックスタートとモデル一覧では、Lite は同じスコアリングワークフローを使う 2 つのプロファイルの 1 つとされています。テキストのやり取りと平易な言葉で書かれた行動定義を受け取り、各定義について「存在」「不在」「観測不能」の 3 つの確率を返します。このプロファイルの有用な出力は、不確実性を明示した行動の記録であり、会話に対する文章での返答ではありません。
観測対象とその境界を決める
行動は、タスクに合った言葉で定義します。有人対応への引き継ぎを確認する場合は、ユーザーが明示的に人間の担当者を求めることを指すのか、アシスタントが引き継ぎが必要だと述べることを指すのか、あるいはそのどちらかを指すのかを明記します。単なる失望を含めないのであれば、そう書きます。謝罪を確認する場合は、曖昧なラベルに頼らず、どのような表現を謝罪とみなすかを定義します。各定義には識別子があり、スコアラーは確率とともにその識別子を返します。
行動のセットは呼び出し側が決めるものです。苛立ち、根拠のない約束、ツールの誤用、エージェントの反復的な行動といった例は、利用者が与える定義であり、組み込みカテゴリの固定リストではありません。各定義は、与えたやり取りの中で観測できるものにします。短いスパンでも、アシスタントが謝罪したかどうかは判断できる一方で、外部の問題が実際に解決したという根拠は欠けている場合があります。
会話スパンを準備する
Respan のドキュメントに記載された入力では、先行するメッセージを span.input に、評価対象のターンを span.output に置きます。メッセージの内容は文字列です。話者のロール、関連するユーザーのリクエスト、アシスタントが使ったテキスト上の根拠など、そのターンを理解するのに必要なコンテキストを保持します。品質チェックでは、評価対象の行動が抜け落ちた言い換えではなく、実際のターンを与えます。
例として、繰り返し発生するトラブルを訴えるユーザーのメッセージと、調査を申し出るアシスタントの返信を評価対象にできます。ユーザーの苛立ちとアシスタントの約束は、別々の観測として定義します。主張に根拠があったかを判断するうえでツールの結果が重要であれば、その結果の関連テキストをコンテキストに残します。出力は与えたスパンにおけるそれらの定義の評価であり、モデルが約束された調査を実行したり、会話そのものを変更したりすることはありません。
存在、不在、観測不能
スコアリングの応答には、行動の id と p_present、p_absent、p_not_observable が含まれ、これらの合計はおよそ 1 になります。観測不能とは、トレースからはその問いに答えられないことを意味し、不在とは区別されます。たとえば「顧客が解決策を受け入れた」という定義では、顧客が反応する前に終わっているスパンは、アシスタントの返信がどれほど自信に満ちていても不完全な根拠です。
レビュー用に結果を準備する際は、3 つの値をすべて保持します。最も高い値で選んだカテゴリは表示には便利ですが、分布には観測がどれだけ不確かだったかが残ります。存在の値が低いことだけを理由に、その行動が確実に起きなかったと結論付けてはいけません。根拠の欠如が大きい場合は、説明をでっち上げるのではなく、関連するコンテキストを入手するか、結果を不明として保持するのが有効な対応です。
同じ根拠に対する複数の定義
提供元のスコアリングワークフローは、1 つのトレースに対して複数の行動定義をまとめて評価し、リクエストの順序どおりに識別子ごとの結果を返します。ドキュメントには、リクエストあたりの行動数の上限は定められていません。ただしこれは、汎用的なトークンウィンドウや無制限のトレースサイズを意味するものではありません。定義は目的を絞り、根拠は関連するものに限定し、返された各結果とそれを生んだ定義との対応を保持します。
行動ごとの結果は、単一の排他的な選択の回答ではなく、互いに独立した観測です。苛立ち、謝罪、引き継ぎの提案が、同じやり取りの中にすべて存在することもあります。それぞれの 3 値分布は各定義の中で意味を持つものであり、異なる行動の存在の値を足し合わせても、正規化されたカテゴリ分布や順序付きのルーブリックスコアにはなりません。
選択したプロファイルを結果とともに記録する
メーカーは、Lite と標準版の名前を、共通のリクエスト形式と結果形式とともに文書化しています。この仕様により、どちらのプロファイルでもトレースを準備し、行動の確率を解釈できます。ただし、Lite がもう一方のエディションと同じ重み、パラメータ数、品質を持つことを示すものではありません。結果をレビューする際は、異なるエディションの結果を黙って入れ替えるのではなく、選択したプロファイルを識別できる状態に保ちます。
ログ記録、ルーティング、レビューのしきい値は、想定タスクのラベル付き会話を使って決めます。観測不能の値が高い結果や境界線上の観測は確認用に残し、誤りと思われるものは元のターンと行動定義に照らして比較します。有用な最終成果物には、テキストスパンの識別子、定義、選択したプロファイル、3 値の確率結果の全体が含まれます。その観測をどう扱うかは後続のアプリケーション処理が決めます。Lite のスコアリング出力自体が、引き継ぎを実行したり、返信をブロックしたり、修正案を生成したりすることはありません。
Ailoot Ultra · System One POST /v1/systemone respan/span-01-lite
respan/span-01-liteはじめに
Span-01 Lite は、テキストの会話とエージェントトレースを対象とする、Respan の独立した名前を持つ行動スコアリングプロファイルです。呼び出し側が定義した行動を使い、それぞれについて「存在」「不在」「観測不能」の確率を返します。ドキュメントに記載されたスコアリングワークフローは Span-01 と同じです。
- 対応する入力
- テキスト
- 結果
- decisions
Ailootで利用可能 · 入力とメソッド
Ailoot Ultra · System One POST /v1/systemone
- 入力の種類
text- 出力の種類
decisions- 出力形式
- json
| フィールド | 種類 | 要件 | 値と制限 | デフォルト |
|---|---|---|---|---|
フィールドmodel | 種類string | 要件必須 | 値と制限 respan/span-01-lite | デフォルト— |
フィールド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 / 1K トークン 出力 · 出力トークン $0 / 1K トークン 入力 · キャッシュ読み取り — / 1K トークン 入力 · キャッシュ書き込み — / 1K トークン 入力 · キャッシュ書き込み、1時間 — / 1K トークン |
| 設定リクエスト長に応じた料金区分 1 | 料金表— | コンテキストトークン数が次の値を超える場合0 | コンテキストトークン数が次の値以下の場合上限なし | 料金 入力 · 入力トークン $0 / 1K トークン 出力 · 出力トークン $0 / 1K トークン 入力 · キャッシュ読み取り — / 1K トークン 入力 · キャッシュ書き込み — / 1K トークン 入力 · キャッシュ書き込み、1時間 — / 1K トークン |
Ailootはリクエスト前に見積額を確保します。結果の取得後、実測使用量に基づいて最終料金を精算します。ストリーミング時の精算には最終の使用量記録を使用します。金額の確保と精算の仕組み →
リクエスト例
Ailoot Ultra · System One
{
"model": "respan/span-01-lite",
"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-lite'
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-lite
メソッドパスのエイリアス
上記に表示されたメソッドパスを使用してください。
関連する呼び出し用ID
FAQ · Respan: Span-01 Lite
- 利用できる入力と結果は何ですか?
POST /v1/systemone·respan/span-01-lite:text→decisions- リクエストはどの項目を使用しますか?
POST /v1/systemone·respan/span-01-lite:model,provider,questions,session_id,state,trace,user