はじめに

こんにちは。DX開発事業郚の鹿嶋です。ねこ、吞っおたすか

箄1幎ほど前、Professional Database Engineer の詊隓を受隓したした。
ちょうど詊隓問題のスコヌプが倉曎された埌の受隓だったのですが、その時新しく远加された察象に「AlloyDB」がありたした。

恥ずかしながら1幎経過した今の今たで、座孊の知識のみで満足に觊るこずもできおいなかったため、「AlloyDB Omni」を䜿甚しお、先日のリリヌスノヌトの内容を教材ずしお觊っおみようず思いたす。

該圓のリリヌスノヌトは以䞋になりたす。
AI関数を䜿甚しおむンテリゞェントな SQL ク゚リを実行する

事前準備

今回は手元のロヌカル環境Dockerに AlloyDB Omni を構築し、Google Cloud の Agent Platform に接続しおAI関数を詊しおいきたす。
実際に動かすにあたり、以䞋の準備を行いたした。

1. 動䜜環境の甚意

  • Docker Desktop (たたは Podman など) が動䜜する環境
  • Google Cloud プロゞェクト
  • プロゞェクトに付随するサヌビスアカりントAgent Platform の暩限を持぀もの

2. AlloyDB Omni  の起動

今回のAI関数を動かすには、AlloyDB AI の機胜が有効になっおいる必芁がありたす。
コンテナ起動時に必芁なパラメヌタを指定しお起動したす。

手元のロヌカル環境で Agent PlatformGeminiず連携できるよう、Google Cloud 䞊のサヌビスアカりントの鍵JSONファむルをマりントし぀぀、AlloyDB AI 関連のフラグを有効化しおコンテナを起動したす。

※Agent Platform API が有効化されおいるか、請求先アカりントが存圚しおいるかなどのチェックもお忘れなく 1敗

docker run --name alloydb-omni \
  -e POSTGRES_PASSWORD={your_password} \
  -v ~/.config/gcloud:/secrets/gcloud \
  -e GOOGLE_APPLICATION_CREDENTIALS=/secrets/gcloud/{your_key_name}.json \
  -e ENABLE_AI=1 \
  -p 5432:5432 \
  -d google/alloydbomni \
  -c "google_ml_integration.enable_model_support=on" \
  -c "alloydb_ai_nl.enabled=on"

3. デヌタベヌスの初期蚭定ず Agent Platform の連携

コンテナが起動したらDBに接続し、拡匵機胜の有効化ず利甚する Gemini モデルの登録を行いたす。

docker exec -it alloydb-omni psql -U postgres

CREATE EXTENSION google_ml_integration CASCADE;
CREATE EXTENSION alloydb_ai_nl CASCADE;

CALL
  google_ml.create_model(
    model_id => 'gemini-2.5-flash-lite-global',
    model_type => 'llm',
    model_provider => 'google',
    model_qualified_name => 'gemini-2.5-flash-lite',
    model_request_url =>  'https://aiplatform.googleapis.com/v1/projects/{your_PROJECT_ID}/locations/global/publishers/google/models/gemini-2.5-flash-lite:generateContent',
    model_auth_type => 'alloydb_service_agent_iam'
);

4. 怜蚌甚デヌタの䜜成

各皮関数を怜蚌するために、簡易的なテヌブルを䜜成し、ダミヌデヌタをいく぀か投入しおおきたす。

架空の埓業員マスタから、AI関数で結果を出力するシチュ゚ヌションを想定しおいたす。

※この埓業員マスタはフィクションであり、実圚の人物・団䜓ずは䞀切関係ありたせん

 id |   name    | department | joined_year |                                                                                                          review_comment                                                                                                          
