> ## Documentation Index
> Fetch the complete documentation index at: https://dify-6c0370d8-preview-yajing-marketplace-doc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# レッスン 8：エージェントノード

> このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/learn/tutorials/workflow-101/lesson-08) を参照してください。

ここまでのレッスンで、メールアシスタントに施してきたアップグレードを振り返ってみましょう。

* 調べる力を習得：ナレッジベースを検索できるようになりました
* 判断する力を習得：条件分岐で意思決定ができるようになりました
* 複数タスクの処理力を習得：イテレーションで複数の質問を処理できるようになりました
* ツールを使う力を習得：Google Search でインターネットにアクセスできるようになりました

これらのノードは機能しますが、すべての手順を事前に書き切る必要がありました。もし、自ら推論し、手元のリソースを使いこなし、成長していく AI の同僚に仕事を任せられたらどうでしょうか。

その AI の同僚が **Agent** です。

## ワークフローから Agentic ワークフローへ

従来のワークフローは、構築者が設計した道筋どおりに進みます。Agentic ワークフローは、その信頼できる構造に、あなたが決めた境界の中でタスクの進め方を自分で判断できる Agent を組み合わせたものです。

ワークフローをチーム共通の業務手順、Agent をその一部を担う同僚と考えてみてください。

* **ワークフロー** は入力、順序、チェック、フォールバック、出力を提供します。
* **Agent** はゴールに向かって働き、持っている知識とツールを使い、結果を返します。
* **Agent ノード** は、この Agent がそのワークフローに登場する場所です。

同じ Agent を複数のワークフローに招くことも、1 つのワークフローに複数回登場させることもできます。Agent の核となる素性と能力は Agent 自身のものです。Agent ノードに書く指示は、ワークフローのその一歩での仕事だけを描写します。

推論戦略をインストールしたり選んだりする必要はありません。推論のループは Agent が自分で管理します。あなたの仕事は、適切な任務、入力、期待する出力を渡すことです。

## Agent と Agent ノード

ワークフローに Agent を追加する方法は 2 つあります。

* **既存の Agent を招待**：自分やチームがすでに構築した Agent を再利用します。
* **ゼロから始める**：キャンバス上で一度きりの Agent を直接作成します。このワークフローにしか登場しない役割に向いています。使い勝手がよければ、後から **Agents** に保存して再利用できます。

これまでのレッスンでは Agent を作っていないので、今回はゼロから始めて、まっさらな状態から本レッスンを進めます。最後に **Agents** ページへ保存すれば、ほかの場所でも再利用できます。

このレッスンを終えると、ワークフロー全体は次のようになります：`開始 → 知識検索 → Product Support Agent → 出力`

## ハンズオン 1：Agent の作成

目標は、手作業で組み立てた中間部分を丸ごと 1 つの Agent に置き換えることです。Agent は顧客メール全文を受け取り、含まれるすべての質問を見つけて回答し、1 通のまとまったメール本文を返します。

