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://t.me/GyaanSetuAi