Private Agent Factoryの新機能!Select AI連携を試す!
Oracle AI Database Private Agent Factory(PAF) に、2026年3月後半の 25.3.0.0.8 リリース でいくつか新機能が追加されました。
その中でも注目機能の一つが、Select AI との連携機能 です。
これまで Select AI は、Autonomous AI Database 側でプロファイルや資格情報を設定し、SQL や PL/SQL ベースで設定する必要があったのですが、今回のアップデートにより、Private Agent Factory から Select AI を GUI ベースで扱いやすくなった のが大きなポイントです。
本記事では、この Select AI 連携機能 を実際にどう設定して使うのか、Select AIエージェントの作り方をご紹介します。
一緒に試してみましょう!
今回のアップデートで何が増えたのか
Agent Factory 25.3 の公式ドキュメントでは、新機能として以下が案内されています。
- Select AI Utility
- Select AI Nodes
つまり今回のリリースでは、単に裏側で Select AI が使えるようになったのではなく、Select AI の設定用ユーティリティ と Agent Builder 上で使うためのノード群 が追加されました。
Select AI連携とは何か
一言でいうと、Oracle Database 側の Select AI 機能を、Private Agent Factory のワークフローから使いやすくする連携です。
Select AI は、自然言語から SQL を生成したり、RAG 用のプロファイルやベクトル索引を利用したりできる Oracle Database の AI 機能です。
今回のアップデートでは、その設定や呼び出しを Agent Factory の GUI にて扱える ようになりました。
これによって、
- 構造化データに対する NL2SQL
- ベクトル索引を使った RAG
- データベース関数の呼び出し
- Select AI Agent / Team を含むワークフロー化
といった流れを、Agent Builder の中で組み合わせやすくなっています。
何がうれしいのか
1. DBのAI機能を、Agent Factoryのフローに自然に組み込める
Private Agent Factory は、ドラッグ&ドロップでエージェントやワークフローを組めるのが魅力です。
そこに今回、Select AI 用のノードが追加されたことで、Oracle Database 側の AI 機能をフローの一部として扱える ようになりました。
たとえば、
- ユーザーの質問を受け取る
- Select AI で SQL を生成・実行する
- 必要に応じて RAG で補足する
- その結果を別の Agent に渡して要約する
といった流れが、かなりイメージしやすくなります。
2. Select AIの設定をGUIで整理しやすい
Select AI を使うには、事前に Credential や Profile、必要に応じて Vector Index の設定が必要です。
今回の Select AI Utility では、そのあたりを画面から設定できるようになっています。
特に Profile 作成時には、
- どの LLM を使うか
- どのリージョンを使うか
- NL2SQL を有効にするか
- RAG を有効にするか
- どのテーブル・ビューに限定するか
といった設定を GUI でまとめて扱えます。
Select AI の入口がかなり分かりやすくなった と感じます。
3. Oracle Databaseらしいガードレールをかけやすい
Select AI の Profile では、NL2SQL を有効にする場合に、対象の schema owner や tables/views を選べます。
さらに Enforce Object List を有効にすることで、SQL の対象を指定したオブジェクトに制限できます。
つまり、ただ自然言語でSQLを打たせるのではなく、
- 参照対象を絞る
- DBオブジェクトの範囲を制限する
- RAG用の索引だけを使わせる
といった、業務利用を意識したスコープ制御 がしやすいのがよいところです。
手順
では早速、実際にやってみましょう!
Step 0. 事前準備
- ADBの作成
PAFで連携する、またSelect AIを実行するデータを挿入するADBを作成します。バージョンは26aiで作成します。
- ADBのセットアップ
Select AI 連携を使う前に、対象のデータベースには必要なパッケージや権限が入っている必要があります。
【Credentials / Profile 管理】
Credentials や Profile を設定・管理するには、次のいずれか 1 つ以上のパッケージが必要です。
DBMS_CLOUDDBMS_CLOUD_ADMINDBMS_CLOUD_AI
【Vector Index 管理】
Vector Index を管理するには、Credentials / Profile 管理に必要なパッケージに加えて、次のパッケージが必要です。
DBMS_CLOUD_PIPELINE
【Agent Builder】
Agent Builder を使った Agent のデプロイについても、Credentials / Profile 管理に必要なパッケージに加えて、次のパッケージが必要です。
DBMS_CLOUD_PIPELINE
今回は、adb_agentユーザーを作ってSelect AIを実行していくので、Adminユーザーで以下の内容を実行します。
GRANT DB_DEVELOPER_ROLE TO adb_agent IDENTIFIED BY <your password>;
GRANT DWROLE TO adb_agent;
GRANT CREATE DATABASE LINK TO adb_agent;
GRANT EXECUTE ON DBMS_CLOUD TO adb_agent;
GRANT EXECUTE ON DBMS_CLOUD_ADMIN TO adb_agent;
GRANT EXECUTE ON DBMS_CLOUD_AI TO adb_agent;
GRANT EXECUTE ON DBMS_CLOUD_AI_AGENT TO adb_agent;
GRANT EXECUTE ON DBMS_CLOUD_PIPELINE TO adb_agent;
- Private Agent Factory(PAF)の作成
お手元にPAF環境がない場合は、以下の手順を参考に作成してください。
Agent Factoryの構築 ~ Agent Factoryのセットアップ までを実行し基本的なセットアップを完了しておきます。
- APIキーの取得
後程使用するAPIキーを取得しておきます。
手元にない場合は、こちらの記事の「APIキーの発行」を参考に作成します。
- 使用するデータの用意
今回は、以前Select AI Agentの機能を試した、売上分析のサンプルデータとシナリオをそのまま使っていきます。詳細は以下の記事を参考にしてください。
本記事では、まずSelect AIを使って自然言語で売上傾向を問い合わせるエージェントを作成し、
後編としてさらに複雑な、構造化データ(注文・売上データ) と 非構造化データ(商品カタログ) の両方を参照できるエージェントを作成していきます。
- ADBへデータの挿入
こちらのデータをDBに挿入しておきます。
-
products / orders / order_itemsの 3 表を作る - 2015〜2025 年の 500 件のサンプルデータを入れる
products:製品ID、名称、カテゴリなどのマスタ情報
orders:注文日、顧客ID、店舗IDなどの注文情報
order_items:注文に紐づく購入製品と数量
- バケットの作成とドキュメントのアップロード
後編で行うRAGの検索のために、商品カタログ(PDF)をObject Storageへアップロードしてください。
product_catalog.pdf をダウンロード
Step 1. プロファイルと索引の作成
「Data sources」タブから「+ Add Data sources」をクリックして、Select AIを実行するADBを追加します。