<Steps>
  <Step title="余分なノードを削除する">
    レッスン 7 のワークフローから、パラメータ抽出とイテレーションノード（内部のノードも一緒に消えます）を削除し、開始ノードと出力ノードだけを残します。
  </Step>

  <Step title="知識検索を追加する">
    開始ノードの後で **+** をクリックし、知識検索ノードを追加します。これまでのレッスンで使った Dify 製品ナレッジベースを選択します。

    <Frame>
      <img src="https://mintcdn.com/dify-6c0370d8-preview-yajing-marketplace-doc/sPaesDqCRjA9finA/images/use-dify/tutorial/workflow-101-lesson-08/add-knowledge-retrieval.png?fit=max&auto=format&n=sPaesDqCRjA9finA&q=85&s=13aa08b5f569e3263dc9a2af06c514bf" alt="知識検索ノードを追加" width="1166" height="424" data-path="images/use-dify/tutorial/workflow-101-lesson-08/add-knowledge-retrieval.png" />
    </Frame>
  </Step>

  <Step title="Agent ノードを追加する">
    知識検索ノードの後で **+** をクリックし、**Agent** を選んで **ゼロから始める** を選択します。

    <Frame>
      <img src="https://mintcdn.com/dify-6c0370d8-preview-yajing-marketplace-doc/sPaesDqCRjA9finA/images/use-dify/tutorial/workflow-101-lesson-08/create-agent-node.png?fit=max&auto=format&n=sPaesDqCRjA9finA&q=85&s=3e03e0a4a6a84b11b71824846ac900bd" alt="Agent ノードを追加してゼロから始める" width="2086" height="816" data-path="images/use-dify/tutorial/workflow-101-lesson-08/create-agent-node.png" />
    </Frame>

    ワークフローのキャンバスの上に、Agent の設定画面が開きます。

    * 左側の **設定** パネルには、モデル、プロンプト、スキル、ファイル、ツールなどが並び、手動で設定できます。
    * 右側の **ビルド** では、チャットしながら Agent を構築でき、設定は自動で埋まっていきます。
    * **プレビュー** では、ワークフローに戻る前に Agent を試せます。

    <Frame>
      <img src="https://mintcdn.com/dify-6c0370d8-preview-yajing-marketplace-doc/sPaesDqCRjA9finA/images/use-dify/tutorial/workflow-101-lesson-08/build-mode.png?fit=max&auto=format&n=sPaesDqCRjA9finA&q=85&s=30ddff001485f533d825c3c1fceadaa9" alt="ビルドモードの Agent 設定画面" width="2328" height="1246" data-path="images/use-dify/tutorial/workflow-101-lesson-08/build-mode.png" />
    </Frame>
  </Step>

  <Step title="必要なリソースにつなぐ">
    ビルドモードに入る前に、2 つだけ準備します。

    * **モデル**：現在のモデルが未設定、または非互換と表示されている場合は、互換性のあるモデルを選びます。
    * **ツール**：Google Search を追加します。
  </Step>

  <Step title="チャットで Agent を構築する">
    ビルドモードで次のリクエストを入力します。

    ```text wrap theme={null}
    Dify 製品サポート Agent を作成してください。
    ワークフローが渡すコンテキストを最優先で使い、コンテキストが不足しているときや最新情報が必要なときだけ検索するようにしてください。
    重複する検索機能は作らないでください。
    ```

    <Frame>
      <img src="https://mintcdn.com/dify-6c0370d8-preview-yajing-marketplace-doc/sPaesDqCRjA9finA/images/use-dify/tutorial/workflow-101-lesson-08/build-by-chatting.png?fit=max&auto=format&n=sPaesDqCRjA9finA&q=85&s=719b28ef6112583de00c07a91581cda5" alt="ビルドモードで Agent を説明する" width="2974" height="1648" data-path="images/use-dify/tutorial/workflow-101-lesson-08/build-by-chatting.png" />
    </Frame>

    ビルドが終わると、Agent は自分のアセットを用意しています。

    * `product-support`：Agent のサポート行動と情報源の使い分けルールを収めた埋め込みスキル。
    * `build_note.md`：このビルドチャットで何を設定したかを記録したノート。
  </Step>

  <Step title="メインのプロンプトを追加する">
    **適用** をクリックするとビルドモードが閉じ、**設定** パネルが再び編集できるようになります。**プロンプト** に次の指示を追加します。

    ```text wrap theme={null}
    毎回の任務に添えられたコンテキストに基づいて正確に回答してください。コンテキストを第一の情報源としてください。コンテキストが不足している、無関係、または古い場合に限り、Google Search を使ってください。
    ```

    生成されたスキルは、Agent が再利用できる製品サポートの専門能力を定義します。プロンプトは、いつ Google Search を使うべきかの明確なルールを与えます。

    <Frame>
      <img src="https://mintcdn.com/dify-6c0370d8-preview-yajing-marketplace-doc/sPaesDqCRjA9finA/images/use-dify/tutorial/workflow-101-lesson-08/generated-skills.png?fit=max&auto=format&n=sPaesDqCRjA9finA&q=85&s=9a9cef8214e2fb7d808a0f6819e686ab" alt="設定パネルに生成されたスキルとプロンプト" width="2588" height="1680" data-path="images/use-dify/tutorial/workflow-101-lesson-08/generated-skills.png" />
    </Frame>
  </Step>

  <Step title="Agent をプレビューする">
    **プレビュー** に切り替えて Dify 製品に関する質問をし、Agent が簡潔に答え、必要なときだけ検索することを確認します。

    設定に問題がなければ、設定画面を閉じてワークフローのキャンバスに戻ります。
  </Step>
</Steps>

<Check>
  🎉 Agent の準備ができました。
</Check>

## ハンズオン 2：ワークフローの任務を割り当てる