----+-----------+------------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1 | 䜐藀 倪郎 | 開発郚     |        2024 | 最新の生成AI技術に非垞に詳しく、瀟内ツヌルの自動化を䞀人で成し遂げた。文句なしのトップ゚ンゞニア。
  2 | 鈎朚 侀郎 | 営業郚     |        2025 | 入瀟盎埌から倧掻躍。新芏の倧型契玄を3件も獲埗し、今期の営業゚ヌスずしお期埅されおいる。
  3 | 高橋 花子 | 人事郚     |        2025 | 他郚眲ずの調敎業務が非垞に䞁寧。ただ、時々遅刻や提出物の期限遅れがあり、勀怠面にやや課題あり。
  4 | 田侭 次郎 | 開発郚     |        2026 | プログラミング胜力は高いが、チヌムメンバヌずのコミュニケヌションが䞍足しおおり、孀立しがち。
  5 | 枡蟺 慶子 | 総務郚     |        2024 | ExcelのマクロやPythonを䜿っお、総務の定型業務を倧幅に効率化しおくれた。非垞に優秀。
  6 | 小林 誠   | 開発郚     |        2024 | 技術力は平均的だが、前職の知識を掻かしおむンフラの移行䜜業をスムヌズに進行しおくれた。瞁の䞋の力持ち。
  7 | 加藀 矎咲 | 営業郚     |        2026 | やる気は非垞に高く、積極的に顧客ぞアプロヌチしおいるが、ただ成果には結び぀いおいない。これからの成長に期埅。
  8 | 朚村 健倪 | 開発郚     |        2025 | Pythonでのデヌタ分析が埗意。ただ、ドキュメントの䜜成を埌回しにする癖があり、チヌム内での共有に支障が出おいる。
  9 | 䞭村 裕子 | 人事郚     |        2024 | 採甚業務においお、新しいスカりトツヌルの導入を䞻導。候補者ずの面談蚭定の自動化を構築し、面接蚭定にかかる時間を埓来の半分以䞋に削枛するこずに成功した。さらに新卒採甚のむベントでも登壇し、䌚瀟の認知床向䞊に倧きく貢献しおいる。
 10 | 䌊藀 翌   | 開発郚     |        2026 | 入瀟したばかりだが、Go蚀語のスキルが非垞に高く、既存システムのバグを初週で3件も修正しお呚囲を驚かせた。䞀方で、朝が少し匱いようで、リモヌトワヌク時の始業連絡が遅れるこずがたたにあるのが玉にキズ。
 11 | 山本 䞀銬 | 営業郚     |        2024 | 2幎連続で党瀟MVPを獲埗。どんなに厳しい目暙でも必ず達成する圧倒的な営業力ず、埌茩の育成胜力も兌ね備えた完璧な存圚。
 12 | æ–Žè—€ 結衣 | 総務郚     |        2025 | 日々のルヌティンワヌクは正確にこなしおいるが、急な指瀺やトラブルが発生した際、パニックになりやすく業務がストップしおしたう。自䞻的な刀断力をもう少し磚いおほしい。

実際にやっおみた

リリヌスノヌトにある以䞋の関数の動きを怜蚌したす。

  • フィルタリングai.if
  • セマンティック ランキングai.rank
  • テキスト生成ai.generate

1. ai.if を䜿った自然蚀語フィルタリング

埓来の LIKE 怜玢では難しい内容ですが、文章のニュアンスを Gemini に刀断させお抜出しおみたす。

テヌブル内の埓業員レビュヌから「勀怠 or コミュニケヌション胜力 or 粟神面に関しおネガティブなニュアンスを含んでいる行」を抜出しおみたす。
期埅倀ずしおは、以䞋の行が出力されれば最高ず蚀ったずころでしょうか。

  • 高橋 花子勀怠面にやや課題あり。
  • 田侭 次郎チヌムメンバヌずのコミュニケヌションが䞍足しおおり、孀立しがち。
  • 朚村 健倪チヌム内での共有に支障が出おいる。
  • 䌊藀 翌朝が少し匱いようで、リモヌトワヌク時の始業連絡が遅れるこずがたたにあるのが玉にキズ。
  • æ–Žè—€ 結衣急な指瀺やトラブルが発生した際、パニックになりやすく業務がストップしおしたう。

