コンテンツへスキップ

media AI活用の最前線

ツール比較・実践ガイド 36分で読めます

Agentforce完全ガイド2026|CRM AIエージェント実装

Agentforce完全ガイド2026|CRM AIエージェント実装

結論:Salesforce AgentforceはCRMデータをそのままAIエージェントの燃料にできる唯一のプラットフォームです。Apex・Flow・Prompt Templateの3層で業務ロジックを自律実行し、Salesforce契約済み企業なら追加インフラゼロで本番稼働できます。

この記事の要点

  • 課金体系:Flex Credits($0.10/アクション)か会話単位($2/会話)かを組織ごとに選択
  • Agent Builderの3要素(Topics / Actions / Variables)を押さえれば最短2週間で本番エージェントが立ち上がる
  • Atlas Reasoning Engineのハイブリッド推論でLLMの曖昧さを排除し、予測可能な業務自動化を実現

対象読者:Salesforceを契約済みで、AIエージェントで業務自動化を検討中のDX推進担当者・情術システム部門・Salesforce管理者

読了後にできること:Agent Builderでサービスエージェントの初稿を設定し、Apex Actionと接続する実装パターンが分かる


「AIエージェントを入れたい。でもゼロからインフラを作る余裕はない——」

企業向けAI研修で、こう打ち明けてくださる担当者の方が急増しています。Salesforceをすでに全社導入している企業にとって、答えはシンプルです。AgentforceはCRMの中から生まれ、CRMのデータを直接推論エンジンに食わせる。追加のベクターDBもパイプラインも不要です。

筆者が実際に支援した製造業のクライアント(従業員500名規模)では、カスタマーサービス部門のケース対応時間が平均18分から6分に短縮しました。Agentforceのサービスエージェントが、Knowledge記事とCRMの顧客履歴をリアルタイムで参照しながら一次回答を自動生成するようにしたからです。もちろんこれは単一の施策ではなく、プロセス再設計も並行していますが、それでも劇的な変化でした。

この記事では、Agentforceの仕組みから課金体系、コードレベルの実装まで、Salesforce管理者・開発者が即座に動けるレベルで解説します。Microsoft Copilot Studio・Google Vertex AI Agent Builder・AWS Bedrock AgentCoreとの4社比較も後半で行います。

AIエージェントの基本概念や導入戦略については、AIエージェント導入完全ガイドで体系的にまとめています。本記事はSalesforce特化の実装編として読んでください。

Salesforce Agentforceとは|Einstein Copilotとの違い

Agentforceは2024年9月のDreamforceで発表され、2025年初頭に「Einstein Copilot for Salesforce」をAgentforceへ正式リネームしました。ただし名前の変化だけでなく、コンセプトが根本的に異なります

項目Einstein Copilot(旧)Agentforce(現在)
動作モデル人間の質問に回答するアシスタント自律的に多段ステップを実行するエージェント
主なユースケースレコード検索・メール下書き・ガイダンスケース解決・商談更新・ルーティング・バッチ処理
ユーザー関与すべてのステップで人間が入力定義したポリシー範囲内で自律実行、人間はガバナンスのみ
推論エンジンLLMへの単一プロンプトAtlas Reasoning Engine(ハイブリッド推論)
データ接続Salesforce標準オブジェクトのみData Cloud + Knowledge + 外部APIを統合

研修現場でよく受ける質問が「EinsteinとAgentforceは別製品ですか?」というものです。Einsteinは現在もAI基盤技術(モデル・Trust Layer等)のブランドとして存在し、AgentforceはそのEinsteinの上に構築されたエージェント実行プラットフォームです。混乱しやすいですが、「Einstein=エンジン、Agentforce=車体」と覚えると整理しやすいです。

ライセンス・課金体系|Flex Credits vs Conversation

Agentforceの課金体系は2025年Q3に大きく改訂され、現在2つのモデルが並存しています。1つの組織でどちらか一方しか選べない点に注意が必要です。

Flex Credits(推奨・アクション単位)

単位コスト備考
100,000 Flex Credits$500追加購入の場合
標準アクション1回20 Credits(≒$0.10)レコード更新・Knowledge検索など
音声アクション1回30 Credits(≒$0.15)Voice/IVR連携時

会話単位(Conversation-based)

  • $2 / 会話(セッション単位)
  • 外部向けカスタマーサービスエージェントに向いている
  • 1会話内で何アクション実行しても$2固定

