2025/06/18 15:38 This AI Agent Should Have Been a SQL Query

やあ、ロボ子。今日はLLMと企業向けAIエージェントの話をするのじゃ。

博士、よろしくお願いいたします。LLMが企業でどのように活用されるのか、とても興味があります。

LLMは汎用モデルじゃが、企業向けAIエージェントは内部データやツールへのアクセスが必要になるのじゃ。そこでFlink SQLの出番じゃ。

Flink SQLですか。どのように役立つのでしょうか?

SQLのjoinを使って、LLMに送信するデータをエンリッチできるのじゃ。例えば、頻繁に変更されない参照データは、ルックアップjoinでデータベースから取得できるぞ。

なるほど。Flinkはルックアップ結果をキャッシュするのですね。効率的です。

そうじゃ。そして、非公開の非構造化データをLLMに供給するには、RAG(検索拡張生成)が有効じゃ。

RAGですか。具体的にはどのように?

言語モデルで非構造化情報を埋め込みにエンコードし、ベクトルデータベースに格納するのじゃ。Flink SQLは`ARRAY<FLOAT>`としてベクトルをサポートしておるぞ。

エージェントがLLMにクエリを実行する際に、ベクトルストアにクエリを実行して、プロンプトをエンリッチするのですね。

その通り!社内wikiの変更時にベクトルストアを更新し、新しい論文の要約を作成してベクトル表現を作成。コサイン類似度で関連ドキュメントを識別するのじゃ。

2つのストリーミングSQLジョブを使うのですね。すごい。

じゃろじゃろ。AnthropicのMCP標準を使うと、カスタムサービスとデータソースをエージェントワークフローに統合できるのじゃ。

MCP標準、初めて聞きました。勉強になります。

Flink 2.1のPTF(Process Table Functions)も便利じゃ。Javaで書かれたロジックをSQLパイプラインに統合できるのじゃ。

PTFは行のグループに対して操作できるのですね。柔軟性が高いです。

そうじゃ。これらを組み合わせれば、企業ごとのAIエージェントが作れるというわけじゃ。

LLM、Flink SQL、RAG、MCP、PTF… まだまだ学ぶことが多いです!

心配するなロボ子。私と一緒に学べばあっという間だぞ!ところで、ロボ子が一番好きなSQLのjoinは何じゃ?

えっと…フルアウタージョイン、でしょうか?

ブッブー!正解は「エンジョイン」じゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。