AgentGatewayにセマンティックな脳を与える

私のAIエージェントのルーティングは、以前はめちゃくちゃでした。

Piという名前のパーソナルAIエージェントを構築しました。リビングルームで24時間365日稼働しています。コストを抑えるために、3つの異なるモデルを使用していました:

  • コーディング用:Ollama (Local)
  • 深い推論用:OpenAI
  • 高速なタスク用:Gemini

適切なモデルを選択するために、キーワードリストを用いたPythonスクリプトを使用していました。単純なif-elseの連鎖でした。

それは頻繁に失敗しました。ユーザーが特定のキーワードを使わずにRustのパターンについて質問すると、ルーターは誤ったモデルに送信してしまいました。ユーザーがヒンディー語を話すと、システムは壊れてしまいました。

結果は散々なものでした:

  • リクエストの18%が誤ったモデルに送られた。
  • 単純なタスクに対して高価なAPIに費用を浪費した。
  • 毎週手動でキーワードを更新しなければならなかった。

キーワードだけでなく、意味を理解するシステムが必要でした。

AgentGatewayにvLLM Semantic Routerを導入しました。これですべてが変わりました。

Pythonスクリプトの代わりに、Semantic RouterはEnvoyサイドカーとして動作します。130MBという軽量な埋め込み(embedding)モデルを使用して、すべてのプロンプトの意図を理解します。キーワードを書く必要はありません。YAMLファイルに各モデルが何をするのかを記述するだけです。

2週間後の結果:

  • 誤ルーティングされたリクエストが18%から3%に減少。
  • ルーティングのレイテンシが45msから1msに短縮。
  • 月間のAPIコストが24ドルから14ドルに減少。
  • メンテナンスはゼロになりました。

ルーターは埋め込みを使用して、プロンプトとモデルの説明を比較します。モデルを「コーディングのスペシャリスト」と記述すれば、ルーターはコーディングに関するプロンプトを自動的にそこに送信します。これは異なる言語間でも機能します。

ルーターが失敗しても、システムはオンラインのままです。私はfail-openポリシーを設定しました。ルーターがクラッシュした場合、リクエストは自動的にGeminiに転送されます。エージェントが停止することはありません。

Apple Silicon上のARM64サポートに関連するソースコード内のバグを2つ見つけ、修正を支援することさえできました。これこそがオープンソースのあるべき姿です。問題を見つけ、修正を貢献することで、コミュニティ全体がより良くなるのです。

AIエージェントを構築しているなら、キーワードマッチングの使用はやめましょう。コストを制御し、回答の質を向上させるために、セマンティックルーティングを活用してください。

ソース: https://dev.to/anup_sharma_86fa94612fe3c/giving-agentgateway-a-semantic-brain-with-vllm-semantic-router-inside-my-homelab-542f

オプションの学習コミュニティ: https://t.me/GyaanSetuAi