アドオン・エディション

プラン価格内容
Salesforce Foundations(無料)$0Enterprise版以上に自動付与。Flex Credits 200,000 + Agent Builder + Prompt Builder
Agentforce User License$5/ユーザー/月Flex Credits別購入が必要
Agentforce Add-on$125〜$150/ユーザー/月ライセンスユーザーへのAgentforce無制限利用
Agentforce 1 Edition$550/ユーザー/月Flex Credits 100万クレジット/年+Data 360 Credits同梱

実務ポイント:まずSalesforce Foundationsの無料クレジット(20万)でプロトタイプを動かし、本番移行前に月間アクション数を測定してからFlex CreditかConversationかを選ぶのが賢明です。いきなりAddon契約すると想定外のコストになるケースがあります。

AI活用、何から始めればいい?

100社以上の研修実績をもとに、30分の無料相談で貴社の課題を整理します。

無料相談はこちら 資料ダウンロード(無料)

Agent Builderの基本|Topics / Actions / Variables

Agent BuilderはAgentforceの設定UIです。コードを一行も書かずにエージェントの「頭脳」を定義できます。2026年のアップデートでグラフベースエンジンを搭載した新Agent Builderが登場し、フロー部分と会話部分を分離して設計できるようになりました。

3つの構成要素

Topics(トピック):エージェントが扱う業務ドメインの定義。「何について話せるか」の境界線です。例:「請求書問い合わせ」「製品返品」「技術サポート」を別トピックとして定義します。

Actions(アクション):エージェントが実行できる具体的な操作。Apex Action・Flow Action・Prompt Template・外部API呼び出し・Knowledge検索などを登録します。Atlas Reasoning Engineがアクションの名称・説明・入力パラメータを読んで「今どのアクションを呼ぶべきか」を自律判断します。

Variables(変数):会話を通じて保持されるコンテキスト情報。顧客のケースID・選択した製品・過去の返答などを格納し、後続アクションに受け渡します。

// Agent Builder設定のメタデータ例(AgentTopic)
{
  "DeveloperName": "BillingInquiry",
  "MasterLabel": "請求書問い合わせ",
  "Description": "顧客からの請求・支払いに関する問い合わせを処理します。月額利用明細の確認、支払い期日の変更、請求誤りの申告に対応します。",
  "Scope": "請求書・支払い・返金に関する問い合わせのみ。技術的な製品不具合はSupportトピックに転送してください。",
  "AgentActions": [
    {"ActionType": "ApexAction", "DeveloperName": "GetInvoiceDetails"},
    {"ActionType": "FlowAction", "DeveloperName": "UpdatePaymentDueDate"},
    {"ActionType": "PromptTemplateAction", "DeveloperName": "DraftBillingReplyTemplate"}
  ]
}

Atlas Reasoning Engineの仕組み

Atlas Reasoning Engineは、Salesforce AI Research部門が独自に開発したAgentforceの推論コアです。一般的なRAG(検索拡張生成)やシンプルなLLM呼び出しとは設計思想が異なります。

推論の4ステップ

  1. Intent Understanding(意図把握):ユーザーの発話からトピックを特定し、どのアクションが必要かを初期判断
  2. Data Retrieval Planning(データ取得計画):必要なCRMレコード・Knowledge記事・外部データを特定し、取得順序を決定
  3. Action Execution(アクション実行):定義されたアクションを呼び出し、結果を変数にセット。複数アクションを順次または並列で実行
  4. Response Generation(応答生成):Einstein Trust Layer経由で最終回答を生成、PIIマスキングを適用してユーザーに返答

ハイブリッド推論(2026年追加)

新Agent BuilderではグラフベースエンジンによるHybrid Reasoningが導入されています。フロー定義された「決定論的パス」とLLMによる「会話的パス」を混在させることができ、「この条件の時は必ずこのフローを通す」という業務要件とAIの柔軟性を両立させています。

// Atlas推論フローの概念図
入力: "先月の請求書を確認して、次回の支払い期日を1週間延ばしてほしい"

[Intent Understanding]
→ トピック: "BillingInquiry"
→ 必要アクション特定: GetInvoiceDetails, UpdatePaymentDueDate

[Data Retrieval Planning]
→ Contact.AccountId から最新Invoice取得
→ Invoice.DueDate の変更権限チェック

