mcpField
A
agentforce-2025

agentforce-2025

github.com/josiahsiegelエージェントワークフロー59152 回インストール19 週間前に更新
リポジトリ

agentforce-2025 について

Salesforce Agentforce のエージェントプラットフォーム、設計要素、用途、連携方法、運用上の指針をまとめたリファレンススキルです。カスタマーサービス、営業、コマース、社内業務向けのエージェントを構築・設定するチームを対象とします。

主な機能

  1. 01Atlas Reasoning Engine の概要
  2. 02エージェントの種類とタスク例
  3. 03Builder ワークフローの参照情報
  4. 04Platform Events との連携
  5. 05外部 AI プロバイダーの例
  6. 06監視とセキュリティの指針

活用シーン

  1. 01カスタマーサービスエージェントの設計
  2. 02営業リードの適格性評価の自動化
  3. 03プラットフォームイベントによるアクション起動
  4. 04エージェントの成果とコンプライアンスの追跡

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/josiahsiegel/claude-plugin-marketplace --skill agentforce-2025

インストール後、Claude Code で/agentforce-2025を入力して読み込まれたか確認します。

同梱ファイルreferences/agentforce-builder.md

詳細

🚨 重要なガイドライン

Windows のファイルパス要件

必須:Windows ではファイルパスに必ずバックスラッシュを使用してください

Windows で Edit または Write ツールを使用する場合、ファイルパスにはスラッシュ(/)ではなく、必ずバックスラッシュ(\)を使用してください。

例:

  • ❌ 正しくありません:D:/repos/project/file.tsx
  • ✅ 正しい例:D:\repos\project\file.tsx

これは次の項目に適用されます。

  • Edit ツールの file_path パラメーター
  • Write ツールの file_path パラメーター
  • Windows システム上のすべてのファイル操作
ドキュメント作成ガイドライン

ユーザーから明示的に依頼されない限り、新しいドキュメントファイルを作成しないでください。

  • 優先事項:新しいドキュメントを作成するのではなく、既存の README.md ファイルを更新してください。
  • リポジトリの整理:ユーザーから別途依頼されない限り、リポジトリのルートには README.md だけを置いてください。
  • スタイル:ドキュメントは簡潔で直接的、かつプロフェッショナルなものにしてください。AI 生成らしい文体は避けてください。
  • ユーザーの希望:ユーザーからドキュメント作成を明示的に依頼された場合に限り、追加の .md ファイルを作成してください。

Agentforce:Salesforce 向け AI エージェント(2025)

Agentforce とは?

Agentforce は、従業員や顧客向けに特化したタスクを自律的に実行する、能動的なアプリケーションを実現する Salesforce のエンタープライズ向け AI エージェントプラットフォームです。Agentforce のエージェントは、Atlas Reasoning Engine と大規模言語モデル(LLM)を使用してコンテキストを分析し、意思決定を推論し、自律的に行動します。

主な違い:Agentforce は、Einstein Copilot(会話型アシスタント)から、人間の指示なしでタスクを完了できる自律型エージェントへの進化を表しています。

コアアーキテクチャ

Atlas Reasoning Engine

Atlas Reasoning Engine は Agentforce の中核であり、エージェントは次のことができます。

  • 理解:顧客とのやり取りや自動化されたトリガーのコンテキスト全体を分析します。
  • 決定:LLM とビジネスロジックを使用して、意思決定を推論します。
  • 実行:あらゆるシステムで自律的にアクションを実行します。
  • 学習:成果とフィードバックに基づいて、時間とともに改善します。
エージェントの構成要素
┌─────────────────────────────────────────────────┐
│              Agentforce Agent                   │
├─────────────────────────────────────────────────┤
│  1. Topics (what agent handles)                 │
│  2. Actions (what agent can do)                 │
│  3. Instructions (how agent behaves)            │
│  4. Channel Integrations (where agent works)    │
│  5. Data Sources (what agent knows)             │
└─────────────────────────────────────────────────┘

Agentforce 2.0(2024年12月 GA)

Agentforce 2.0 は、AI エージェントを通じて無限の労働力を実現する、エンタープライズ向けのデジタル労働プラットフォームです。主な強化点は次のとおりです。

  • 事前構築済みスキルライブラリ:すぐに使える機能により、エージェントを迅速にカスタマイズできます。
  • ワークフロー連携:MuleSoft for Flow、MuleSoft API Catalog、Topic Center(2025年第1四半期)
  • Slack へのデプロイ:コラボレーションエージェント向けのネイティブな Slack 連携
  • 強化された RAG:より正確な応答を実現する、改良された検索拡張生成
  • 高度な推論:Atlas Reasoning Engine の機能をさらに高度化
  • 価格:会話あたり 2 ドル(2024年10月25日 GA)

