低予算でAI比較ページを構築した方法
私のAIツールディレクトリ用に、比較ページを作成する必要がありました。
計算結果は恐ろしいものでした。200のモデルがあると、組み合わせは2万通り近くに及びます。すべてのペアに対してClaude Haikuを使ってコンテンツを生成し、それを毎日実行すると、コストがかかりすぎてしまいます。
論理的なアプローチと制限を設けることで、どのように解決したかを説明します。
戦略
意図の高いクエリに焦点を当てました。ユーザーは「Llama 3 vs Mistral」を知りたいと考えています。彼らが求めているのは長いエッセイではなく、判断材料です。
コストを抑えるために、以下のルールを使用しました:
• モデルをパイプラインタグごとにグループ化する。 • 各グループ内でダウンロード数が多い上位4つのモデルのみを選択する。 • ペアの総数に厳格な制限を設ける。
これにより、ペアの数は20,000から約50にまで削減されました。これにより、最も人気のあるモデルをカバーしつつ、コストを低く抑えることができます。
技術的なセットアップ
毎晩実行されるETLプロセスを構築しました。これはべき等(idempotent)です。つまり、ペアがすでにデータベースに存在する場合、スクリプトはその処理をスキップします。
ほとんどの夜、スクリプトは3秒で終了し、すべてをスキップするためコストは0ドルです。
効率を維持するために、いくつかの工夫をしています:
• Prompt Caching: 共有のClaude Haikuクライアントを使用しています。システムプロンプトは変わらないため、キャッシュを利用することで、その後の呼び出しコストをほぼゼロにできます。 • Lean Prompts: モデルの概要を400文字に切り詰めます。これにより、入力サイズを小さく保ち、高速化を実現しています。 • Static Generation: Astroを使用して、データを静的なJSONファイルに変換します。ユーザーにとって、低速なデータベース呼び出しやエッジ関数のレイテンシは発生しません。
失敗したときはどうなるか?
AIは予測不可能です。時としてClaudeが不正なJSONを返すことがあります。
フォールバック・システムを構築しました。AIが失敗しても、ページがクラッシュすることはありません。代わりに標準的なテンプレートが表示され、ユーザーには個別のモデルページを確認するよう促します。これらの失敗はデータベースに記録し、後で再試行できるようにしています。
もしやり直すなら
もし今日からやり直すとしたら、2つのことを変えます:
- パイプラインをまたいだ比較: 似たような2つのテキストモデルを比較するよりも、テキストモデルとビジョンモデルを比較する方が価値が高いです。
- 検索駆動型の選択: ダウンロード数を使う代わりに、実際のユーザーの検索ログを使用して、どのペアを作成するかを決定します。
制約の中で構築することは、よりスマートな構築を強いてくれます。
Optional learning community: https://t.me/GyaanSetuAi