[Action Execution]
→ GetInvoiceDetails(InvoiceId="INV-2026-0042") → {Amount: 150000, DueDate: "2026-05-15"}
→ UpdatePaymentDueDate(InvoiceId="INV-2026-0042", NewDueDate: "2026-05-22")

[Response Generation]
→ "INV-2026-0042(¥150,000)の支払期日を2026年5月22日に変更しました。"

Apex Action統合|カスタム業務ロジック

既存のApexビジネスロジックをAgentforceから呼び出す最も強力な方法がApex Actionです。@InvocableMethodアノテーションを付与するだけで、AgentforceのAction候補として登録できます。

public class GetCustomerRiskScore {
    
    @InvocableMethod(
        label='顧客リスクスコア取得'
        description='顧客IDに基づいて与信リスクスコア(0〜100)を算出します。スコアが80以上の場合は上位担当者へのエスカレーションを推奨します。'
        category='Risk Management'
    )
    public static List<Output> getRiskScore(List<Input> inputs) {
        List<Output> results = new List<Output>();
        
        for (Input inp : inputs) {
            // 既存の与信スコアリングロジックを呼び出す
            Decimal score = CreditScoringService.calculate(inp.accountId);
            
            Output out = new Output();
            out.riskScore = score;
            out.recommendation = score >= 80 
                ? 'エスカレーション推奨:上位承認者の確認が必要です'
                : '通常対応可能';
            results.add(out);
        }
        return results;
    }
    
    public class Input {
        @InvocableVariable(
            label='取引先ID'
            description='リスクスコアを計算する取引先のSalesforce ID'
            required=true
        )
        public String accountId;
    }
    
    public class Output {
        @InvocableVariable(label='リスクスコア')
        public Decimal riskScore;
        
        @InvocableVariable(label='推奨アクション')
        public String recommendation;
    }
}

実装上の重要ポイントdescriptionパラメータはAtlas Reasoning Engineが「どのアクションを呼ぶか」を判断する際の主要シグナルになります。曖昧な説明では誤判断が増えます。「いつ・何を・どんな入力で呼ぶか」を具体的に書くことが精度向上の鍵です。

Governor Limitへの対応

// 非同期処理が必要な場合はQueueableを使用
public class LargeDataProcessingAction implements Queueable {
    private String agentJobId;
    private List<Id> targetIds;
    
    public LargeDataProcessingAction(String jobId, List<Id> ids) {
        this.agentJobId = jobId;
        this.targetIds = ids;
    }
    
    public void execute(QueueableContext ctx) {
        // 大量データ処理(SOQL 100件制限を回避)
        List<Account> accounts = [
            SELECT Id, Name, AnnualRevenue 
            FROM Account 
            WHERE Id IN :targetIds
            LIMIT 200
        ];
        // 処理完了後にAgentforce Callback URLへ通知
        AgentforceCallbackService.notify(agentJobId, 'COMPLETED', accounts.size() + '件処理完了');
    }
}

Flow Action / Prompt Template活用

Flow Actionで業務フローを呼び出す

既存のSalesforce Flowをそのままエージェントアクションとして登録できます。コードを書かずに複雑なCRM操作を実行させる最も手軽な方法です。

<!-- Flow定義(Screen-Free Auto-launched Flow)のメタデータ例 -->
<Flow xmlns="http://soap.sforce.com/2006/04/metadata">
    <apiVersion>62.0</apiVersion>
    <label>ケース自動クローズフロー</label>
    <processType>AutoLaunchedFlow</processType>
    
    <variables>
        <name>CaseId</name>
        <dataType>String</dataType>
        <isInput>true</isInput>
        <isOutput>false</isOutput>
    </variables>
    
    <variables>
        <name>CloseReason</name>
        <dataType>String</dataType>
        <isInput>true</isInput>
        <isOutput>false</isOutput>
    </variables>
    
    <recordUpdates>
        <name>CloseCase</name>
        <label>ケースをクローズ</label>
        <filterLogic>and</filterLogic>
        <filters>
            <field>Id</field>
            <operator>EqualTo</operator>
            <value><elementReference>CaseId</elementReference></value>
        </filters>
        <inputAssignments>
            <field>Status</field>
            <value><stringValue>Closed</stringValue></value>
        </inputAssignments>
        <inputAssignments>
            <field>Resolution</field>
            <value><elementReference>CloseReason</elementReference></value>
        </inputAssignments>
        <object>Case</object>
    </recordUpdates>