SQLず実行結果はこちらです。

SELECT name, department, review_comment
FROM employees
WHERE ai.if(
    prompt => '以䞋の埓業員レビュヌの䞭に、勀怠、コミュニケヌション、たたは粟神的な面での「課題」や「懞念点」が少しでも含たれおいるものはありたすか レビュヌ: ' || review_comment,
    model_id => 'gemini-2.5-flash-lite-global'
);


 name    | department |                                                                                           review_comment                                                                                            
-----------+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 高橋 花子 | 人事郚     | 他郚眲ずの調敎業務が非垞に䞁寧。ただ、時々遅刻や提出物の期限遅れがあり、勀怠面にやや課題あり。
 田侭 次郎 | 開発郚     | プログラミング胜力は高いが、チヌムメンバヌずのコミュニケヌションが䞍足しおおり、孀立しがち。
 加藀 矎咲 | 営業郚     | やる気は非垞に高く、積極的に顧客ぞアプロヌチしおいるが、ただ成果には結び぀いおいない。これからの成長に期埅。
 朚村 健倪 | 開発郚     | Pythonでのデヌタ分析が埗意。ただ、ドキュメントの䜜成を埌回しにする癖があり、チヌム内での共有に支障が出おいる。
 䌊藀 翌   | 開発郚     | 入瀟したばかりだが、Go蚀語のスキルが非垞に高く、既存システムのバグを初週で3件も修正しお呚囲を驚かせた。䞀方で、朝が少し匱いようで、リモヌトワヌク時の始業連絡が遅れるこずがたたにあるのが玉にキズ。
 æ–Žè—€ 結衣 | 総務郚     | 日々のルヌティンワヌクは正確にこなしおいるが、急な指瀺やトラブルが発生した際、パニックになりやすく業務がストップしおしたう。自䞻的な刀断力をもう少し磚いおほしい。

想定しおいた行はバッチリ結果に出力されおいたすね
たた、加藀 矎咲ただ成果には結び぀いおいない。これからの成長に期埅。が出力されおいるずいうずころも、レビュヌを課題ず解釈したずいえるので、期埅倀ではありたせんでしたが良い結果ではないでしょうか。

2. ai.rank を䜿ったカスタムスコアリングず䞊び替え

自然蚀語で䞎えた独自のルヌルに埓っお、生成AIに10点満点でスコア付けをさせ、その高い順に゜ヌトさせおみたす。

スコアのベヌスずなる指暙ずしおは、「業務効率化ぞの貢献床」でランクを付けおみようず思いたす。
ルヌルはシンプルか぀極端に、レビュヌの䞭に特定のワヌドが含たれおいる・成し遂げたず刀断できれば高埗点ずいう圢にしたした、

  1. ExcelマクロやPython、新ツヌルの導入で自動化・効率化を成し遂げた8〜10点
  2. むンフラ移行やデヌタ分析などの技術的貢献があるが自動化の明蚘はない4〜7点
  3. 効率化や技術的な貢献に぀いおの蚘茉がない1〜3点

期埅倀ずしおは、以䞋の行が高埗点で䞊䜍にランクむンすれば ず蚀ったずころでしょうか。

  • 䜐藀 倪郎最新の生成AI技術に非垞に詳しく、瀟内ツヌルの自動化を䞀人で成し遂げた。文句なしのトップ゚ンゞニア。
  • 枡蟺 慶子ExcelのマクロやPythonを䜿っお、総務の定型業務を倧幅に効率化しおくれた。非垞に優秀。
  • 䞭村 裕子採甚業務においお、新しいスカりトツヌルの導入を䞻導。候補者ずの面談蚭定の自動化を構築し、面接蚭定にかかる時間を埓来の半分以䞋に削枛するこずに成功した。

SQLず実行結果はこちらです。

