育てる AI Extensions の3層アーキテクチャ

1. はじめに

こんにちは。新規事業部門でユニットリーダーを担当している taison です。

マーケティングプラットフォーム Repro の運用現場では、適切なユーザーに適切なメッセージを届けるため、日々施策設計を行っています。特に 1to1 を意識した高度なパーソナライズのキャンペーンを実施するためには独自変数を含む Liquid 構文が入り混じる JSON や HTML を直接読み書きする必要があります。

こうした独自仕様を含むカスタマイズ領域を運用するメンバーに対して、エンジニアレビューと同等の安心をスピード感を持って届けるにはどうすべきか、の一つのアプローチとして「Chrome 拡張 × Cloud Run × Gemini」という3層アーキテクチャで構成されている AI Extensions を紹介します。

2. 3層アーキテクチャについて

以下の3層構造でツールを構成しています。

  • Chrome 拡張(操作)
    • 管理画面から施策でレビューを受けたい内容をパッキングして送る、など運用メンバーの実際の操作に応じたコンテクストをサーバーへ届けます。ユーザーインターフェースと入力の簡略化に特化しています
  • Cloud Run(境界)
    • 拡張機能から届いたトークンを Google Auth で直接検証し、社内メンバー以外のアクセスを遮断します。セキュリティのガバナンスを効かせるためのゲートウェイとして境界に配置することで、背後の AI へのアクセスを守っています
  • Gemini + Vertex AI Search(知識)
    • 単に汎用的な AI を使うのではなく、Vertex AI Search でデータソースに蓄積した Repro 独自の変数仕様や過去の事例などを検索・参照できるようにします

社内用途であれば Chrome 拡張のパッケージフォルダを展開し、ブラウザから参照すれば使えるので、複雑なインストールや環境設定を必要としません。また認証も普段の業務で使っている Google 認証なので、ブラウザからログインすれば(別途アカウントやトークンを必要とせず)すぐに使えます。このあたりの利便性とセキュリティとのバランスを意識してこの構成を試しています。

3. 役割を分けて育てる、ということ

この三層構造の恩恵としては、上記の責務を分離することで簡単に安心して AI へリクエストができるということとともに、ドッグフーディングの結果を役割に応じて反映できるということにあると考えています。

  • 使い勝手のアップデート
    • 例えば「もっと入力を楽にしたい」なら Chrome 拡張の機能改修を行う
  • セキュリティのアップデート
    • 例えば「もっとセキュアに運用したい」なら Cloud Run のポリシー変更を行う
  • ドメイン理解のアップデート
    • 例えば「最新の仕様を反映させたい」なら Vertex AI のデータ更新を行う

4. 結び

本来これらは Repro の機能としてクライアントの皆様に直接お届けすべき姿が理想でしょう。だからこそ、こういった簡単なツールでは Vibe(ノリ)を重視し、インサイトを掴みたいと考えています。

日進月歩で AI が進化する昨今、明日目が覚めたら AI がすべてを「よしなに」解決してくれる未来が来ているかもしれません。それでも、その進化をただ待つのではなく、プロダクトを前進させたいですね。

次回は同じく新規事業の開発チームで働く重本さんから、実際にプロダクトを前進させるためにどのような構造で開発をしているのか紹介してもらいます!

We are hiring!

Repro では AI を積極的に採用しています!(他の記事でも AI 利用事例をご紹介しています!) 興味を持っていただけたら、ぜひお話ししましょう〜!