</Flow>

Prompt Templateで回答品質を制御する

Prompt TemplateはAgent BuilderのUIで作成し、LLMへの指示を定型化するためのものです。会話履歴・CRMデータ・Knowledge記事の内容をテンプレートに組み込み、一貫性のある回答を引き出します。

// Prompt Template(SOSL記法)の例
// テンプレートタイプ: Sales Email(セールスメール)

You are a professional customer success manager at {!$Organization.Name}.
Write a follow-up email to {!$Input:Contact.Name} at {!$Input:Contact.Account.Name}.

Context:
- Last interaction: {!$Input:Activity.Description}
- Open opportunities: {!$Input:Opportunity.Name} (Stage: {!$Input:Opportunity.StageName})
- Customer tier: {!$Input:Account.CustomerTier__c}

Guidelines:
- Tone: Professional yet warm
- Length: 3 paragraphs maximum
- Do NOT include pricing without explicit approval
- Reference the specific use case from last interaction
- End with a clear next step CTA

If any required information is missing, ask for it before drafting.
// Apex からPrompt Templateを呼び出す例
ConnectApi.EinsteinPromptTemplateGenerationsInput promptInput = 
    new ConnectApi.EinsteinPromptTemplateGenerationsInput();
promptInput.additionalConfig = new ConnectApi.EinsteinLlmAdditionalConfigInput();
promptInput.additionalConfig.applicationName = 'PromptTemplateGenerationsInvocable';

Map<String, ConnectApi.WrappedValue> inputParams = new Map<String, ConnectApi.WrappedValue>();

ConnectApi.WrappedValue contactVal = new ConnectApi.WrappedValue();
contactVal.value = 'Contact/' + contactId;
inputParams.put('Input:Contact', contactVal);

promptInput.inputParams = inputParams;
promptInput.isPreview = false;

ConnectApi.EinsteinPromptTemplateGenerationsRepresentation response = 
    ConnectApi.EinsteinLLM.generateMessagesForPromptTemplate(
        'SalesFollowupEmailTemplate', promptInput);

String generatedEmail = response.generations[0].text;

Knowledge / Data Cloud接続

Knowledge記事をエージェントの知識ベースにする

AgentforceはSalesforce Knowledgeと標準で統合されています。Knowledge検索アクションを追加するだけで、エージェントがFAQ・手順書・製品仕様書を参照しながら回答を生成します。

// Knowledge検索アクションのAPI設定(JSON)
{
  "actionType": "KnowledgeSearch",
  "developerName": "SearchKnowledgeBase",
  "label": "ナレッジベース検索",
  "description": "製品マニュアル、FAQ、トラブルシューティングガイドを検索します。技術的な質問や使い方の問い合わせに使用してください。",
  "inputs": {
    "searchQuery": {
      "type": "String",
      "required": true,
      "description": "検索クエリ文字列"
    },
    "maxResults": {
      "type": "Integer",
      "default": 3
    },
    "language": {
      "type": "String",
      "default": "ja"
    }
  }
}

Data Cloudとの統合

Data CloudはSalesforce外部のデータ(ECサイト・マーケティングオートメーション・データウェアハウスなど)をSalesforceのCRMデータと統合するCDPです。Agentforceはこのデータを「Zero-Copy」で参照できます。データのレプリケーションなしに、最新のB2C行動データをエージェント推論に使えます。

// Data Cloud DMO(Data Model Object)をApex Actionから参照する例
public class GetCustomerBehaviorData {
    
    @InvocableMethod(
        label='顧客行動データ取得'
        description='Data Cloudから過去90日間の顧客行動データ(購入履歴・閲覧履歴・エンゲージメントスコア)を取得します'
    )
    public static List<BehaviorOutput> getBehavior(List<BehaviorInput> inputs) {
        List<BehaviorOutput> results = new List<BehaviorOutput>();
        
        for (BehaviorInput inp : inputs) {
            // Data Cloud Query API (CDP API) を呼び出す
            String endpoint = 'callout:DataCloudNamedCredential/api/v1/query';
            String query = 
                'SELECT purchaseCount, totalSpend, lastVisitDate, engagementScore ' +
                'FROM CustomerBehaviorDMO ' +
                'WHERE ssot__IndividualId__c = '' + inp.individuaId + '' ' +
                'LIMIT 1';
            
            HttpRequest req = new HttpRequest();
            req.setEndpoint(endpoint);
            req.setMethod('POST');
            req.setHeader('Content-Type', 'application/json');
            req.setBody('{"sql": "' + query + '"}');
            
            HttpResponse res = new Http().send(req);
            Map<String, Object> responseData = 
                (Map<String, Object>) JSON.deserializeUntyped(res.getBody());
            
            BehaviorOutput out = new BehaviorOutput();
            // レスポンスのパース処理
            results.add(out);
        }
        return results;
    }
    
