Salesforce「Agentforce」始動:Copilotを超えた「自律型AI」の実装手法と開発者のハマりどころ

AIツール活用

「支援」から「代行」へ。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は以下のループを自律的に回します。

  1. ユーザーの意図理解:自然言語の解析。
  2. データ検索(RAG):Data Cloudから必要なコンテキストを取得。
  3. プランニング:利用可能なツール(Action)から最適な手順を構築。
  4. 実行と評価: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業界の最新動向

コメント

タイトルとURLをコピーしました