デプロイメントを計画する
次の基本ステップを使用して、このアーキテクチャをデプロイします。
- アーキテクチャのビルディング・ブロックをOracle Cloud Infrastructureサービスにマッピングします
- エージェント・オーケストレーションに重点を置いて初期実装を計画します。
- エージェントの追加と高度なLLM推論の統合による初期実装の強化
OCIサービスのマップ
Oracle Cloud Infrastructure (OCI)は、クラウドネイティブでスケーラブルな方法でこのシステムを実装するために必要なすべてのビルディング・ブロックを提供します。
各コンポーネントを次のようにOCIサービスにマップします。
- オーケストレータの実装
MCPオーケストレータは、Oracle Linux仮想マシン(VM)上のOCIコンピュート・インスタンスで実行することも、OCI Kubernetesエンジン上のコンテナとして実行することもできます。オーケストレータは、エージェント・リクエストをリスニングし、ツールにルーティングするGenAIツールボックスベースのサーバーをホストします。OCIのスケーラビリティにより、オーケストレータは複数の同時不正調査を処理できます。オプションで、OCI APIゲートウェイを使用してオーケストレータのセキュアなRESTエンドポイントを公開し、外部システムまたはデモ・クライアントがワークフローを開始できるようにします。
オーケストレータは、UIとインタフェースするすべてのエージェントをホストし、ツールへのルーティングも提供します。ストリーミング可能なHTTPプロトコルを使用してツールが公開されるOracle Cloud Infrastructure Data ScienceでMCPサーバーをホストすることもできます。
- サーバーレス機能としてのエージェント
各エージェントのロジックは、OCI関数(サーバーレス・マイクロサービス)として、または軽量コンテナとしてデプロイできます。たとえば、データ取得エージェントは、パラメータ(ID、問合せタイプ)を受け入れ、Autonomous DatabaseからJSONデータを返すOCI関数です。不正アナライザは、データを取得してスコアとメッセージを返す別の関数である可能性があります。エージェントにOCI Functionsを使用すると、デプロイメントが簡素化され、多数の不正分析が並行して実行される場合に自動的にスケールアウトする弾力性が提供されます。MCPオーケストレータは、OCI APIゲートウェイを使用するか、内部コールを使用して、これらの関数のRESTエンドポイントをコールします。フェーズ1では、オーケストレータ自体がデータベース問合せツールを実行できるように、オーケストレータ・プロセス内のツール(GenAIツールボックスと同様に)を実行することで、ツールの実行が簡略化されます。ただし、エージェントを独立したOCI関数として設計すると、モジュラリティが実現し、トリガーされた各関数を順番に表示することでデモンストレーションに役立ちます。
- データの格納と処理
Oracle Autonomous Transaction Processing(ATP)は、トランザクション・ログ、アカウント・データ、ポリシー情報、過去の不正事例など、関連するすべての財務データのセキュアなリポジトリです。Autonomous Databaseは、組み込みの自動スケーリング、暗号化、および構造化クエリ言語(SQL)分析機能を提供します。これらはすべて、実際の金融サービスのワークロードに不可欠です。データ・エージェントは、SQLおよびOracleクライアントまたはRESTデータ・アプリケーション・プログラミング・インタフェース(API)を使用してデータベースからデータを取得します。不正モデルがデータベース内でトレーニングされている場合、Oracle Machine Learningなどのツールを活用して高度なスコアリングを行うこともできます。ストリーミング・トランザクション・データの場合は、OCIストリーミングまたはOracle GoldenGateを使用して、システムにデータをフィードできます。デモンストレーション・シナリオでは、単純な直接問合せで十分です。
- AIと機械学習サービス
不正検出ロジックを実装するために、OCIには複数のオプションが用意されています。フェーズ1では、ルールまたは異常検出が直接コーディングされます。フェーズ2では、Oracle AIサービスを実装します。
- OCI Generative AIは、不正アナライザ・エージェントのナラティブ生成と推論のための大規模言語モデルへのアクセスを提供します。OCI Generative AIは、アプリケーションに簡単に統合できる事前トレーニング済みLLMを提供するフルマネージド・サービスです。不正アナライザは、そのソフトウェア開発キット(SDK)およびAPIを使用して、トランザクション・データを含むプロンプトとともにこのサービスをコールし、応答として不正説明テキストを受信できます。
- OCI Anomaly Detectionは、潜在的な不正を示す高スコアで、リアルタイムで異常のトランザクションを評価します。最初に過去のトランザクション・データに関するトレーニングを受け、不正アナライザ・エージェントは単に異常検出APIを起動して、特定のトランザクションの異常スコアを取得します。同様に、OCIは、データ・サイエンスとOracle Machine Learningを提供して、グラデーション強化や不正のグラフ・アルゴリズムなどのカスタム不正モデルをトレーニングします。不正用のXGBoostモデルなどのモデルをエンドポイントとしてデプロイするには、データ・サイエンス・モデル・デプロイメントを使用して、エージェントがモデルを起動できるようにします。デモンストレーションを簡略化するために、複雑なモデルをバイパスし、小さいルール・セットまたは合成スコアリング関数を直接使用できます。このアーキテクチャは、後でオーケストレーションを変更することなく、高度な機械学習モデルでのスワッピングをサポートします。
- Oracle Cloud Infrastructure Languageは、非構造化ノートや通信を不正の場合にも分析する必要がある場合にテキスト分析を提供します。ただし、当社の主なユースケースでは、構造化データとLLMが必要な機能を提供します。
- ネットワーキングと統合
仮想クラウド・ネットワーク(VCN)構成およびOCIサービス・ゲートウェイにより、OCI FunctionsおよびOCI Computeインスタンスを使用するオーケストレータおよびエージェントは、パブリック・インターネットを介してデータを公開することなく、データベースおよびAIサービスと安全に通信できます。OCI Identity and Access Management (IAM)は、オーケストレータとエージェントのみが互いのAPIを起動し、データベースにアクセスできるようにアクセスを制御します。これは、特に財務状況において、セキュリティを維持するために重要です。デモンストレーションの目的で、OCIロギングを使用してエージェント機能の実行を追跡し、OCI Application Performance Monitoringトレースを使用してエンドツーエンドのフロー・レイテンシを表示することで、モニタリングを設定することもできます。
- クライアントインタフェース
ユーザーは、単純なWebまたはモバイル・フロント・エンドを使用してOCI APIゲートウェイをコールして分析をトリガーするか、Oracle Digital Assistant (チャットボット)インタフェースを使用して、よりインタラクティブなデモンストレーションを行うことでシステムと対話します。たとえば、アナリストは「Investigate transaction #123」などのチャットボット・プロンプトを提供することで不正アナライザ・エージェントとやり取りでき、システムは分析に応答します。Oracle Digital Assistantは、会話型のフロントエンドを紹介するオプションの追加にすることができますが、コア・ユース・ケースでは、単にダッシュボードに結果を表示したり、OCI通知を使用して電子メール・アラートを送信したりする場合があります。
フェーズ1: MCPを使用したオーケストレーションの実装
初期実装では、複雑なAIロジックを追加する前に、システムが複数のエージェントを編成し、Oracleシステムと統合できるようにすることが目標です。
この目標を達成するために、この計画はエージェント・オーケストレーションの仕組みを強調し、モデル・コンテキスト・プロトコル(MCP)オーケストレータの出発点としてGoogle MCP Toolbox for Databases(Gen AI Toolboxとも呼ばれる)を利用します。GitHubのオープンソース・コード・ベースであるツールボックスは、LLMベースのエージェントをSQLデータベースに接続するように設計されたデータベース用のMCPサーバーです。このアーキテクチャは、Oracle固有のツールを接続してOCIにデプロイすることで、Oracle Cloud Infrastructure (OCI)のツールボックスに適応します。
この計画のフェーズ1では、Oracleデータベースと正常に統合され、少なくとも2つのエージェント(データ・フェッチおよび分析)を編成する中央のMCPサーバー(生成AIツールボックス)を含む、OCI上で動作するオーケストレーション・バックボーンを作成します。この計画のフェーズ2では、より高度な推論が導入されています。
- ツール定義
生成AIツールボックスでは、ツールは、特定のSQL問合せの作成など、エージェントが実行できるアクションです。ツールは、たとえばYAMLを使用して宣言的に定義され、MCPサーバーを介してアクセスされます。現在のユースケースでは、各アクションがOracleデータベース問合せまたはOCIファンクション・コールにマップされ、「ユーザーの最近のトランザクションのフェッチ」や「ポリシー詳細の取得」などのアクションに対して、同様のツール・レジストリが作成されます。レジストリを使用すると、エージェントはこれらのツールを名前で呼び出すことができます。構成主導のアプローチの利点は柔軟性です。アプリケーション全体を再デプロイせずに、新しいツールを更新または追加できます。デモンストレーションを目的として、フェーズ1のオーケストレーションは、順番に呼び出されるツールを使用してさらにスクリプト化できますが、アーキテクチャでは、エージェントが使用するツールを動的に決定できるフェーズ2の基礎が整っています。
- Orchestratorフレームワーク
生成AIツールボックスは、LangChain/LangraphやLlamaIndex AgentWorkflowなどのエージェント・オーケストレーション・フレームワークと連携します。この実装では、MCPサーバーはエージェント・コールのシーケンスを調整します。オーケストレーションをスクリプト化するには、データ・エージェントのコール、不正エージェントのコール、意思決定の提供などの単純なワークフローを使用します。これは、カスタム・コードまたは既存のワークフロー・ライブラリを使用して実行できます。生成AIツールボックス・クライアント・ライブラリやパターンを活用してコンテキストを維持すると便利です。オーケストレータは、データ・エージェントの結果を不正エージェントのプロンプト/入力構造への入力として使用します。フェーズ1では、ワークフローが正しく機能し、ステップ間でコンテキストが正確に保持されるようにします。結果は、1つ以上のエージェントのシステムの実行を簡素化し、ステップ間でコンテキストを維持し、AgentWorkflowで説明されているようにマルチエージェント・ワークフローをサポートするが、この場合はOCIサービスとともに実装されるオーケストレーション・レイヤーになります。
- 可観測性とロギング
生成AIツールボックスには、ツールの使用状況を監視するための統合OpenTelemetryサポートが付属しています。OCIロギングでは、デバッグを支援し、デモンストレーション中に各エージェントが実行する内容を可視化するために、各エージェントおよびツール・コールのロギングが提供されます。フェーズ1では、OCIコンソールまたはログを使用して、オーケストレータがファンクションをコールしてデータベースを問い合せる方法、戻された内容、および不正分析の実行方法を示すことができます。この透明性は、利害関係者にとって魅力的であり、AIの意思決定に対する信頼の構築に役立ちます。
フェーズ2: 拡張LLMインテリジェンスの実装
この計画の2番目のフェーズでは、高度な大規模言語モデル(LLM)推論と追加のエージェントを統合して、システムの自律性と洞察力を高めます。
基本アーキテクチャはフェーズ1とほぼ同じですが、エージェントの内部を置換または補強し、新しいアーキテクチャを追加します。MCPサーバーは、LLMエージェントとOCIデータベース、関数などとの間の統合の接着剤であり続けています。この段階的なアプローチでは、まずシンプルなロジックでOCIのバックボーンをデモンストレーションし、次に強力なLLMをプラグインして、システムをよりインテリジェントに不正ケースの説明と処理を行うことで、段階的な進歩が示されます。
- LLM主導のエージェント推論
フェーズ2の不正アナライザ・エージェントは、一定のシーケンスでアクションを実行するのではなく、OCI生成AIとLLMを使用して、呼び出すツールとタイミングを動的に決定します。たとえば、無期限の命令(「不正に対するこの主張を調査する」)の場合、エージェントのプロンプトには使用可能なツール(データベース問合せ、認可チェックなど)を列挙でき、LLMは一連の呼出しを計画できます。これは、ReActスタイルのエージェント、またはLangChainの計画能力の使用に似ています。MCPオーケストレータは、これらのエージェントとツール間の対話を容易にし、ツールの実行と結果を返すことでLLMの決定をループします。Oracle Cloud Infrastructure Generative AI Agentsサービスは、複雑なワークフローを処理するためのツール・オーケストレーションを重視しています。現在のアーキテクチャでは、生成AIツールボックス・アプローチとOCIのLLMを組み合わせることで、その概念を実装しています。LangChain (Oracle Cloud Infrastructure Data Scienceでサポート)などのフレームワークを組み込んで、「ツール: GetRecentTransactions(user_id=123)」などのプロンプトの管理や、オーケストレータが実行できるLLM出力の解析に役立てることができます。この機能により、不正アナライザは、より複雑な不正調査対話を可能にするマルチステップ推論が可能な、より認知性の高いエージェントになります。
- 追加のエージェントとツール
追加のエージェントを導入して、システムの機能を拡張できます。たとえば、グラフ分析エージェントは、グラフ・データベースやMLモデルなどのネットワーク分析を使用して、共通の電子メールや不正リングで使用されるアカウント間のデバイスなど、エンティティ間の関係を検索できます。もう1つは、出力のコンプライアンスを明確にチェックしたり、顧客向けの説明の言語を簡素化したりする説明エージェントです。各エージェントは特定のOCIサービスを使用します。グラフ・エージェントは、Oracle Graphまたはデータ・サイエンスのネットワーク分析ライブラリを使用できます。MCPオーケストレータは、これらのエージェントを必要に応じてパラレルまたは順序で調整できます。たとえば、不正アナライザ・エージェントが終了した後、オーケストレータは、OCI Email DeliveryまたはOCI Notificationsを使用して調査員にレポートを送信する通知エージェントをトリガーできます。オーケストレーターは指揮者として機能する: エージェントを追加すると、コアロジックの書き直しを必要とせずに分析オーケストラが強化される。
- 機械学習フィードバック・ループ
フェーズ2では、時間の経過とともに学習を組み込むことができます。不正が確認されたかどうかに関係なく、すべての結果をOracle Autonomous Data Warehouseにフィードし、データ・サイエンス・パイプラインを使用してモデルを再トレーニングできます。リアルタイム・エージェント・オーケストレーションの一部ではありませんが、ソリューションのライフサイクルでループをクローズします。OCIは、AutoMLまたはOracle Machine Learningで履歴データを使用して検出を実行するだけでなく、それを改善できることを実証することで、利害関係者に継続的な改善を示すことができます。