# AI Decision

Source: https://openflow.run/ja/docs/nodes/decision/
Language: ja
Product version: 0.1.0-beta.77

名前付きの質問をモデルで評価し、下流の規則に渡す構造化結果を返します。

モデルの判断が必要な業務上の質問には AI Decision を使います。通常の比較で表せる規則には Condition を使います。

## 質問

各質問に固有の名前と指示を設定します。対応形式は、真偽に近い評価、名前付き基準からの選択、順序付き基準による採点です。

```json
{
  "op": "node.add", "as": "classify", "type": "decision", "name": "Assess urgency",
  "config": {
    "questions": [{ "name": "urgent", "type": "noul", "instructions": "Does the ticket describe a service outage?" }]
  },
  "inputs": { "target": { "kind": "value", "value": "Every checkout payment is failing." } }
}
```

`target` には、対応するテキスト、オブジェクト、配列を渡せます。基準は結果の意味を説明します。許可されるフィールドと上限は、現在の質問スキーマで確認してください。

AI Decision がサービス停止の質問を評価し、下流規則用の構造化結果を返します。

**入力**
決済がすべて失敗するという問い合わせです。

**想定される結果**
urgent 出力にモデル評価が入ります。Condition でこの結果を使い分岐できます。

**実行前の準備**
デプロイ先で AI Decision のモデルサービスに対応している必要があります。評価はモデルが生成します。

[ワークフローをダウンロード](https://openflow.run/docs/examples/assess-urgency.openflow.json)

## 出力と分岐

質問ごとに名前付きの構造化出力を作成します。真偽に近い `noul` 形式は、型と 0–1 の数値評価を含むオブジェクトを返します。真偽値の分岐ハンドルではありません。

実行を分岐するには Condition を接続し、対象の評価フィールドをバインドします。モデル評価を確実なものとみなさず、タスクに適したしきい値を選択してください。

## デプロイと失敗

デプロイ先が対応する決定モデルサービスを利用します。プレビューは質問とポート定義を表示するだけで、モデルの呼び出しやサンプルの評価はしません。

[再試行とエラー処理](https://openflow.run/ja/docs/concepts/errors-and-retries/index.md)に対応します。設定が対象とするのはタスクの失敗で、正常に生成された業務判断の正しさではありません。

## 参照元

*   [docs/control/contracts/control-api.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/contracts/control-api.md#ai-decision)
*   [docs/authoring/node-authoring.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/authoring/node-authoring.md)
*   [packages/open-flow/src/workbench/browser/runtime/editor/addNodeOptions.ts](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/packages/open-flow/src/workbench/browser/runtime/editor/addNodeOptions.ts)
