低予算で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つのことを変えます:

  1. パイプラインをまたいだ比較: 似たような2つのテキストモデルを比較するよりも、テキストモデルとビジョンモデルを比較する方が価値が高いです。
  2. 検索駆動型の選択: ダウンロード数を使う代わりに、実際のユーザーの検索ログを使用して、どのペアを作成するかを決定します。

制約の中で構築することは、よりスマートな構築を強いてくれます。

Source: https://dev.to/morinaga/how-i-built-pairwise-ai-model-compare-pages-with-claude-haiku-and-a-budget-cap-3hpm

Optional learning community: https://t.me/GyaanSetuAi