Skip to main content

DX プロジェクトからエージェントを作成する

メモ

メモ

日本語で受講されている方へ
Challenge は日本語の Trailhead Playground で開始し、かっこ内の翻訳を参照しながら進めていってください。Challenge での評価は英語データを対象に行われるため、英語の値のみをコピーして貼り付けるようにしてください。日本語の組織で Challenge が不合格だった場合は、(1) この手順に従って [Locale (地域)] を [United States (米国)] に切り替え、(2) [Language (言語)] を [English (英語)] に切り替えてから、(3) [Check Challenge (Challenge を確認)] ボタンをクリックしてみることをお勧めします。

翻訳版 Trailhead を活用する方法の詳細は、自分の言語の Trailhead バッジを参照してください。

このステップでは、ステップ 1 で作成した Developer Edition 組織を使用します。

エージェント仕様を生成する

エージェント仕様は、エージェントについての情報 (エージェントのロール、会社の詳細など) と、この情報に基づいて AI が生成したトピックのリストを含む YAML ファイルです。トピックは、エージェントが対応できる業務の範囲を定義します。

  1. VS Code の統合ターミナルで、次の Salesforce CLI コマンドを実行します。
sf agent generate agent-spec

agent プラグインはジャストインタイム (JIT) プラグインであるため、コマンドの 1 つが初めて実行されるときに Salesforce CLI でプラグインがインストールされます。前のステップで Developer Edition 組織を承認したときにデフォルトとして指定したため、agent コマンドはこの Developer Edition 組織に対して自動的に実行されます。--target-org フラグを使用して明示的に組織を対象にして、組織の別名やユーザー名を指定することもできます (sf agent generate agent-spec --target-org agentforce など)。

  1. プロンプトが表示されたら、次の表に示された値を (矢印キーを使用して) 選択するか、入力します。

プロンプト

Value (値)

Type of agent to create (作成するエージェントの種別)

Customer (顧客向け)

Name of your company (会社名)

Coral Cloud Resorts

Description of your company (会社の説明)

Coral Cloud Resorts provides customers with exceptional destination activities, unforgettable experiences, and reservation services, all backed by a commitment to top-notch customer service. (Corall Cloud Resorts は、現地ならではの最高のアクティビティ、忘れられない楽しい体験、確実な予約サービスを提供し、一流のカスタマーサービスを徹底しています。)

Role of the agent (エージェントのロール)

The resort manager fields customer complaints, manages employee schedules, and generally makes sure everything is working smoothly. (リゾートマネージャーは、顧客の苦情に対応し、従業員のスケジュールを管理し、すべてがスムーズに進行しているかを広く確認します。)

コマンドが終了すると、生成された agentSpec.yaml というエージェント仕様ファイルが DX プロジェクトの specs サブディレクトリに含まれます。このデフォルトは、--output-file フラグを使用して変更できます (--output-file specs/resortManagerSpec.yaml など)。

フラグを使用せずに実行した場合、agent generate agent-spec コマンドでは対話形式でエージェントと会社についての基本情報を求めるプロンプトが表示されます。自然言語を使用して、このプロパティを説明します。フラグを使用して表に記載の値を指定することもできます。たとえば、短い値の指定には --type --company-name を使用でき、エージェントのロールや会社の説明などの長い値についてはプロンプトに従って入力できます。

sf agent generate agent-spec --type customer --company-name "Coral Cloud Resorts"

agent generate agent-spec コマンドには、生成する最大トピック数 (デフォルトは「5」です)、カスタムプロンプトテンプレート、プロンプトテンプレートで使用されるグラウンディングコンテキスト、エージェントの会話の語調など、追加の仕様プロパティを指定するその他のフラグもあります。このようなフラグを試してみたい場合は、agent generate agent-spec --help を実行すると詳細を確認できます。

  1. 生成された specs/agentSpec.yaml ファイルを VS Code のエディターで参照し、必要に応じて編集します。

左側のファイルエクスプローラーに agentforcedx プロジェクトが表示され、右側のファイルエディターに「agentSpec.yaml」ファイルが開いている VS Code。