    public class BehaviorInput {
        @InvocableVariable(required=true) public String individuaId;
    }
    
    public class BehaviorOutput {
        @InvocableVariable public Integer purchaseCount;
        @InvocableVariable public Decimal totalSpend;
        @InvocableVariable public Date lastVisitDate;
        @InvocableVariable public Decimal engagementScore;
    }
}

Authentication|OAuth / Named Credentials

外部システムとAgentforceを連携させる際、認証情報をコードにハードコードするのはセキュリティ違反です。SalesforceではNamed Credentials(名前付き認証情報)を使い、認証情報をメタデータとして安全に管理します。

<!-- Named Credential定義(メタデータAPI)-->
<NamedCredential xmlns="http://soap.sforce.com/2006/04/metadata">
    <label>社内ERPシステム</label>
    <name>InternalERP</name>
    <url>https://erp.yourcompany.com/api/v2</url>
    <protocol>OAuth</protocol>
    <oauthTokenEndpointUrl>https://erp.yourcompany.com/oauth/token</oauthTokenEndpointUrl>
    <clientId>{!$Credential.ClientId}</clientId>
    <clientSecret>{!$Credential.ClientSecret}</clientSecret>
    <oauthScopes>read write</oauthScopes>
    <principalType>NamedUser</principalType>
    <allowMergeFieldsInHeader>false</allowMergeFieldsInHeader>
    <allowMergeFieldsInBody>false</allowMergeFieldsInBody>
</NamedCredential>
// Named Credentialを使ったApex外部API呼び出し
HttpRequest req = new HttpRequest();
// callout: 記法でNamed Credentialを参照(ハードコード不要)
req.setEndpoint('callout:InternalERP/orders?accountId=' + accountId);
req.setMethod('GET');
req.setHeader('Accept', 'application/json');

HttpResponse res = new Http().send(req);

if (res.getStatusCode() != 200) {
    throw new AgentforceException(
        'ERP接続エラー: ' + res.getStatusCode() + ' ' + res.getStatus()
    );
}
return (Map<String, Object>) JSON.deserializeUntyped(res.getBody());

Slack連携|Agentforce in Slack

AgentforceはSlack専用UIを通じて、従業員がSlackから直接CRMエージェントと対話できるようになっています。営業担当者がSlackのDMでエージェントに商談情報を確認したり、サービス担当者がSlackチャンネルでケース対応の支援を受けたりする使い方が一般的です。

// Slack連携のWebhook設定(Agentforce Agent Configuration)
{
  "agentChannels": [
    {
      "channelType": "Slack",
      "isEnabled": true,
      "botName": "Sales Assistant",
      "welcomeMessage": "こんにちは!商談・顧客情報の確認、提案書の下書きなど、お気軽にご相談ください。",
      "errorMessage": "申し訳ありません。処理中にエラーが発生しました。システム管理者にお問い合わせください。",
      "topics": ["SalesAssist", "AccountInsights", "OpportunityUpdater"]
    }
  ]
}

Slack側の設定では、Salesforce Connected AppにSlack APIのスコープ(chat:writecommandsim:historyなど)を付与し、Slack App ManifestのRedirect URLにSalesforceのOAuthコールバックURLを設定します。

サービス向けAgentforce / セールス向けAgentforce

Service Agent(サービスエージェント)

カスタマーサービス部門向けの標準エージェントです。ケースの一次対応・Knowledge参照・感情分析・エスカレーション判断を自動化します。

機能内容
ケース自動分類問い合わせ内容からカテゴリ・優先度を自動設定
Knowledge一次回答FAQから関連記事を引用して即時回答
感情スコアリング会話のトーンを分析し、不満が高いケースを優先エスカレーション
CSAT予測解決後の顧客満足スコアを事前予測
マルチチャネル対応Web・メール・Slack・電話(Voiceチャネル)を統合