Agent には、再利用できる役割、サポートの専門能力、検索ツールが揃いました。次は、このワークフローで何をするかを伝えます。

<Steps>
  <Step title="メールと検索結果を渡す">
    Agent ノードを選択し、**Agent タスク** にこのステップの任務を記述します。

    ```text wrap theme={null}
    {{email_content}} に含まれるすべての質問やリクエストに回答してください。
    まず {{result}} で検索された製品知識を使ってください。
    すべての回答を 1 通のメール本文にまとめてください。
    ```

    `/` を入力して、ユーザー入力の `email_content` と知識検索の `result` を挿入します。こうすると、ただのテキストではなく変数として渡されます。

    <Frame>
      <img src="https://mintcdn.com/dify-6c0370d8-preview-yajing-marketplace-doc/sPaesDqCRjA9finA/images/use-dify/tutorial/workflow-101-lesson-08/agent-task.png?fit=max&auto=format&n=sPaesDqCRjA9finA&q=85&s=d41faf90718d245e28eb9fcaed7d65d3" alt="Agent タスクに任務を記述する" width="1748" height="1198" data-path="images/use-dify/tutorial/workflow-101-lesson-08/agent-task.png" />
    </Frame>
  </Step>

  <Step title="出力ノードをつなぐ">
    出力ノードをクリックし、出力変数を Agent の `text` 出力に設定します。これで、ワークフローは生成されたメール返信を返します。

    <Frame>
      <img src="https://mintcdn.com/dify-6c0370d8-preview-yajing-marketplace-doc/sPaesDqCRjA9finA/images/use-dify/tutorial/workflow-101-lesson-08/output-node.png?fit=max&auto=format&n=sPaesDqCRjA9finA&q=85&s=802d1cde3242d8c7ad26e21aeec972e3" alt="出力を Agent の text に設定する" width="2796" height="798" data-path="images/use-dify/tutorial/workflow-101-lesson-08/output-node.png" />
    </Frame>
  </Step>
</Steps>

最終的なワークフローはこちらです。

<Frame>
  <img src="https://mintcdn.com/dify-6c0370d8-preview-yajing-marketplace-doc/sPaesDqCRjA9finA/images/use-dify/tutorial/workflow-101-lesson-08/final-workflow.png?fit=max&auto=format&n=sPaesDqCRjA9finA&q=85&s=a324abff5160dafbb6fac2dbf6973cc8" alt="最終的な 4 ノードのワークフロー" width="2576" height="478" data-path="images/use-dify/tutorial/workflow-101-lesson-08/final-workflow.png" />
</Frame>

**テスト実行** をクリックして、いくつか質問を含む顧客メールを入力してみましょう。Agent は検索された知識をもとに答え、必要なときだけ検索します。

## Agent の保存（任意）

Product Support Agent はすでにワークフローの一部として保存されています。次のレッスンに進むために、別途保存する必要はありません。

ほかのワークフローでも再利用したい場合：Agent ノードをクリックして設定を開き、**設定** で **⋯** をクリックして **Agents に保存** を選択します。

<Frame>
  <img src="https://mintcdn.com/dify-6c0370d8-preview-yajing-marketplace-doc/sPaesDqCRjA9finA/images/use-dify/tutorial/workflow-101-lesson-08/save-to-agents.png?fit=max&auto=format&n=sPaesDqCRjA9finA&q=85&s=d16a3ce122feebe7227baffb5f5cc215" alt="Agent を Agents に保存する" width="918" height="250" data-path="images/use-dify/tutorial/workflow-101-lesson-08/save-to-agents.png" />
</Frame>

Agent の名前、アイコン、説明を設定します。

<Frame>
  <img src="https://mintcdn.com/dify-6c0370d8-preview-yajing-marketplace-doc/sPaesDqCRjA9finA/images/use-dify/tutorial/workflow-101-lesson-08/add-agent-info.png?fit=max&auto=format&n=sPaesDqCRjA9finA&q=85&s=6dc35f3e9418b71b65a6a0ff650d8342" alt="保存した Agent に名前を付ける" width="2218" height="974" data-path="images/use-dify/tutorial/workflow-101-lesson-08/add-agent-info.png" />
</Frame>

## ミニチャレンジ

1. インターネット検索で得た情報にはその旨を明記する、という要件を追加してみましょう。
2. 検索された知識でも Google Search でも答えられない質問を 1 つしてみましょう。Agent が質問を無視せず、限界を認めることを確認します。