Agentforce Builder のワークフロー

エージェントの作成、トピック、指示、アクション、グラウンディング、テスト、公開、Data Cloud との連携、信頼性/ガードレール、デプロイの仕組みに関する Agentforce Builder の詳細なワークフローは、references/agentforce-builder.md に記載されています。アーキテクチャを選ぶだけでなく、エージェントを構築または設定する際には、このリファレンスを読み込んでください。

エージェントの種類とユースケース

1. サービスエージェント(カスタマーサポート)

機能:

  • ナレッジベースからよくある質問に回答
  • 注文やアカウントの状況を取得
  • 返品や交換を処理
  • パスワードのリセットやアカウントのロック解除
  • ケースを作成し、専門担当者に振り分け
  • トラブルシューティングの手順を案内

フローの例:

Customer: "Where is my order #12345?"
↓
Agent: Validates order number
↓
Agent: Queries Order object
↓
Agent: Retrieves tracking information
↓
Agent: "Your order #12345 shipped yesterday and will arrive Thursday.
       Tracking: UPS 1Z999AA10123456784. Need anything else?"
2. セールス開発エージェント(SDR)

機能:

  • インバウンドリードを評価
  • 製品に関する質問に回答
  • セールスプレイブックを使って反論に対応
  • 営業担当者とのミーティングを予約
  • フォローアップメールを送信
  • エンゲージメントに基づいてリードスコアを更新

フローの例:

Lead: "Tell me about your enterprise plan"
↓
Agent: Retrieves product information
↓
Agent: Explains features, pricing
↓
Agent: Detects buying intent
↓
Agent: "Would you like to schedule a demo with our sales team?"
↓
Agent: Creates meeting, updates lead status to "Meeting Scheduled"
3. パーソナルショッパーエージェント(Eコマース)

機能:

  • 好みに基づいて製品を推奨
  • 製品に関する質問に回答
  • 在庫と入手可能性を確認
  • 注文と支払いを処理
  • 割引やプロモーションを適用
  • カート放棄に対応
4. オペレーションエージェント(社内自動化)

機能:

  • 従業員からの申請(休暇、備品)を処理します
  • ルールに基づいて承認を自動化します
  • 新入社員のオンボーディングを行います
  • レポートとインサイトを生成します
  • システムの健全性を監視します
  • イベントに基づいてワークフローを開始します

Agentforce とプラットフォームイベントの統合

イベントを公開して Agentforce のアクションを開始します:

// Publish event when order status changes
public class OrderEventPublisher {
    public static void publishOrderUpdate(Id orderId, String newStatus) {
        OrderStatusChangeEvent__e event = new OrderStatusChangeEvent__e(
            OrderId__c = orderId,
            NewStatus__c = newStatus,
            Timestamp__c = System.now()
        );

        EventBus.publish(event);

        // Agentforce subscribes to this event
        // Triggers proactive customer notification
    }
}

// Trigger
trigger OrderTrigger on Order (after update) {
    for (Order ord : Trigger.new) {
        if (ord.Status != Trigger.oldMap.get(ord.Id).Status) {
            OrderEventPublisher.publishOrderUpdate(ord.Id, ord.Status);
        }
    }
}

Agentforce フロー(OrderStatusChangeEvent__e をサブスクライブ):

1. Receive event
2. Query order and customer details
3. Determine notification channel (email, SMS, push)
4. Generate personalized message using LLM
5. Send notification via preferred channel
6. Log interaction in Customer timeline

Agentforce と外部 AI システム

Agentforce を外部 AI プロバイダーと統合します:

OpenAI GPT の統合
public class AgentOpenAIIntegration {
    @InvocableMethod(label='Generate Response with GPT-4')
    public static List<String> generateResponse(List<AIRequest> requests) {
        List<String> responses = new List<String>();

        for (AIRequest req : requests) {
            HttpRequest httpReq = new HttpRequest();
            httpReq.setEndpoint('callout:OpenAI/v1/chat/completions');
            httpReq.setMethod('POST');
            httpReq.setHeader('Content-Type', 'application/json');

            Map<String, Object> payload = new Map<String, Object>{
                'model' => 'gpt-4',
                'messages' => new List<Object>{
                    new Map<String, String>{
                        'role' => 'system',
                        'content' => req.systemPrompt
                    },
                    new Map<String, String>{
                        'role' => 'user',
                        'content' => req.userMessage
                    }
                },
                'temperature' => 0.7,
                'max_tokens' => 500
            };

            httpReq.setBody(JSON.serialize(payload));

            Http http = new Http();
            HttpResponse httpRes = http.send(httpReq);

            if (httpRes.getStatusCode() == 200) {
                Map<String, Object> result = (Map<String, Object>)JSON.deserializeUntyped(httpRes.getBody());
                List<Object> choices = (List<Object>)result.get('choices');
                Map<String, Object> choice = (Map<String, Object>)choices[0];
                Map<String, Object> message = (Map<String, Object>)choice.get('message');
                responses.add((String)message.get('content'));
            }
        }

        return responses;
    }

    public class AIRequest {
        @InvocableVariable(required=true)
        public String systemPrompt;
        @InvocableVariable(required=true)
        public String userMessage;
    }
}
Anthropic Claude の統合
public class AgentClaudeIntegration {
    @InvocableMethod(label='Generate Response with Claude')
    public static List<String> generateResponse(List<AIRequest> requests) {
        List<String> responses = new List<String>();

        for (AIRequest req : requests) {
            HttpRequest httpReq = new HttpRequest();
            httpReq.setEndpoint('callout:Anthropic/v1/messages');
            httpReq.setMethod('POST');
            httpReq.setHeader('Content-Type', 'application/json');
            httpReq.setHeader('anthropic-version', '2023-06-01');

            Map<String, Object> payload = new Map<String, Object>{
                'model' => 'claude-3-5-sonnet-20241022',
                'max_tokens' => 1024,
                'system' => req.systemPrompt,
                'messages' => new List<Object>{
                    new Map<String, String>{
                        'role' => 'user',
                        'content' => req.userMessage
                    }
                }
            };

            httpReq.setBody(JSON.serialize(payload));

            Http http = new Http();
            HttpResponse httpRes = http.send(httpReq);

            if (httpRes.getStatusCode() == 200) {
                Map<String, Object> result = (Map<String, Object>)JSON.deserializeUntyped(httpRes.getBody());
                List<Object> content = (List<Object>)result.get('content');
                Map<String, Object> contentBlock = (Map<String, Object>)content[0];
                responses.add((String)contentBlock.get('text'));
            }
        }

        return responses;
    }
}

監視と分析

エージェントのパフォーマンス指標

エージェントの有効性を追跡します:

  • 解決率:エスカレーションなしで解決されたやり取りの割合
  • 平均対応時間:顧客からのリクエストの解決にかかる時間
  • 顧客満足度:やり取り後のアンケートスコア
  • 対応完了率:人間ではなくエージェントが処理したやり取りの割合
  • アクション成功率:成功したアクション実行の割合

カスタムレポートオブジェクト:

public class AgentInteractionLogger {
    public static void logInteraction(String agentName, String topic,
                                     Boolean resolved, Decimal duration) {
        AgentInteraction__c interaction = new AgentInteraction__c(
            AgentName__c = agentName,
            Topic__c = topic,
            Resolved__c = resolved,
            Duration__c = duration,
            Timestamp__c = System.now()
        );
        insert interaction;
    }
}
分析ダッシュボードのクエリ
-- Resolution rate by agent
SELECT AgentName__c,
       COUNT(Id) as TotalInteractions,
       SUM(CASE WHEN Resolved__c = true THEN 1 ELSE 0 END) as Resolved,
       AVG(Duration__c) as AvgDuration
FROM AgentInteraction__c
WHERE CreatedDate = LAST_N_DAYS:30
GROUP BY AgentName__c

-- Top topics requiring human escalation
SELECT Topic__c,
       COUNT(Id) as Escalations
FROM AgentInteraction__c
WHERE Resolved__c = false
  AND CreatedDate = LAST_N_DAYS:30
GROUP BY Topic__c
ORDER BY COUNT(Id) DESC
LIMIT 10

ベストプラクティス

セキュリティとコンプライアンス
  • 項目レベルのセキュリティ:SOQL では常に WITH SECURITY_ENFORCED を使用します
  • データアクセス:with sharing キーワードを使用して共有ルールを遵守します
  • 個人情報の保護:機密データ(SSN、クレジットカード、パスワード)は決してログに記録しません
  • 監査証跡:コンプライアンスのためにエージェントのすべてのアクションを記録します
  • 人間による監督:影響の大きいアクションには承認を必須とします