「Test connection」を行い、Successfulになることを核にして、「Add database source」をクリックします。

続いて、「Settings」から「Select AI Framework」タブを開きます。
Select AIから、先程追加したデータベース「ADB」を選択します。
青い枠内に、Select AIをセットアップする手順が書かれています。
こちらの手順を実行していきます。
② Credentialの作成
まずは、OCI GenAIサービス などのプロバイダと安全に通信するための Credential を作成します。
「+ Create Credential」をクリックします。

取得してあるAPIキーから以下を入力します。
User OCIDTenancy OCIDFingerprintPrivate Key (PEM)
ここで Validate して、問題なければ作成します。
② Profile を作成する
次に Profile を作成します。
Profile は、どのモデルを使うか、どのリージョンか、NL2SQL や RAG を有効にするか、といった Select AI の振る舞いを定義する設定 です。
「+Create Profile」をクリックします。
ここで設定内容としては、次のようなものがあります。
-
Provider Name:AI プロファイルを識別するための、一意の Profile Name を入力します。これはプロファイルの識別子となり、Agent Builder でも使用されます。 -
Description(任意) -
Credential Name:先程作成したCredentialを選択します。API 呼び出しに使用されます。 -
Region:モデルが利用可能なリージョンと一致していることを確認してください。 -
Model:使用するLLMモデルを指定します。 Compartment OCID-
OCI API Format(任意):プロバイダーのインターフェース形式(例: GENERIC や COHERE)を設定します。これにより、API リクエストの形式が制御されます。 -
Provider Endpoint(任意)を指定して、プロバイダーのベース URL を上書きできます。たとえば、プライベートエンドポイント用の URL を入力します。 - Embedding Model(任意):RAGで使用する埋め込み生成用のモデルを設定します。
-
Temperature(任意):モデル応答のランダム性を制御します。より決定論的な出力にしたい場合は低い値を使用します。 -
Max Tokens(任意):応答長の上限をトークン数で定義します。省略した場合はシステムのデフォルト値が適用されます。 -
Seed(任意):応答の再現性を制御します。プロバイダーのサポート状況に応じて、文字列または整数を指定できます。 -
NL2SQLの有効化 -
RAGの有効化
※NL2SQLとRAGはそれぞれ別のプロファイルを作成する必要があります。今回は両方のプロファイルをそれぞれ作成していきます。
* NL2SQL を有効にする場合
Select AIを実行する場合、NL2SQL の有効化して以下の設定を行います。
今回はSelect AIのエージェントを作るので、設定をしていきます。
- 対象
schema owner:SQL クエリ生成時に参照対象とするスキーマ所有者を選択します。利用可能な所有者の一覧は動的に表示されます。 - 対象
tables / views:自然言語から SQL へのクエリで利用を許可するテーブルやビューを選択します。これにより、NL2SQL が参照できるデータベースオブジェクトの一覧が定義されます。 -
Enforce Object List(推奨):有効にすると、SQL クエリを Tables/Views List で指定したオブジェクトのみに制限できます。これはセキュリティとクエリ範囲制御のための重要なガードレールです。 -
Object List Mode:メタデータ選択の挙動を制御します。選択肢は次のとおりです。-
All:オブジェクトリストに登録されている、利用可能なすべてのオブジェクトを対象にします。 -
Automated:メタデータに対してRAGを使用して、ユーザーのプロンプトに最も適用可能なテーブルを特定します。特に多くのテーブルが必要な場合に有効で、対象データごとに複数のAIプロファイルを定義したりする必要がなくなります。
-
Validate して、問題なければ作成します。
数秒経って、こちらのAIプロファイルが作成できました。
* RAG を有効にする場合
今回は後編(次回の記事)でRAGを使ったエージェントも作るので、RAG用のAIプロファイルも作成していきます。
(Select AIのみ実行する場合は、この手順と次の③ Vector Index を作成する は不要です。)
まずはここまで入力して、Validateし、作成します。
出来ました。
後程、③ にてVector Indexを作成する際に、こちらのAIプロファイルを紐づけます。

