べにおブログ

学んだことを、ゆっくり深く。

Agentforceのサブエージェント(旧トピック)とアクション:エージェントに「何を・いつ」やらせるかを決める仕組み

結論:まずこれだけ覚える

Agentforceでは、担当範囲をまとめるサブエージェント(新しいAgentforce Builderの用語。旧Builderでは「トピック」)と、実際の処理を行うアクションを組み合わせます。自然言語の命令や説明は、エージェントが担当範囲やアクションを選ぶための重要な手掛かりです。ただし、実行結果は命令だけで決まるのではなく、参照アクションのロジック、実行ユーザーの権限、共有設定、入力・出力定義、フィルターにも左右されます。アクション命令には「何をするか」「いつ使うか」を明確に書き、実際の業務要件と矛盾する条件を加えないことが基本です。


Agentforceとは何か

Agentforceは、Salesforce上で動くAIエージェントを構築するための仕組みです。フローやApexなどの参照アクションが実際の業務処理を担当し、エージェントは会話の文脈と設定された命令・説明を基に、どの担当範囲とアクションを使うかを推論します。 命令や説明は重要ですが、唯一の制御手段ではありません。カスタムアクションは参照するフロー、Apex、外部サービス、プロンプトテンプレートなどの処理を実行し、その実行可否には権限、項目レベルセキュリティ、共有設定なども関係します。確実に守らせる必要がある業務ルールは、自然言語の命令だけに任せず、参照アクションのロジックや決定的なフィルターでも制御します。


3つの構成要素

要素役割
エージェント全体の人格・対象ユーザー・利用チャネルを決めるECサポート担当エージェント
サブエージェント(旧Builderではトピック)担当分野のくくり。関連するアクションをまとめ、その分野で扱う範囲と方針を定義する注文管理
アクション(Action)実際の処理。フロー、Apex、プロンプトテンプレート、標準アクションなどを呼び出すupdateShippingAddress

ユーザーの発話に応じて、エージェントは担当するサブエージェント(旧Builderではトピック)と利用可能なアクションを選び、必要な処理を実行します。したがって命令は、担当範囲レベルの方針と、個々のアクションの目的・使用条件を分けて記述します。


アクション命令(Action Instructions)の書き方

Salesforce公式は、アクションの説明について「そのアクションが何をするのかいつ使うのかを、1〜3文で簡潔に説明する」ことを推奨しています。

良い命令の4条件

  1. 処理内容が具体的:「情報を更新する」ではなく「顧客レコードの配送先住所を更新する」
  2. 目的が書いてある:そのアクションが存在する理由
  3. 発動条件が書いてある:「ユーザーが明示的に住所変更を依頼した場合にのみ使用する」
  4. 実際の業務要件と整合させる:「有効な注文がない場合のみ」のような特殊条件は、それが実要件であり、参照アクションまたは取得可能なデータで判定・強制できる場合にだけ書きます。設問や仕様にない条件を推測で追加してはいけません

悪い命令のパターン

パターン何が起きるか
曖昧「配送情報を更新するにはこれを使用してください」似た名前の別アクションと混同し、誤発動する
目的だけ書いて条件がない「住所が最新かつ正確であることを確認するのが目的です」いつ呼べばよいか判断できず、呼ばれない/呼ばれすぎる
根拠のない条件を追加仕様にないのに「有効な注文がない場合にのみ使用してください」と書く正当な依頼を拒否する。反対に、その条件が実要件なら命令だけでなく参照アクション側でも強制する
長すぎる手順書10行以上の分岐説明推論エンジンが要点を取り違える

よくある質問

Q. アクションの説明は日本語で書いてよいですか。 A. 運用言語に合わせて書けます。ただし、どの言語で書く場合も「何をするか」「いつ使うか」を明示するという原則は変わりません。 Q. アクションの中身(フローやApex)が正しければ、説明文は適当でよいのでは? A. いいえ。参照アクションが正しくても、命令や入力・出力の説明が曖昧だと、エージェントが適切な場面で選択できない可能性があります。テストでは「参照アクション自体が正しく動くか」と「会話中に正しいアクションが選択されるか」を分けて確認します。 Q. トピックの命令とアクションの命令は何が違いますか。 A. トピックの命令は「この分野でやってよいこと・やってはいけないこと」という境界線を書きます。アクションの命令は「この一つの処理を、いつ・何のために呼ぶか」を書きます。境界の話をアクション側に書くと、他のアクションと矛盾しやすくなります。


出典(Salesforce公式)

  • Best Practices for Agent Action Instructions — 「アクション命令は、そのアクションが何をするのか、そしていつ使うのかをエージェントに伝えるもの」
  • Prompt Fine-Tuning in Agentforce — 「アクション命令のベストプラクティス:そのアクションが何をするか、いつ使うかを1〜3文で正確に説明する」「トピックのスコープでは、エージェントができること・できないことを明示する」
  • Create a Custom Action — 新しいAgentforce Builderで、フロー、Apex、外部サービス、プロンプトテンプレートなどを参照するカスタムアクションを作成できること、および参照アクションの権限・共有設定が実行に関係すること
  • Write Effective Instructions for AI Agent — 「明確な指示ほど信頼できる結果につながる。必要な指示はすべて説明欄に含め、簡潔かつ明確に書く」