# ベストを選択

> 多数の結果を 1 つにまとめます。AI の審査員が基準に沿って最も良い画像やテキストを選ぶほか、結果の結合、カウント、多数決、マージもできます。

Source: https://nodaro.ai/ja/docs/nodes/automate/choose-best

**ベストを選択**（Choose Best）ノードは、多数の候補の結果を 1 つにします。バッチの結果か、[**収集**（Collect）](https://nodaro.ai/docs/nodes/automate/collect)を経由した複数のノードの結果を接続します。すると、AI の審査員が指定した基準に沿って、最も良いものを 1 つ選びます。AI の審査員の代わりに、ノードが結果を結合する、数える、多数決で決める、マージすることもできます。ノードには、選ばれた結果、候補の中での位置、審査員の理由が表示されます。

- Found in: Automate › Lists & Batching
- Output: text
- API type: `reduce`

## 使いどころ
- カバーのバリエーションを 5 つ生成して、最も良い 1 つだけを先に進めたいとき。たとえば、[**Telegram 投稿**（Telegram Post）](https://nodaro.ai/docs/nodes/publish/telegram-post)に送る場合です。
- 同じ質問を何度か尋ねて、最も多い回答を知りたいとき。
- バッチの結果が実際にいくつ届いたかを知りたいとき。
- バッチのテキストを 1 つのテキストに結合したいとき。または、JSON オブジェクトを 1 つのオブジェクトにマージしたいとき。

## クイックスタート
### ノードを追加する
キャンバス上で Tab を押し、**自動化 › リストとバッチ処理 › ベストを選択**を選びます。

### 候補を接続する
候補を**候補**入力に接続します。候補は、[**画像生成**（Generate Image）](https://nodaro.ai/docs/nodes/image/generate-image)のように[**リスト**（List）](https://nodaro.ai/docs/nodes/automate/list)の行ごとに 1 回ずつ実行されるノードから接続できます。別々の複数のノードを集める[収集](https://nodaro.ai/docs/nodes/automate/collect)から接続することもできます。

### 処理方法を選ぶ
設定パネルを開きます。**候補の処理方法**では、新しいノードのデフォルトである **AI が最適なものを選択**のままにするか、別のオプションを選びます。AI の審査員を使う場合は、**判断基準**に勝者の条件を書きます。候補が画像なら、**候補の種類**を**画像**にします。

### 実行する
ベストを選択は、すべての候補がそろった後に 1 回だけ実行されます。ノードには勝者と審査員の理由が表示され、**候補**タブにはすべての候補が一覧表示されます。

Workflow: 5 個のプロンプトから 5 枚のカバーができ、ベストを選択が最も良い 1 枚を残します。投稿されるのは、そのカバーだけです。

- リスト → 画像生成 (プロンプト · 個別)
- 画像生成 → ベストを選択 (候補)
- ベストを選択 → Telegram 投稿

## 入力と出力
| 入力／出力 | 受け取るもの／送るもの | 説明 |
| --- | --- | --- |
| **候補** | テキスト、画像／動画／オーディオへのリンク、JSON など、任意の結果 | 検討するすべての候補です。複数の接続の結果は、足し合わされて 1 つのセットになります。 |
| **結果** | 1 つの値 | 選ばれた結果、またはまとめた結果です。画像を選んだ場合は、画像のリンクを送ります。**JSON オブジェクトをマージ**は JSON テキストを、**数を数える**は数値を送ります。 |

結果は 1 つの値です。そこから新しいバッチを始めるには、[**テキストを分割**（Split Text）](https://nodaro.ai/docs/nodes/automate/split-text)か[リスト](https://nodaro.ai/docs/nodes/automate/list)を通します。

## 候補の処理方法
| オプション | 使う場面 | クレジット |
| --- | --- | --- |
| **AI が最適なものを選択** | AI の審査員に、すべての候補を基準と比べて 1 つを選ばせたいとき。 | 審査員のモデルのティアに応じて 3、10、25 |
| **1 つのテキストに結合** | すべての候補を、間に区切り文字を挟んで 1 つのテキストにまとめたいとき。 | 無料 |
| **内容のある最初の候補** | 空でない最初の候補がほしいとき。 | 無料 |
| **数を数える** | 届いた候補の数を知りたいとき。 | 無料 |
| **最も多い回答** | 最も多く現れる候補がほしいとき。同数の場合は、最初の候補になります。 | 無料 |
| **JSON オブジェクトをマージ** | JSON オブジェクトを 1 つのオブジェクトにまとめたいとき。 | 無料 |

オプションの一覧には、ノードで選んでいる審査員のモデルの料金が表示されます。

### AI が最適なものを選択
審査員は、すべての候補を基準と比べます。そして、勝者の位置と 1 文の理由を答えます。この 2 つは、ノードと**候補**タブに表示されます。

| 設定 | 説明 |
| --- | --- |
| **AI モデル** | 審査員です。モデルの一覧はすべての AI テキストノードと同じで、エコノミー、スタンダード、プレミアムのティアに分かれています。新しいノードでは、この用途向けに用意されたスタンダードのティアのデフォルトモデルが使われます。 |
| **判断基準** | 勝者の条件です。たとえば、「ダークなエディトリアル系 Instagram フィードで最も目を引くカバー。焦点が 1 つで明確、サムネイルでも読み取れること。」のように書きます。 |
| **候補の種類** | **テキスト**（デフォルト）または**画像**です。同じ切り替えが、ノード上のモデルの横にもあります。 |

画像の場合は**画像**を選んでください。**テキスト**のままだと、審査員は画像のリンクをテキストとして読み、それを比べるだけです。選んでいるように見えても、実際には画像を比べていません。

| 審査員のモデルのティア | 1 回の実行あたりのクレジット |
| --- | --- |
| エコノミー | 3 |
| スタンダード（デフォルト） | 10 |
| プレミアム | 25 |

エコノミーのモデルには Gemini Flash や Haiku が、プレミアムのモデルには Opus が含まれます。たとえば、5 個のプロンプトのリストで画像生成を実行し、その後にデフォルトのスタンダードの審査員を使うベストを選択を置くとします。このワークフローの費用は、画像 5 回分の実行に 10 クレジットを足した額です。審査員がプレミアムなら、10 クレジットの代わりに 25 クレジット、エコノミーなら 3 クレジットになります。

### 無料のオプション
| オプション | 設定 |
| --- | --- |
| **1 つのテキストに結合** | **区切り文字**：2 つの候補の間に入れるテキストです。デフォルトは空行です。 |
| **内容のある最初の候補** | 設定する項目はありません。 |
| **数を数える** | 設定する項目はありません。 |
| **最も多い回答** | **大文字と小文字の違いを別の回答として扱う**：デフォルトはオフなので、`Yes` と `yes` は同じ回答として数えられます。 |
| **JSON オブジェクトをマージ** | **マージ方法**：デフォルトの**ディープ（ネストされたオブジェクトも含む）**は、ネストされたオブジェクトをフィールドごとにマージします。**シャロー（最上位のみ）**は最上位のフィールドを丸ごと置き換え、後の候補が優先されます。 |

## ノードに表示される内容
ノードには、選んだオプションと審査員のモデルが表示されます。**判断基準**や**区切り文字**などの主な設定は、ノード上でそのまま編集できます。実行後は、勝者に印が付いた候補のグリッドが表示され、その下に結果と審査員の理由が表示されます。

設定パネルには 2 つのタブがあります。**設定**タブには、設定が並びます。**候補**タブは実行後に開けるようになり、**概要**、**選ばれた理由**の下にある審査員の理由、そしてすべての候補が表示されます。選ばれた候補には印が付きます。

## 一部の候補が失敗したとき
バッチの中で失敗した実行は、空の候補になります。ベストを選択は判断する前に空の候補をすべて取り除くので、どのオプションも届いた結果だけを対象にします。たとえば、10 枚の画像のうち 3 枚が失敗した場合、**数を数える**の結果は 10 ではなく 7 になります。

すべての候補が空の場合、結果はオプションによって異なります。

| オプション | すべての候補が空の場合 |
| --- | --- |
| **1 つのテキストに結合** | エラーにならずに、空のテキストを返します。 |
| **数を数える** | エラーにならずに、0 を返します。 |
| **内容のある最初の候補**、**最も多い回答**、**JSON オブジェクトをマージ**、**AI が最適なものを選択** | 「All upstream iterations failed; nothing to reduce.」というエラーで止まります。 |

## API から
ベストを選択は、API タイプ `reduce` として、コードや AI アシスタントからも使えます。`POST /v1/reduce`、MCP ツールの `reduce`、SDK の `client.reduce` です。`strategyId` には、`pick-best-llm`、`concat`、`first-non-empty`、`count`、`vote`、`merge-json` のいずれかを指定します。AI の審査員を使う場合、`strategyConfig` は `criteria`、`inputKind`（`text` または `image-url`）、`llmModel` を受け付けます。不明なモデルは、クレジットが確保される前に拒否されます。[単体のノードを実行する](https://nodaro.ai/docs/developers/api/nodes)と [MCP ツール](https://nodaro.ai/docs/mcp/tools)を参照してください。

## ヒント
- **作業ではなく勝者を説明する**：「焦点が 1 つで明確、サムネイルでも読み取れること」と書けば、審査員は比べる基準を得られます。「ベストを選んで」では、基準になりません。
- **重要度に合わせて審査員を選ぶ**：下書きの中からさっと選ぶだけなら、エコノミーの審査員で十分です。重要な最終選択には、プレミアムの審査員を使います。
- **別々のノードは収集でまとめる**：**候補**への複数の接続は、足し合わされます。結果を 1 つのノードで確認し、その順番を決めたい場合は、別々のノードを[収集](https://nodaro.ai/docs/nodes/automate/collect)経由で接続します。
- **テキストの品質チェックには別のノードを使う**：1 つのテキストをしきい値と比べて採点するには、[**品質チェック**（QA Check）](https://nodaro.ai/docs/nodes/automate/qa-check)を使います。

## Frequently asked questions

### 生成した複数の画像から、最も良いものを自動で選ぶにはどうすればよいですか？

画像を「ベストを選択」に接続します。「リスト」で動かす「画像生成」ノードから接続しても、「収集」を経由して接続してもかまいません。「AI が最適なものを選択」を選び、「判断基準」に勝者の条件を書いて、「候補の種類」を「画像」にします。審査員は画像を 1 枚選び、その理由を 1 文で示します。

### ベストを選択には何クレジットかかりますか？

クレジットがかかるのは「AI が最適なものを選択」だけです。審査員のモデルがエコノミー、スタンダード、プレミアムのどれかに応じて、3、10、25 クレジットかかります。ほかの 5 つのオプションは無料です。候補を作ったノードには、通常どおり料金がかかります。

### 「候補の種類」を「画像」にする必要があるのはなぜですか？

「テキスト」のままだと、審査員は画像のリンクをテキストとして読み、それを比べるだけです。選んでいるように見えても、実際には画像を比べていません。「画像」にすると、審査員はすべての画像を見て判断します。

### 一部の候補が失敗した場合は、どうなりますか？

最初に空の候補が取り除かれるので、「数を数える」は届いた結果だけを数えます。すべての候補が空の場合、「1 つのテキストに結合」は空のテキストを、「数を数える」は 0 を返し、ほかのオプションはエラーで止まります。

### ベストを選択は API や MCP から使えますか？

はい。このノードの API タイプは reduce です。POST /v1/reduce、MCP ツールの reduce、SDK の client.reduce を、同じ 6 つのオプションで使えます。