YAML ファイルの上部には、agent generate agent-spec コマンドで入力した情報と、その他のデフォルトプロパティ (最大トピック数、エージェントの会話データを組織のイベントログに追加するかどうかなど) が表示されています。一方で、topics (トピック) セクションには興味深い内容が表示されています。入力した情報に基づいて AI が生成したトピックのリストが含まれています。各トピックには name (名前) と description (説明) が含まれており、どちらも AI によって生成されます。そのため、各自の新しいエージェント仕様ファイル内のトピックは、上のスクリーンショットに示されたものとは若干異なる可能性がありますが、同じエージェントプロパティで始めているため、トピックの要点は類似したものになっているはずです。このトピックは、必要に応じて YAML ファイル内で直接変更できます。たとえば、特定のエージェントをより適切に説明するためにトピックの説明を変更したり、該当しないトピックを削除したりできます。

エージェントを作成する

では、前のステップで生成したエージェント仕様に基づいてエージェントを作成しましょう。エージェントを作成する CLI コマンドが実行することは 2 つです。組織でエージェントを作成し、エージェントに関連付けられたメタデータをローカル DX プロジェクトと同期します。

  1. VS Code の統合ターミナルで、次の Salesforce CLI コマンドを実行します。
sf agent create --spec specs/agentSpec.yaml --name "Resort Manager"

--spec フラグは、前のステップで作成した YAML エージェント仕様を指定します。--name フラグは、新しいエージェントの名前 (ラベル) を指定します。

  1. プロンプトが表示されたら、エージェントのデフォルトの API 参照名 (Resort_Manager) を受け入れます。するとコマンドの実行が開始します。
    コマンドの出力には、エージェント仕様ファイルの解析、組織でのエージェントの作成、組織で作成され、ローカル DX プロジェクトへ返されるメタデータの再取得など、実行したすべてのステップが表示されます。以下は、コマンドからの出力例の一部です。
───────── Creating Resort Manager Agent ─────────


 ✔ Parsing Agent spec 38ms
 ✔ Creating Agent in org 19.26s
 ✔ Retrieving Agent metadata 7.52s


 Elapsed Time: 26.98s


Successfully created Resort Manager in afdx-th-project@salesforce.com.


Use sf org open agent --api-name Resort_Manager -o afdx-th-project@salesforce.com to view the agent in the browser.
  1. 試しに、生成されたローカルメタデータを VS Code のエディター内で見てみましょう。いつものように、メタデータは DX プロジェクトの force-app ディレクトリの下にあります。

左側のファイルエクスプローラーにあるエージェントに関連するメタデータコンポーネントと、右側のファイルエディターに開いている GenAiPlannerBundle メタデータ XML ファイルが強調表示されている VS Code。

大まかに言うと、エージェントを構成する主なメタデータコンポーネントは Bot + BotVersion + GenAiPlannerBundle です。Bot と BotVersion は単なる ChatBot です。ただし、Bot が GenAiPlannerBundle を参照すると、エージェントになるロジックが追加されます。GenAiPlannerBundle は AI インテリジェンスを追加する接着剤のような働きをします。その後 GenAiPlannerBundles はほかの GenAi 種別を参照します (GenAiPlugins、エージェントのトピック、GenAiFunctions、エージェントのアクションなど)。

では、エージェントを実際に作成して組織に保存する前に、どのようなものかをプレビューしたいとします。これを実行するには、以下のように、まず --preview フラグを使用して agent create コマンドを実行します。

sf agent create --spec specs/agentSpec.yaml --name "Resort Manager" --preview

コマンドによって、DX プロジェクトに Resort_Manager_Preview_<timestamp>.json という名前のローカル JSON ファイルが生成されます。ファイルには、各トピックの推奨アクション、手順、発言サンプルなど、LLM で作成されるエージェントが記述されています。その後、実際に組織でエージェントを作成する準備ができたら、--preview フラグは使用せずに同じコマンドを実行します。

Developer Edition 組織の Agentforce Builder UI でエージェントを開く

新しいエージェントが Developer Edition 組織で実際に作成されたことを確認するには、組織の Agentforce Builder UI でエージェントを表示します。

VS Code の統合ターミナルから、次のコマンドを実行します。

sf org open agent --api-name Resort_Manager

リゾートマネージャーエージェントが Agentforce Builder UI に開き、参照、更新できるようになります。

生成したエージェント仕様に基づくトピックでエージェントが作成されました。各トピックには少なくとも 1 つのデフォルトアクションが含まれ、アクションを追加したいときにはいつでもカスタマイズできる準備が整っています。

おめでとうございます! 素晴らしい Coral Cloud 開発者として、Agentforce DX の使用方法を理解し、Salesforce CLI、VS Code などのプロコードツールを使用してエージェントを作成できるようになりました。

リソース

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む