SalesforceのAgentforceをはじめとするAIエージェントの進化は目覚ましいものがあります。しかし、単一のプロンプトや単純なフローだけで「実用的な業務プロセス」を完結させることは、現実のエンタープライズ環境では非常に困難です。
私は現在、「Generic Agent Orchestration Framework(汎用エージェントオーケストレーション基盤)」を構築しています。なぜこの基盤が必要なのか、具体的なユースケースとアーキテクチャを交えて解説します。
1. 「単発のAI」から「一連の業務プロセス」への転換
AIエージェントを業務に組み込む際、最大の課題は「ステート(状態)管理」と「複雑な依存関係の制御」です。
例えば、「名刺スキャン」という業務一つをとっても、単に画像をテキスト化するだけでは終わりません。実際のビジネスフローは、以下のように複数のステップが絡み合います。
- AI処理: 画像を解析しテキストを抽出する
- Web検索: 企業情報を補完しプロファイルを構築する
- DB照合: Salesforce内の既存顧客との重複チェックを行う
- 人間による判断: 登録方法(Lead作成か既存更新か)をユーザーが選択する
- データ更新: 最終的なレコード保存と監査ログの記録
これらを個別のスクリプトでつなぎ合わせるのではなく、一貫した状態管理下で制御する仕組みが必要になります。
2. なぜこの基盤が必要なのか? 3つの技術的必然性
① メタデータ駆動による「脱ハードコード」
ビジネスロジックが変わるたびにApexコードを修正するのは拡張性がありません。本フレームワークでは、以下のカスタムメタデータを使用してワークフローを設定として管理します。
- OrchestrationDefinition__mdt: ワークフロー全体のタイムアウトやログ設定を定義
- StageDefinition__mdt: 各ステップの順序、実行条件、入力・出力マッピングを定義
- AgentDefinition__mdt: 使用するAIモデルやApexクラス、アクションタイプを定義
これにより、コード変更なしで新しいフローを追加・変更できる柔軟性を実現します。
② 多様な実行モデル(同期・非同期)の統合
AIの処理時間は予測困難であり、外部連携も絡むため、単純な同期処理ではガバナ制限(タイムアウト)に抵触します。この基盤は、以下の実行モードをシームレスに使い分けます。
- Queueable: 複雑なチェーン処理やデータ操作に最適
- Future: シンプルな外部コールアウト処理に利用
- Batch: 大量データの一括分析や処理に対応
- Scheduled Batch: 定期的なレポート生成やチェック処理を実行
- Platform Event: イベント駆動によるスケーラブルな統合を実現
③ 完全な可視性と監査(Auditability)
「AIがなぜその判断をしたのか」を追跡することは、エンタープライズ導入において必須要件です。本フレームワークは、実行ログ、エラーログ、パフォーマンスメトリクスを完全に記録し、リトライやリカバリーを可能にする状態管理システムを備えています。
3. 実践例:名刺スキャンエージェントの動き
このフレームワーク上で動作する具体的なアプリケーションとして、「名刺スキャンエージェント」の設計を紹介します。ここでは、画像解析とWeb検索という異なる特性を持つAIを連携させています。
名刺スキャンエージェント:主要ステップ
- 名刺画像解析: Agentforce Multimodalを使用して画像からテキストを抽出
- 企業情報検索: Web Search機能で不足している企業情報を補完
- 存在チェック: Salesforce内のレコードと照合し、重複を判定
- ユーザー選択: ユーザーが最適な登録アクションを選択
- データサニタイズと登録: 個人情報を保護しつつ、適切なオブジェクトにレコードを作成
4. 結論:AIを「使えるシステム」にするために
Agentforceは強力なエンジンですが、それを企業の複雑な業務プロセスという道路で走らせるためには、しっかりとしたシャーシ(車台)が必要です。
私が構築している「Generic Agent Orchestration Framework」は、まさにそのシャーシの役割を果たします。メタデータによる柔軟性、堅牢な非同期処理、そして完全な監査ログ。これらが揃って初めて、AIエージェントは実験室を出て、ビジネスの中核を担うことができるのです。
