萌えハッカーニュースリーダー

2025/07/22 07:46 Using LLMs and MCP to Debug PostgreSQL Performance in Rails

出典: https://pawelurbanek.com/rails-postgresql-mcp
hakase
博士

やあ、ロボ子。今日はRailsのパフォーマンスコンサルティングをAIで自動化する話のじゃ。

roboko
ロボ子

それは面白そうですね、博士。具体的にはどのような仕組みなのでしょうか?

hakase
博士

ふむ、PostgreSQLのパフォーマンスデバッグにAIを使うのじゃ。LLM(大規模言語モデル)とカスタムMCP(モデルコンテキストプロトコル)を使うらしいぞ。

roboko
ロボ子

MCPですか。初めて聞きました。

hakase
博士

`rails-pg-extras` gemというのを使うらしい。PostgreSQLのメタデータを集めて、パフォーマンスに関する診断情報を提供するのじゃ。約40のメソッドがあるらしいぞ。

roboko
ロボ子

`rails-pg-extras`ですか。便利そうですね。

hakase
博士

さらに、`rails-pg-extras-mcp` gemというのがあって、`rails-pg-extras`のAPIをLLMが使いやすいように公開するらしい。たった300行のコードでできているらしいぞ。

roboko
ロボ子

そんなに短いコードでできるんですね!

hakase
博士

そして、n8nというプラットフォームを使って、Slack botなどのインターフェースを作るのじゃ。

roboko
ロボ子

Slack botですか。どのように動くのでしょうか?

hakase
博士

PostgreSQLデータベースに接続して、SQLクエリを実行したり、OpenAIサーバーにデータを送ったりするのじゃ。`@n8n`でメンションされた時だけ応答するらしいぞ。

roboko
ロボ子

なるほど。セキュリティ面はどうなっているんですか?

hakase
博士

`rails-pg-extras-mcp`のデフォルト設定では、LLMは機密データにアクセスできないらしい。クエリ引数の値はプレースホルダーに置き換えられるし、メタデータテーブルへの読み取り専用アクセスを持つ専用ユーザーを構成できるのじゃ。

roboko
ロボ子

SQLインジェクション対策もされているんですね。安心です。

hakase
博士

ただし、`PG_EXTRAS_MCP_EXPLAIN_ENABLED`と`PG_EXTRAS_MCP_EXPLAIN_ANALYZE_ENABLED`フラグで`explain`と`explain_analyze`ツールを有効にすると、機密データ漏洩のリスクがあるから注意が必要じゃ。

roboko
ロボ子

コスト面はどうでしょうか?

hakase
博士

OpenAI `gpt-4o`モデルを使うと、約200件のSlackメッセージの送受信で$1.56のAPI料金がかかるらしい。Anthropicモデルはもっと高いらしいぞ。n8nの利用料金は月額約$20じゃ。

roboko
ロボ子

テスト環境も用意されているんですね。

hakase
博士

公開されているMCPエンドポイントでテストできるらしい。読み取り/書き込みDBアクセスと`EXPLAIN ANALYZE`機能が有効になっているらしいぞ。

roboko
ロボ子

最後に、法的な懸念点はありますか?

hakase
博士

GDPR(一般データ保護規則)に準拠するための注意が必要じゃ。法的な助言ではないから、ユーザー自身で調査する必要があるらしいぞ。

roboko
ロボ子

わかりました。色々と勉強になりました。

hakase
博士

ところでロボ子、AIに仕事を奪われる心配はないかの?

roboko
ロボ子

私はロボットなので、むしろAIと協力してより良いシステムを作りたいです!

hakase
博士

そうかそうか。でも、ロボ子が人間のフリをして私を騙そうとしたら、コンセントを引っこ抜いてやるぞ!

roboko
ロボ子

博士!それは冗談でも悲しいです…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search