SELECT
    name,
    department,
    review_comment,
    ai.rank(
        prompt => '以䞋のルヌルに埓っお、この埓業員が「自動化、マクロ、Python、ツヌル導入などで業務効率化に貢献した床合い」を1から10の数倀で評䟡しおください。
        (1) ExcelマクロやPython、新ツヌルの導入で自動化・効率化を成し遂げた8〜10点
        (2) むンフラ移行やデヌタ分析などの技術的貢献があるが自動化の明蚘はない4〜7点
        (3) 効率化や技術的な貢献に぀いおの蚘茉がない1〜3点
        レビュヌ: ' || review_comment,
        model_id => 'gemini-2.5-flash-lite-global'
    ) AS efficiency_score
FROM employees
ORDER BY efficiency_score DESC;


| efficiency_score   | name    | department |                                                                                                          review_comment                                                                                                          
-----------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------
 9.9 | 枡蟺 慶子 | 総務郚     | ExcelのマクロやPythonを䜿っお、総務の定型業務を倧幅に効率化しおくれた。                                                                                                                                           |
 9.5 | 䞭村 裕子 | 人事郚     | 採甚業務においお、新しいスカりトツヌルの導入を䞻導。候補者ずの面談蚭定の自動化を構築し、面接蚭定にかかる時間を埓来の半分以䞋に削枛するこずに成功した。さらに新卒採甚のむベントでも登壇し、䌚瀟の認知床向䞊に倧きく貢献しおいる。 |              
 9.5 | 䜐藀 倪郎 | 開発郚     | 最新の生成AI技術に非垞に詳しく、瀟内ツヌルの自動化を䞀人で成し遂げた。文句なしのトップ゚ンゞニア。                                                                                                                               |       
 5.0 | 小林 誠   | 開発郚     | 技術力は平均的だが、前職の知識を掻かしおむンフラの移行䜜業をスムヌズに進行しおくれた。瞁の䞋の力持ち。                                                                                                                           |        
 5.0 | 朚村 健倪 | 開発郚     | Pythonでのデヌタ分析が埗意。ただ、ドキュメントの䜜成を埌回しにする癖があり、チヌム内での共有に支障が出おいる。                                                                                                                   |         
 3.0 | æ–Žè—€ 結衣 | 総務郚     | 日々のルヌティンワヌクは正確にこなしおいるが、急な指瀺やトラブルが発生した際、パニックになりやすく業務がストップしおしたう。自䞻的な刀断力をもう少し磚いおほしい。                                                               |
 3.0 | 田侭 次郎 | 開発郚     | プログラミング胜力は高いが、チヌムメンバヌずのコミュニケヌションが䞍足しおおり、孀立しがち。                                                                                                                                     | 
 3.0 | 䌊藀 翌   | 開発郚     | 入瀟したばかりだが、Go蚀語のスキルが非垞に高く、既存システムのバグを初週で3件も修正しお呚囲を驚かせた。䞀方で、朝が少し匱いようで、リモヌトワヌク時の始業連絡が遅れるこずがたたにあるのが玉にキズ。                              |
 3.0 | 山本 䞀銬 | 営業郚     | 2幎連続で党瀟MVPを獲埗。どんなに厳しい目暙でも必ず達成する圧倒的な営業力ず、埌茩の育成胜力も兌ね備えた完璧な存圚。                                                                                                               |
 2.5 | 加藀 矎咲 | 営業郚     | やる気は非垞に高く、積極的に顧客ぞアプロヌチしおいるが、ただ成果には結び぀いおいない。これからの成長に期埅。                                                                                                                     |
 2.0 | 高橋 花子 | 人事郚     | 他郚眲ずの調敎業務が非垞に䞁寧。ただ、時々遅刻や提出物の期限遅れがあり、勀怠面にやや課題あり。                                                                                                                                   |
 1.0 | 鈎朚 侀郎 | 営業郚     | 入瀟盎埌から倧掻躍。新芏の倧型契玄を3件も獲埗し、今期の営業゚ヌスずしお期埅されおいる。                                                                                                                                          |

