# AI 决策

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

让模型回答具名问题，输出结构化判断，供下游规则选择执行路径。

需要模型判断才能回答的业务问题，可以交给 AI 决策节点（AI Decision）。如果规则可以直接用普通比较表达，使用条件节点即可。

## 问题

为每个问题设置唯一名称和说明。支持的问题形式包括类似布尔判断的评估、在具名标准中选择，以及按有序标准评分。

```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` 输入接受受支持的文本、对象或数组作为待评估数据。判断标准用于说明结果的含义。允许的字段和取值范围，以当前问题 schema 为准。

AI 决策评估是否存在服务中断，返回结构化判断，供下游规则使用。

**输入**
工单报告所有结账付款都失败。

**预期结果**
urgent 输出包含模型评估，可通过条件节点根据该输出选择分支。

**运行前准备**
部署端必须支持 AI 决策模型服务。评估内容由模型生成。

[下载工作流](https://openflow.run/docs/examples/assess-urgency.openflow.json)

## 输出与分支

每个问题生成一个具名的结构化输出。类似布尔判断的 `noul` 问题返回对象，其中包含类型和 0 到 1 之间的评估数值，不会直接生成布尔分支句柄。

需要控制执行路径时，连接条件节点，并绑定相关评估字段。阈值应根据任务选择，不能把模型评估当作确定结论。

## 部署与失败

AI 决策使用部署端支持的决策模型服务。预览只展示问题和端口定义，不调用模型，也不评估案例数据。

此任务支持[重试和错误处理](https://openflow.run/zh-cn/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)
