DX プロジェクトからエージェントを作成する
このステップでは、ステップ 1 で作成した Developer Edition 組織を使用します。
エージェント仕様を生成する
エージェント仕様は、エージェントについての情報 (エージェントのロール、会社の詳細など) と、この情報に基づいて AI が生成したトピックのリストを含む YAML ファイルです。トピックは、エージェントが対応できる業務の範囲を定義します。
- 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
など)。
- プロンプトが表示されたら、次の表に示された値を (矢印キーを使用して) 選択するか、入力します。
プロンプト |
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
を実行すると詳細を確認できます。
- 生成された
specs/agentSpec.yaml
ファイルを VS Code のエディターで参照し、必要に応じて編集します。
YAML ファイルの上部には、agent generate agent-spec
コマンドで入力した情報と、その他のデフォルトプロパティ (最大トピック数、エージェントの会話データを組織のイベントログに追加するかどうかなど) が表示されています。一方で、topics
(トピック) セクションには興味深い内容が表示されています。入力した情報に基づいて AI が生成したトピックのリストが含まれています。各トピックには name
(名前) と description
(説明) が含まれており、どちらも AI によって生成されます。そのため、各自の新しいエージェント仕様ファイル内のトピックは、上のスクリーンショットに示されたものとは若干異なる可能性がありますが、同じエージェントプロパティで始めているため、トピックの要点は類似したものになっているはずです。このトピックは、必要に応じて YAML ファイル内で直接変更できます。たとえば、特定のエージェントをより適切に説明するためにトピックの説明を変更したり、該当しないトピックを削除したりできます。
エージェントを作成する
では、前のステップで生成したエージェント仕様に基づいてエージェントを作成しましょう。エージェントを作成する CLI コマンドが実行することは 2 つです。組織でエージェントを作成し、エージェントに関連付けられたメタデータをローカル DX プロジェクトと同期します。
- VS Code の統合ターミナルで、次の Salesforce CLI コマンドを実行します。
sf agent create --spec specs/agentSpec.yaml --name "Resort Manager"
--spec
フラグは、前のステップで作成した YAML エージェント仕様を指定します。--name
フラグは、新しいエージェントの名前 (ラベル) を指定します。
- プロンプトが表示されたら、エージェントのデフォルトの 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.
- 試しに、生成されたローカルメタデータを VS Code のエディター内で見てみましょう。いつものように、メタデータは DX プロジェクトの
force-app
ディレクトリの下にあります。
大まかに言うと、エージェントを構成する主なメタデータコンポーネントは 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 などのプロコードツールを使用してエージェントを作成できるようになりました。
リソース
- Trailhead: クイックスタート: Agentforce を使用してサービスエージェントを構築する
- Trailhead: Agentforce の基本
- Salesforce 開発者: Agentforce 開発者ガイド
- Salesforce 開発者: CLI Command Reference (CLI コマンドリファレンス) (agent コマンド)
- Salesforce 開発者: Salesforce DX 開発者ガイド
- Salesforce 開発者: Salesforce CLI Setup Guide (Salesforce CLI 設定ガイド)
- Salesforce 開発者: Salesforce Extensions for Visual Studio Code (Visual Studio Code 向け Salesforce 拡張機能)
- Salesforce ヘルプ: Agentforce エージェント