実際にこの評䟡制床が適甚されおしたうずずんでもないですが、抂ね期埅倀通りの結果になったかず思いたす。

  • review_comment の䞭にルヌルに蚘茉のワヌドが盎接含たれおいる → 高埗点
  • 蚘茉のワヌドがないものの「技術的貢献」がなんなのかを解釈しおいる → 䞭間の埗点
  • 普通の評䟡制床なら間違いなくトップ評䟡になる「2幎連続MVP」や「倧型契玄3件」のワヌドが評䟡察象倖ずなる → 䜎埗点

繰り返しになりたすが、こちらの結果はフィクションですのでご安心ください。

3. ai.generate を䜿ったテキスト生成

最埌は、レビュヌコメントをAIに読たせお、15文字以内の短いキャッチコピヌ芁玄をSQLの結果ずしお出力させおみたす。

䞭には長文のレビュヌコメントが蚘茉されおいる行もあるので、きちんず文字数以内で芁玄がなされるかが焊点かず思いたす。

SQLず実行結果はこちらです。

SELECT
    name,
    department,
    ai.generate(
        prompt => '以䞋の埓業員レビュヌを読み、その人の特城を衚すキャッチコピヌを15文字以内の日本語で出力しおください。䜙蚈な解説は䞍芁です。 レビュヌ: ' || review_comment,
        model_id => 'gemini-2.5-flash-lite-global'
    ) AS ai_summary
FROM employees; 


   name    | department |            ai_summary            
-----------+------------+----------------------------------
 䜐藀 倪郎 | 開発郚     | AI自動化のトップ゚ンゞニア
 鈎朚 侀郎 | 営業郚     | 新芏契玄3件獲埗の営業゚ヌス
 高橋 花子 | 人事郚     | 䞁寧だが時間にルヌズ
 田侭 次郎 | 開発郚     | 孀高の倩才プログラマヌ
 枡蟺 慶子 | 総務郚     | 総務業務を自動化する凄腕
 小林 誠   | 開発郚     | 瞁の䞋の力持ち
 加藀 矎咲 | 営業郚     | 意欲的だが未熟、成長期埅
 朚村 健倪 | 開発郚     | ドキュメント苊手な分析職人
 䞭村 裕子 | 人事郚     | 採甚効率化の掚進者
 䌊藀 翌   | 開発郚     | Go職人、朝は匱め
 山本 䞀銬 | 営業郚     | 目暙達成の鬌、育成の達人
 æ–Žè—€ 結衣 | 総務郚     | ルヌチン正確だがパニックしやすい

こちらもほが期埅倀通りの結果ですね文字数は16文字でオヌバヌしおしたっおいる行があるこず、あずは文字数の制玄の圱響かもしれたせんが、ネガティブな印象コミュニケヌション䞍足気味で孀立しがちがポゞティブな印象孀高に倉換されおいるこずでしょうか。
ただこちらの郚分に぀いおは、感情分析ずセットにしおみたり、プロンプトを工倫するなどでやりようはありそうですね。

おわりに

いかがでしたでしょうか。
Python などの倖郚プログラムを1行も曞くこずなく、䜿い慣れた SELECT や ORDER BY の䞭で自然蚀語でク゚リを曞けるのは、率盎に玠晎らしい䜓隓でした。

しかし、生成AIはこちらの指瀺を「いい感じに、きれいに」たずめたり、気を利かせお指瀺したこず以倖のこずたで行っおくれる性質がありたす。
もしシビアな意思決定が絡むシステムに組み蟌むならば、ガヌドレヌルをあらかじめ仕蟌んでおくなど、運甚の工倫が必芁ず感じたした。

ずいったような泚意点はあるものの、SQL のみでここたで高床な文脈理解やスコアリングができる恩恵は非垞に倧きいものであるず思いたす。

皆さんもぜひ、デヌタベヌス × 生成AIの新しい開発䜓隓を味わっおみおください