はじめに
2026年4月、SalesforceはAgentforceの「トピック」を「サブエージェント」に名称変更しました。
機能面の変更はないとされていますが、実際にAgentforce Builderを触ってみると、画面の表記とドキュメントの表記がまだ一致していない箇所があり、最初は地味に戸惑いました。
この記事では概念の整理ではなく、実際にエージェントを設計する過程で詰まった4つのポイントに絞って書きます。
サブエージェントとツールの役割分担、
エージェントスクリプトでの動作制御、
ルーティング精度を上げるための指示の書き方など、
触ってみて初めて気づいた部分を中心にまとめています。
Agentforce Builderの全体像から知りたい場合は、先にSalesforce公式ヘルプを一読してから読むと理解が早いです。
Agentforce Builderとは:全体像を把握する
Agentforce Builderは、AIエージェントを作成・カスタマイズ・テストするためのSalesforce上のビジュアルインターフェースです。アプリケーションランチャーから「Agentforce スタジオ」を開き、「新規エージェント」ボタンをクリックするとAgentforce Builderが起動します。
アプリケーションランチャー → Agentforce スタジオ → [新規エージェント] をクリック
Agentforce スタジオは大きく2つのペインで構成されています。
- 「構築」ペイン(Build):エージェントの作成・プロンプトテンプレート・データライブラリ・AIモデル選択などを管理する
- 「観察」ペイン(Observe):エージェントのアナリティクスやセッション分析など、パフォーマンス観測を行う
エージェントを作成するときは、テンプレートから選ぶか、「このエージェントに何をさせたいか」を自然言語で入力するかを選べます。テンプレートには一般的なサブエージェント・ツール・変数があらかじめ組み込まれているため、ゼロから設計するより先にテンプレートを試すのがベストプラクティスとされています。
利用可能なエディション:Enterprise Edition、Performance Edition、Unlimited Edition、Developer Edition(Agentforce・Data 360対応版)
サブエージェントとツールの関係を理解する
サブエージェント(旧:トピック)とは
サブエージェントは、エージェントが「どの仕事を担当するか」を定義する単位です。Salesforceのヘルプでは「サブエージェントはエージェントが実行できるジョブ」と定義されています。
1つのエージェントに複数のサブエージェントを持たせることで、問い合わせ内容に応じて適切なサブエージェントにルーティングされます。たとえば「注文確認」「住所変更」「解約手続き」をそれぞれ別のサブエージェントとして設計する、という使い方が典型的です。
カスタムサブエージェントの作成手順:
- Agentforce Builderの左パネル(エクスプローラー)で「サブエージェント」横の「+」ボタンをクリックする
- 「新規サブエージェント」を選択する
- サブエージェント名と「このサブエージェントに担当させたいこと」の説明文を入力する
- 「作成して開く」をクリックし、指示とツールを設定する
- 「保存」をクリックする
「指示」には、このサブエージェントがどのように振る舞うべきかを自然言語で記述します。「提供されたツールのデータ以外のSalesforceデータを使わないこと」と明示的に書くのが、ベストプラクティスとして推奨されています。
ツールとは
ツールはサブエージェントが実際に実行できる処理の単位です。ツールにはいくつかの「参照ツール種別」があります。
- フロー:Salesforce Flowを呼び出す(管理者が最も扱いやすいタイプ)
-
Apex:
@InvocableMethodアノテーションを付けたApexクラスを呼び出す - 標準ツール:レコードの取得・更新など、あらかじめ用意された処理
カスタムツールの追加手順(サブエージェント内から):
- エクスプローラーでサブエージェントを開く
- 「ツール」横の「+」ボタンをクリックし「ツールを作成」を選択する
- ツール名を入力し「作成して開く」をクリックする
- 「説明」(LLMへの説明文)・「参照ツール種別」・「参照ツール」(呼び出すフローやApexクラス)を設定する
- 出力項目の「会話に表示」チェックボックスで、ユーザーへの表示有無を設定する
- 「保存」をクリックする
正直、最初はツールとサブエージェントの関係が少し混乱しました。「サブエージェントはツールの器」と捉えると、わりとすっきり理解できる印象です。
エージェントスクリプトを使ってエージェントの動きを制御する
エージェントスクリプトは、Agentforce Builderでエージェントの動作を記述するための言語です。Spring '26でGAになっており、自然言語の柔軟性とプログラム的な確実性を組み合わせることができます。
エージェントスクリプトでできることの例:
- 条件分岐:if/elseの式を使って、変数の値に応じてエージェントの発話や実行するツールを切り替える
- 変数管理:会話の状態をLLMのコンテキストメモリではなく変数として確実に保持する
- サブエージェント間の遷移:特定の条件でサブエージェントを切り替えるタイミングを決定論的に制御する
Agentforce Builderには2つのビューがあります。
-
キャンバスビュー:自然言語でエージェントを設定する。スラッシュ(
/)を入力するとif/else等の式を挿入でき、アット(@)を入力するとサブエージェント・ツール・変数などのリソースを参照できる - スクリプトビュー:コードとして直接エージェントスクリプトを編集できる。ハイライトや自動補完、バリデーション機能付き
2つのビューは自由に切り替え可能で、キャンバスビューでの変更はスクリプトビューにも反映され、その逆も同様です。設計の自由度が高い分、最初のスクリプト構造の設計が後々の可読性に影響するという印象もあります。
テストは「プレビュー」モードで行い、「インタラクションの詳細」で「どのサブエージェントにルーティングされたか」「どのツールが実行されたか」「LLMがどのように推論したか」を詳細に確認できます。
つまずきポイント・注意事項
① 「トピック」と「サブエージェント」の混在表記
2026年4月の名称変更後も、ドキュメントや画面によって「トピック」と「サブエージェント」が混在している場合があります。Salesforce公式の説明では「名称変更のみで機能変更はない」とされているため、どちらが出てきても同じものだと割り切って読み進めるのが実際には早いです。特に「従来のビルダー」(旧Agentforce Builder)関連のヘルプドキュメントは古い用語のままのものも残っています。
② 指示の記述が曖昧だとルーティング精度が落ちる
サブエージェントのルーティングは、そのサブエージェントの説明文と指示をもとにLLMが判断します。「何をするサブエージェントか」を明確に書かないと、意図しないサブエージェントにルーティングされることがあります。「このサブエージェントが扱わないケース」を明示的に書くのも効果的です。
③ ツールの「会話に表示」設定を見落としがち
ツールを設定したあと、出力項目の「会話に表示」チェックボックスをオフにしたままだとユーザーに結果が表示されません。プレビューで「応答がない」と感じたら、まずここを確認することをおすすめします。
④ エディション要件の確認を先に
Agentforceの利用にはEnterprise Edition以上(またはAgentforce・Data 360対応のDeveloper Edition)が必要です。本番環境での導入を検討している場合は、先にエディションとライセンス条件を確認してください。
まとめ
- 2026年4月以降、トピックはサブエージェントに名称変更(機能変更なし)
- Agentforce BuilderはAgentforce スタジオからアクセスするAIエージェント設計ツール
- サブエージェントは「担当する仕事の単位」、ツールは「サブエージェントが実行できる処理」
- エージェントスクリプトはキャンバスビューとスクリプトビューで編集でき、自然言語とコードを組み合わせて動作を制御できる
- プレビューモードで動作確認、インタラクションの詳細で推論・ツール実行の詳細を確認できる
Agentforce Builderは設計の自由度が高い分、最初の概念整理が大切だという印象を持っています。まずサブエージェントとツールの関係を押さえて、小さく試しながら拡張していくアプローチが実務には合っているように思います。
AI×資格学習・Salesforce業務活用の情報をnoteでも発信しています。