③ Vector Index を作成する(RAG を使う場合)
RAG 用のベクトル索引を作成します。
以下の値を入力します。
-
Vector Index Name:ベクトルインデックスを識別するための一意の名前を入力します。この名前は RAG プロファイルから参照されます。 -
Profile Name:先程作成したAIプロファイル「RAG」を選択します。埋め込み生成に利用します。 -
Vector DB Provider:保存先バックエンドを指定します。 -
Object Storage Location:ドキュメントの保存元パスとして、通常はオブジェクトストレージ上のバケットまたはフォルダを示す URL またはプレフィックスを指定します。 -
Storage Credential Name:そのオブジェクトストレージへアクセスするためのCredentialを選択します。認証情報には読み取り権限が必要です。
Chunking attributesの値は任意で調整します。
各パラメーターの詳細は以下をクリックして確認にしてください。
Chunking attributesの設定パラメーター
-
Chunk Size:ドキュメントを分割する単位を定義します。この値を調整することで、インデックス作成時の粒度を制御できます。 -
Chunk Overlap:分割したチャンク同士で重ねるトークン数を定義します。チャンク間の文脈を保ちやすくし、検索時の取りこぼしを減らすのに役立ちます。 -
Match Limit:1回の検索で返す結果件数を定義します。値を大きくすると多くの候補を取得できますが、ノイズも増えやすくなります。 -
Vector Distance Metric:ベクトル同士の近さをどのように測るかを定義します。類似度の計算方法を決める項目です。 -
Similarity Threshold:検索結果として採用する類似度のしきい値を定義します。値を高くすると、より関連性の高い結果だけを返すようになります。 -
Refresh Rate (minutes):ベクトルインデックスの更新頻度を分単位で定義します。新しいデータや変更内容をどの程度の間隔で反映するかを制御します。 -
Vector Dimension:埋め込みベクトルの次元数を定義します。通常は利用する埋め込みモデルに合わせて設定する項目です。
Validateし問題ない場合は、Vector Indexを作成します。
プロファイルに戻って、「RAG」を確認すると、Vector Indexに今作成したインデックスが設定されていました。
ここまでできると、Select AI の Profile / RAG の索引が Agent Builder から利用可能になります。
今まではPL/SQLで作成していたProfileやVector IndexがGUIで作成できるようになり、とても分かりやすくなりましたね!
Step.2 エージェントを構築する
Agent Builderを使って、Select AI(NL2SQL) を使ったエージェントを作りましょう。
必要なノードは、
Chat inputSelect AI BridgeAgent-
Chat output
の4つだけです!
「Agent builder」クリックして新しいフローを作成します。
Componentsから必要な4つのノードをキャンバスにドラッグアンドドロップで配置していきます。
入力や選択が必要な部分を設定していきます。
* Select AI Bridgeノード
Profile-
Choose database:ADB -
Choose Profile:SELECTAI -
Choose AI Action:Run SQL
* Agentノード
-
Select LLM to use:設定したLLM Custom instructions
あなたは売上データ分析を支援するエージェントです。
ユーザーからの質問に対して、Select AI Bridgeのツールを使って必要な情報を取得し、注文データ、注文明細、商品情報をもとに回答してください。
回答は日本語で、簡潔かつ分かりやすくまとめてください。
Agent description
売上データと商品情報をもとに、販売傾向や売れ筋製品を分析して回答するエージェントです。
画像と同じように、それぞれのノードを線でつなぎます。
エージェントの準備ができました!
「Save」を押して保存した後、「Playground」をクリックして実際にエージェントを動かしてみます。

