「支援」から「代行」へ。AIエージェントの実装フェーズが到来
2024年、AIのトレンドは「チャットボットによる支援(Copilot)」から「自律的なタスク実行(Agent)」へと明確にシフトしました。その最前線といえるのが、Salesforceが正式リリースした「Agentforce」です。
これまで私たちが慣れ親しんできた「Einstein Copilot」は、あくまで人間の指示を待つアシスタントでした。しかし、Agentforceは異なります。定義された役割に基づき、データ変更や外部トリガーを検知し、自ら推論してプランを立て、業務を完結させます。
本記事では、このAgentforceの技術的特異点である「Atlas Reasoning Engine」の解説から、実際の開発者が直面する実装の勘所、そしてApexを用いた拡張方法まで、実務に即した情報をお届けします。
1. Agentforceの技術的コア:Atlas Reasoning Engineとは
Agentforceが従来のチャットボットと一線を画すのは、その頭脳であるAtlas Reasoning Engine(アトラス推論エンジン)の存在です。
従来のLLMアプリは「プロンプト→回答」という単純な往復でしたが、Atlasは以下のループを自律的に回します。
- ユーザーの意図理解:自然言語の解析。
- データ検索(RAG):Data Cloudから必要なコンテキストを取得。
- プランニング:利用可能なツール(Action)から最適な手順を構築。
- 実行と評価:APIコールやDB更新を行い、結果を評価。必要なら再試行。
CopilotとAgentforceの決定的な違い
開発者として押さえておくべき違いを比較表にまとめました。
| 機能/特性 | 従来のEinstein Copilot | Agentforce Agent |
|---|---|---|
| トリガー | ユーザーからのチャット入力のみ | チャット、レコード変更、時間経過、APIコール |
| 推論能力 | 単一タスクの実行が主 | マルチステップの推論と計画(Plan)が可能 |
| データ参照 | 検索インデックス | Data Cloudとリアルタイム統合 |
| 開発ツール | Copilot Builder | Agent Builder (より高度なガードレール設定が可能) |
2. 実践:Agent Builderによるエージェント構築
開発者は「Agent Builder」を使用してエージェントを構成します。ここではコードを書くというより、「AIに渡すツールセットの定義」が主戦場になります。
構成要素:TopicとAction
エージェントの行動は「Topic(業務領域)」と「Action(具体的な機能)」で定義されます。例えば「注文管理」というTopicの中に、「在庫確認」「発送処理」というActionが含まれるイメージです。
【重要】ApexをActionとして公開する方法
標準のアクションで足りない場合、Apexクラスをエージェントに呼び出させることになります。ここで重要なのが、AIに「このコードは何をするものか」を正確に伝えるためのアノテーションと説明文です。
以下は、在庫確認を行うApexクラスの実装例です。
public class InventoryManager {
// InvocableMethodアノテーションが必須です。
// labelとdescriptionはAIがこのツールを選択する際の判断基準になるため、
// 具体的かつ平易な言葉で記述してください。
@InvocableMethod(label='Check Inventory Status' description='指定された製品IDの現在の在庫数を確認し、出荷可能日を返します。在庫がない場合は次回入荷予定日を返します。')
public static List<InventoryOutput> checkInventory(List<InventoryInput> requests) {
List<InventoryOutput> results = new List<InventoryOutput>();
for (InventoryInput req : requests) {
// 実際のロジック(SOQLや外部APIコールなど)
// ...
}
return results;
}
public class InventoryInput {
@InvocableVariable(required=true description='Salesforceの製品ID (Product2Id)')
public String productId;
@InvocableVariable(required=true description='希望注文数量')
public Integer quantity;
}
public class InventoryOutput {
@InvocableVariable(description='在庫状況: Available, OutOfStock, PreOrder')
public String status;
@InvocableVariable(description='出荷可能予定日')
public Date estimatedShipDate;
}
}
開発者のためのポイント:
descriptionは人間用のドキュメントではありません。LLMへのプロンプトの一部として機能します。「IDを渡すと在庫を返す」ではなく、「どのような状況で使うべきか」「何が返ってくるか」を具体的に書くことで、推論精度が劇的に向上します。- 入力変数 (
InventoryInput) の型定義と説明も同様に重要です。AIはここを見て、会話履歴からどのパラメータを抽出して渡すべきかを判断します。
3. 開発者が陥る「3つのハマりどころ」
Agentforceの実装プロジェクトにおいて、エンジニアが躓きやすいポイントを先回りして解説します。
① Data Cloudの整備不足(Garbage In, Garbage Out)
AgentforceはData Cloudを参照しますが、データが整理(ハーモナイゼーション)されていなければ、正しい推論は不可能です。非構造化データや重複データが多いと、AIは誤った回答(ハルシネーション)を引き起こします。AI開発の8割はデータ整備であるという原則はここでも変わりません。
② 権限セット(Permission Set)の落とし穴
エージェントは特定のユーザーコンテキスト(あるいはシステムユーザー)で動作します。Apexやフローを作成しても、エージェントに割り当てられたユーザーに適切なオブジェクト権限やフロー実行権限が付与されていなければ、実行時に静かにエラーになり、「すみません、うまくいきませんでした」とだけ返されることになります。デバッグログの監視は必須です。
③ インストラクションの曖昧さ
Agent Builderでは自然言語で「指示(Instruction)」を与えますが、ここが曖昧だとエージェントは暴走します。
悪い例:
「顧客の問い合わせに親切に対応してください。」
良い例(構造化されたプロンプト):
「あなたはカスタマーサポートエージェントです。以下の手順に従ってください:
1. 顧客の本人確認を行う。
2. 注文状況を『Order Management』トピックを使って確認する。
3. 返品ポリシーに基づき、返品可否を判断する。
※決してクレジットカード番号を聞き出さないでください。」
4. 日本市場へのインパクトと活用シナリオ
日本のビジネス現場において、Agentforceは慢性的な人手不足に対する強力な解となります。特に以下の領域での導入が進むでしょう。
- インサイドセールス:Webからのリードに対し、即座にエージェントが架電(またはメール)し、ヒアリングを行って商談化する。
- 社内ヘルプデスク:IT資産管理や有給申請など、社内規定(PDF)とシステム(人事DB)を横断した自律処理。
Salesforceエコシステムを利用している企業にとって、外部のAIツールをAPIでつなぎ合わせるよりも、Data Cloud上で完結するAgentforceの方が、セキュリティとガバナンスの観点(E-E-A-Tにおける信頼性)から合理的です。
5. よくある質問 (FAQ)
- Q. 既存のEinstein Botはどうなりますか?
- A. すぐになくなるわけではありませんが、Salesforceの開発リソースはAgentforceに集中しています。ルールベースの単純な応答ならBotで十分ですが、複雑な推論が必要な場合はAgentforceへの移行を検討すべきです。
- Q. Apexを書かずに実装できますか?
- A. はい、可能です。Salesforce Flow(フロー)をActionとして登録できるため、ノーコード・ローコード開発者でも複雑なロジックを持つエージェントを構築できます。
- Q. 利用料金体系はどうなっていますか?
- A. 従来のライセンス課金とは異なり、Agentforceは「会話単価」や「処理実行回数」に基づく従量課金モデル(Consumption-based pricing)が採用される傾向にあります。詳細はSalesforceの担当営業への確認が必要です。
編集後記:AI時代の「開発者」の役割
Agentforceの登場により、Salesforce開発者の役割は「画面を作る」「DBを設計する」ことから、「AIに渡すツールを設計する」「AIの思考プロセスを監督する」ことへと変化します。技術のキャッチアップを急ぎましょう。
あわせて読みたい:AI業界の最新動向


コメント