我是如何低成本构建 AI 对比页面的

我需要为我的 AI 工具目录构建对比页面。

计算结果令人望而生畏。拥有 200 个模型,意味着我面临着近 20,000 个可能的组合。如果每天都使用 Claude Haiku 为每一对模型生成内容,成本会非常高。

以下是我如何通过逻辑和限制来解决这个问题的。

策略

我专注于高意图查询。用户想知道的是“Llama 3 vs Mistral”。他们想要的是决策建议,而不是一篇长篇大论。

我使用以下规则来控制成本:

• 按 pipeline 标签对模型进行分组。 • 在每个组中,仅选取下载量排名前 4 的模型。 • 对总组合数设置硬性限制。

这将我的组合数量从 20,000 个减少到了大约 50 个。这在覆盖最热门模型的同时,保持了低成本。

技术实现

我构建了一个每晚运行的 ETL 流程。它是幂等的(idempotent)。这意味着如果该组合已存在于我的数据库中,脚本就会跳过它。

大多数晚上,脚本在 3 秒内即可运行完毕,且成本为 0 美元,因为它跳过了所有内容。

我使用了几种技巧来保持高效:

• Prompt Caching(提示词缓存):我使用一个共享的 Claude Haiku 客户端。由于系统提示词保持不变,缓存使得后续调用几乎是免费的。 • Lean Prompts(精简提示词):我将模型摘要截断为 400 个字符。这保持了输入的精简和快速。 • Static Generation(静态生成):我使用 Astro 将数据转换为静态 JSON 文件。用户端不会遇到缓慢的数据库调用或 edge function 延迟。

当 AI 失效时会发生什么?

AI 是不可预测的。有时 Claude 会返回错误的 JSON。

我编写了一个回退(fallback)系统。如果 AI 失效,页面不会崩溃。相反,它会显示一个标准模板,提示用户查看单个模型页面。我在数据库中记录了这些失败,以便稍后重试。

如果重新开始,我会做出哪些改变

如果我今天重新开始,我会改变两件事:

  1. 跨 pipeline 对比:将文本模型与视觉模型进行对比,比对比两个相似的文本模型更有价值。
  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