# AI Agent

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

データ、ツール、承認ポリシーを明示し、モデルとツールの呼び出しを制限します。

複数回の推論やツール利用が必要なタスクには AI Agent を使います。宣言されたモデル、ツール、アカウント、固定引数、承認ポリシーが、モデルの操作範囲を決めます。

## タスクを設定する

プロンプトを書き、利用可能なモデルを選択して、必要な情報をバインドします。

```json
{
  "op": "node.add", "as": "reply", "type": "agent", "name": "Draft a reply",
  "prompt": "Draft a brief reply. Identify facts that need confirmation. Do not invent a resolution.",
  "config": { "model": "deepseek-v4-flash", "maxRounds": 5 },
  "inputs": { "input": { "kind": "value", "value": "The customer's parcel has not arrived." } }
}
```

デプロイ先が対応するモデルを選んでください。名前付き業務入力は直接バインドでき、明示的な制約が必要なら `config.inputs` を使います。結果のデフォルトはテキストです。構造化 JSON が必要なら、内部出力ポートではなく `config.resultSchema` を設定します。

Agent が問い合わせを受けて、指定範囲内で返信案を作ります。外部ツールは許可していません。

**入力**
{"text":"My parcel has not arrived. Can you confirm its status?"}

**想定される結果**
確認が必要な事実を含む返信案を作成します。メールは送信しません。

**実行前の準備**
実行前にモデルサービスを設定し、利用可能なモデルを選んでください。

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

## ツールを宣言する

ツールには Connector の Action や、選択した公開済みフローを使えます。公開名、説明、アカウント、承認ポリシーを設定します。パラメーター元には固定値、Agent 入力、モデルが渡す引数を使えます。

Action とワークフローの入力定義はプラットフォームが生成します。モデルは新しいアカウントの取得、固定引数の変更、承認の無効化を行えません。準備を後回しにした未設定ツールは、呼び出せる一覧から除外されます。

## 待機と復旧

ツールに人の承認を要求できます。未処理の判断と、対応する Agent の継続情報は実行が管理します。ツール結果を永続化することで、完了済み外部呼び出しを繰り返してデータを再構築せずに復旧できます。

一時的なコード計算はフローを編集せず、外部機能も自動では継承しません。必要なら、対応するコードツールを明示的に設定します。

## 制限

ラウンド数、ノードと実行の期限には上限があります。Code や LLM の通常の再試行ポリシーや `onError` には対応しません。モデルの生成結果は外部操作の成功を証明しないため、実際のツール結果を確認してください。

## 参照元

*   [docs/authoring/node-authoring.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/authoring/node-authoring.md)
*   [docs/control/contracts/control-api.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/contracts/control-api.md#11-agent-task)
*   [docs/architecture.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/architecture.md#wait-and-agent)
*   [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)