パフォーマンスの最適化
  • バッチ処理:類似するアクションをまとめて API 呼び出しを減らします
  • キャッシュ:頻繁にアクセスされるデータ(製品カタログ、FAQ)をキャッシュします
  • 非同期実行:重要度の低いアクションには @future または Queueable を使用します
  • レート制限:外部 API 呼び出しにスロットリングを実装します
  • タイムアウト処理:適切なタイムアウトと再試行ロジックを設定します
ユーザーエクスペリエンス
  • 応答時間:3 秒未満の応答を目指します
  • パーソナライズ:顧客データを使用してパーソナライズされた応答を提供します
  • 透明性:エージェントとのやり取りか人間とのやり取りかを明確にします
  • エスカレーション:必要に応じて人間のエージェントへ簡単に引き継げるようにします
  • フィードバックループ:エージェントを改善するためにユーザーのフィードバックを収集します
テスト
  • ユニットテスト:個々のアクションを単独でテストします
  • 統合テスト:エージェントのフローをエンドツーエンドでテストします
  • 負荷テスト:高負荷をシミュレートしてスケーラビリティをテストします
  • ユーザー受け入れテスト:サンドボックスで実際のユーザーによる検証を行います
  • A/B テスト:異なるエージェント設定を比較します

Agentforce の価格とライセンス(2025 年)

  • Agentforce Service Agent:会話 1 件あたり $2(2024 年 10 月に GA)
  • Agentforce Sales Development Agent:会話 1 件あたり $2
  • カスタムエージェント:Einstein 1 Edition またはアドオンで利用可能
  • エージェント実行:年間 600 回のオーケストレーション実行が無料(Enterprise 以上)
  • 従量課金モデル:会話数に基づく従量課金
  • ビジョン:2025 年末までに Agentforce で 10 億のエージェントを実現

Spring '25 および Summer '25 のアップデート

Spring '25(API 63.0)- 2025 年第 2 四半期に提供
  • 強化された Service Agent:新しいエージェントアクション 4 件と新しいトピック 1 件
  • Salesforce LLM Open Connector:任意の LLM(OpenAI、Claude、カスタムモデル)に接続
  • 会話コンテキストのテスト:正確なテストのために言語、アプリ、ページタイプを指定
  • Einstein Decision Element:メールエンゲージメント指標に基づいてフローパスを自動化
  • Einstein を活用したフロー作成:Flow Builder に新しい Einstein Panel を追加
Summer '25(API 64.0)- 2025 年第 3 四半期に提供
  • ハイブリッド検索:セマンティック検索とキーワード検索を組み合わせて精度を向上
  • 多言語セマンティック検索:言語をまたいだケースの類似性(例:フランス語 → 英語)
  • レポート数式の生成:平易な言葉による説明から複雑な数式を作成
  • AI 駆動のアカウント要約:サービスエージェント向けのインサイトを自動生成

リソース

Einstein Copilot からの移行

重要:Einstein Copilot は 2025 年 1 月に廃止され、「Agentforce (Default)」に名称変更されました。現在は Agentforce エージェントの 1 つです。

Einstein Copilot(現在の Agentforce Assistant)を利用している場合の移行手順:

Einstein Copilot → Agentforce (Default)
- Automatically migrated in January 2025
- Conversational UI remains the same
- Add autonomous triggers and workflows
- Convert Copilot Actions to Agent Actions
- Add proactive agent behaviors
- Enable multi-channel deployment (including Slack in 2.0)

アクション移行の例:

// Einstein Copilot Action (reactive)
@InvocableMethod(label='Copilot: Get Account Info')
public static List<Account> getAccountInfo(List<Id> accountIds) {
    return [SELECT Id, Name, Industry FROM Account WHERE Id IN :accountIds];
}

// Agentforce Action (proactive + reactive)
@InvocableMethod(label='Agent: Monitor and Alert on Account Changes')
public static void monitorAccounts(List<Id> accountIds) {
    // Not only retrieve data, but also:
    // 1. Monitor for changes
    // 2. Detect anomalies (sudden revenue drop)
    // 3. Proactively alert account manager
    // 4. Suggest next best actions
}

Agentforce は、会話型アシスタントから、人間の介入なしに複雑な複数ステップのタスクを完了しながら、信頼性とセキュリティを維持できる自律型エージェントへのパラダイムシフトを実現します。

コメント