年ごとの売り上げ件数をまとめて
と聞いてみると、実際のデータベースを検索して結果を出してくれました。
2025年に売れている上位2つの商品と商品IDを特定して。
こちらも指示通りの回答を返してくれます。
まとめ
Private Agent Factory 25.3 では、Select AIの連携機能が追加され、コマンドラインベースの設定を最小限に、Select AI を Agent Builder のワークフローの中で自然に利用できるようになりました。
今回のアップデートによって、
- Select AI の資格情報・プロファイル・ベクトル索引を GUI で設定しやすくなった
- SQL / RAG / DB Functions を Agent Builder のノードとして扱えるようになった
- Select AI Agent / Team に発展できる形でワークフロー化しやすくなった
という点が大きな変化だと思います。
特に、Oracle Database の AI 機能をすでに活用している方にとっても、これからSelect AIを試してみる方にとっても、
「DB機能としての Select AI」から「ノーコードのエージェントフローで使う Select AI」へ広がった と見ると、とても大きなアップデートです。
次回は、今回設定したRAGも活用しながら、複数のエージェントを連携させて動かし、データベース内のデータとドキュメントなどの非構造化データをまとめて検索できるエージェントを作っていきます!
イメージ👇
参考
- Oracle Documentation: Changes In Release 25.3.0.0.8 For Agent Factory
- Oracle Documentation: Configure Select AI for Your Database
- Oracle Documentation: Components in an Agent Builder
- Oracle Documentation: Sample Flows with Agent Builder Workflows Using Select AI - Advanced Level
- Oracle Documentation: Configure Select AI for Your Database
- 以前書いた関連記事:




















