FrigadeによるWebアプリのAgentツールへのリバースエンジニアリング

FrigadeによるWebアプリのAgentツールへのリバースエンジニアリング

Frigadeは、Webアプリケーションの内部APIコールをAIエージェント用のツールに自動的に変換する、ブラウザベースのエージェントを導入しました。このアプローチにより、AIアシスタントは、手動でのAPI統合やアプリケーションのソースコードへのアクセスを必要とせずに、Jira、Spotify、Hacker Newsなどの製品と深く統合することが可能になります。

自動化されたAPIからツールへの変換

Frigadeのシステムは、認証済みのWebアプリケーション内でブラウザエージェントを実行することで動作します。エージェントはアプリケーション独自のAPIコールを観察し、それらを「レシピ」へとリバースエンジニアリングします。これらのレシピは、自己更新型のModel Context Protocol (MCP) サーバーとして機能し、ホストアプリケーションのAPIが変更されてもAIエージェントが機能し続けることを保証します。

各ツールレシピは、以下のコンポーネントで構成されています:

  • API Endpoint and Method: アクションに使用される特定のURLとHTTPメソッド。
  • Authentication: エンドポイントを保護するために使用される方法(リフレッシュトークンやクッキーの取得方法に関する指示を含む)。
  • Response Schema: APIコールのレスポンススキーマ。
  • Input Schema: POSTまたはPUTリクエストに必要なデータ構造。
  • Human-Readable Description: ツールの動作に関する明確な説明。これにより、LLMが特定のタスクに対して正しいツールを選択できるようになります。

従来のAgent統合の限界を解決する

この手法は、従来のAIエージェント統合に関連する3つの主要な課題に対処しています:

  1. API Complexity: 現代のソフトウェアは、AIエージェントがすぐに利用できるように設計されていない、複雑で混乱を招くAPIやサービスのネットワークを頻繁に利用しています。
  2. Security and Authentication: アプリケーションは、認証のために多様で、しばしば独自の標準(JWTとクッキーの組み合わせなど)を使用しており、標準化された統合を困難にしています。
  3. Brittleness of "Computer-Use" Agents: 人間のクリックをシミュレートする従来のブラウザエージェント(computer-use)は、しばしば低速で、トークン消費量が多く、UIが変更された際に失敗しやすいという性質があります。

UIレイヤーではなくAPIレイヤーをターゲットにすることで、Frigadeは、サードパーティを介さずに、ワークスペースへのチームメイトの招待といったユーザーに代わってアクションを実行するための、より安定した、効率的な方法をエージェントに提供します。

技術的な実装とエッジケース

システムは汎用的に設計されていますが、著者は、すべてのアプリケーションは本質的に異なると指摘しています。言及されている重要な技術的課題は、GraphQL APIの標準化であり、著者は標準化されたレシピを作成する際に「最も扱いにくいAPI」であると述べています。

ツールを追加するためのワークフロー

  • Training: エージェントはアプリケーション上でトレーニングを行い、初期レシピを構築します。
  • Enablement: アプリケーションの所有者は、ダッシュボードを介して検出されたツールを有効化します。
  • Execution: エージェントは、認証済みのAPIエンドポイントを使用して、アプリケーション内で直接アクションを実行します。

Sources