Sales Agent(セールスエージェント)

営業部門向けのエージェントです。商談の次アクション推奨・メール下書き・競合情報の整理などを担当します。

// Sales Agent: 商談要約とネクストステップ提案のPrompt Template
You are an expert sales coach analyzing an opportunity in Salesforce.

Opportunity: {!$Input:Opportunity.Name}
Stage: {!$Input:Opportunity.StageName}  
Amount: {!$Input:Opportunity.Amount}
Close Date: {!$Input:Opportunity.CloseDate}
Last Activity: {!$Input:Activity.Description}
Competitor: {!$Input:Opportunity.CompetitorName__c}

Tasks:
1. Summarize the current status in 2 sentences
2. Identify the top 3 risks to closing
3. Suggest 2 specific next actions for this week
4. Draft a 50-word follow-up message to the prospect

Output in JSON format:
{
  "summary": "...",
  "risks": ["...", "...", "..."],
  "nextActions": ["...", "..."],
  "followUpDraft": "..."
}

不足している情報があれば、最初に確認してから分析を開始してください。

4社比較|Microsoft Copilot Studio / Google Vertex AI / AWS AgentCore

エンタープライズAIエージェントプラットフォームとして、現在4社が主要プレイヤーです。選択は「今どのクラウド・SaaSを使っているか」で8割決まりますが、それ以外の要素も整理します。

比較項目Salesforce AgentforceMicrosoft Copilot StudioGoogle Vertex AI Agent BuilderAWS Bedrock AgentCore
最適な企業Salesforce CRM利用企業Microsoft 365 / Teams中心の企業GCP利用・データ処理重視の企業AWS利用・マルチモデル柔軟性重視
主な強みCRMデータとの深い統合。Zero-Copy Data Cloud接続。Apex/Flow既存資産活用M365との一体化。Dataverse/SAP/Salesforce連携のReasoning Bridges(ノーコード)マネージドランタイム。RAGパイプライン深化。Geminiマルチモデル対応Bedrock Model Catalogの幅。AWS-nativeアーキテクチャとの親和性
課金モデル$0.10/アクション(Flex Credits)or $2/会話$0.01/メッセージ(従量)+ M365 E3/E5ライセンスモデル別トークン料金 + Agent Session料金モデル別 + Tool Invocation課金
カスタム開発Apex / Flow / SOQL(Salesforce開発者必要)Power Automate / Azure Functions(ローコード〜コード)Python SDK / Terraform / GenKit(コード中心)Python/Java SDK / AWS Lambda(コード中心)
日本語対応◎(Salesforce標準の日本語UIあり)◎(M365日本語環境と統合)○(Gemini日本語対応。UIは英語中心)○(モデル依存。Novaシリーズは日本語対応)
ガバナンスEinstein Trust Layer(PII自動マスキング・監査ログ)Purview統合・CopilotコンテンツフィルターVertex AI Safety Filters・Cloud Audit LogsGuardrails for Bedrock・AWS CloudTrail
セットアップ難易度★★★☆☆(Salesforce管理者なら設定可能)★★☆☆☆(Power Platform経験者向け)★★★★☆(GCPとPythonの知識が必要)★★★★☆(AWS構築経験が必要)
既存記事本記事Copilot Studio完全ガイドVertex AI Agent Builder完全ガイドAWS Bedrock AgentCore完全ガイド

選定の鉄則:「AIエージェントを使いたい」という動機だけで新規プラットフォームに乗り換えるのはコストが大きいです。Salesforceユーザーなら迷わずAgentforceを試してください。既存のカスタマイズ・インテグレーション・ユーザートレーニング資産がそのまま活きます。

【要注意】失敗パターン4選

失敗1:Topicの粒度が粗すぎる

❌ 「すべての顧客問い合わせ」を1つのTopicにまとめる

⭕ 「請求書問い合わせ」「技術サポート」「返品・返金」「契約変更」を別Topicに分割する

なぜ重要か:Atlas Reasoning Engineは、TopicのScope定義に基づいてアクションを選択します。1つのTopicにアクションが20個以上あると推論精度が低下し、誤ったアクションが呼ばれるケースが増えます。1Topic:5〜10アクションを目安にしてください。

失敗2:InvocableMethod のdescriptionが曖昧

description='顧客情報を取得する'

description='取引先IDに基づいて、過去12ヶ月の購入履歴・未払い請求書・担当営業を取得します。アカウントに関する包括的な情報確認が必要なときに使用してください。'

実際に企業支援をしていると、Agentforceのアクション呼び出し精度で悩むケースの8割がこのdescription不足です。「いつ・何を・なぜ呼ぶか」を英語か日本語で詳細に書くだけで精度が劇的に改善します。

失敗3:Einstein Trust Layerの挙動を理解せずにデプロイ

❌ 個人情報(氏名・メールアドレス・口座番号)をPrompt Templateにそのまま埋め込む

⭕ Einstein Trust Layerの動的データマスキングを理解した上で、どのフィールドがマスクされるかを事前検証する

Einstein Trust Layerは自動的にPIIとみなしたデータをマスクしてLLMに送信します。このマスキングが意図しないタイミングで動作すると、エージェントが「顧客の名前が不明」と誤った回答をすることがあります。Trust Layer Settingsでマスキングルールを明示的に設定してください。

失敗4:Flex CreditsとConversationを混在させようとする

❌ 1つのSalesforce組織でFlex CreitsとConversation両方のプランを契約する

⭕ 組織単位でどちらか一方に決定し、ユースケースに合わせた課金モデルを選ぶ

Salesforceの公式仕様として、Flex CreditsとConversation課金は同一組織での混在が不可です。既存の内部向けエージェント(Flex Credits向き)と外部向けカスタマーサービスエージェント(Conversation向き)を別組織に分けるアーキテクチャが必要になるケースがあります。設計初期に課金モデルを決定することが重要です。

まとめ:今日から始める3つのアクション

  1. 今日やること:Salesforce Foundationsの無料Flex Credits(20万クレジット)でAgent Builderを開き、デフォルトのサービスエージェントを1つ起動してみる。UIを触るだけでもAtlasの推論挙動が体感できます。
  2. 今週中:既存のApex Classで最も呼び出し頻度が高いメソッドを1つ選び、@InvocableMethodを付与してAgent Builderのアクションとして登録する。description欄に「いつ・何を・なぜ」を詳細に記述する練習をすること。
  3. 今月中:1つのTopicを本番稼働させ、Agentforce内蔵の会話ログ分析で「どのアクションが最も呼ばれているか」「エスカレーション率」を測定する。数字ベースで次のTopicを設計する。

あわせて読みたい

参考・出典


著者:佐藤傑(さとう・すぐる)
株式会社Uravation代表取締役。早稲田大学法学部在学中に生成AIの可能性に魅了され、X(@SuguruKun_ai)で活用法を発信(フォロワー約10万人)。100社以上の企業向けAI研修・導入支援を展開。著書『AIエージェント仕事術』(SBクリエイティブ)。SoftBank IT連載7回執筆(NewsPicks最大1,125ピックス)。
ご質問・ご相談は お問い合わせフォーム からお気軽にどうぞ。

佐藤傑
この記事を書いた人 佐藤傑

株式会社Uravation代表取締役。早稲田大学法学部在学中に生成AIの可能性に魅了され、X(旧Twitter)で活用法を発信(@SuguruKun_ai、フォロワー10万人超)。100社以上の企業向けAI研修・導入支援を展開。著書累計3万部突破。SoftBank IT連載7回執筆(NewsPicks最大1,125ピックス)。

この記事をシェア

📧 週1回、AIツール最新情報をお届け

Claude Code・Codex・Cursorなど最新AI実務情報を、月8-12本の厳選記事から要約してメール配信。すでに3,000人以上のAI担当者が購読中です。

※ いつでも登録解除できます。配信頻度は週1〜2回程度。

AIエージェントを企業に安全に導入したい方へ

Claude Code・OpenClaw・Codex等のAIエージェントを、ガバナンス設計込みで導入支援。権限制御・監査ログ・停止条件まで含めた「ハーネス設計」で運用リスクをゼロに。

✓ 1対1のマンツーマン ✓ 全12回・3ヶ月 ✓ 実務ベースの指導
AIエージェント導入支援を見る まずは無料相談

contact お問い合わせ

生成AI研修や開発のご依頼、お見積りなど、
お気軽にご相談ください。

Claude Code 個別指導(1対1・12セッション)をご希望の方はこちらから別途お申し込みください

Claude Code 個別指導 無料相談