自助餐的好處是有很多中低價位的菜色可以挑, 而且每一種菜的份量你可以自己決定。 Inference provider 類型的 NeoCloud 提供了很多開放權重的 LLM 模型, 就像自助餐店一樣。 比自助餐點更棒的是: 你在這裡也可以點牛排或松露, 呃, 我是說前沿模型。 他們通常會跟 Anthropic、 OpenAI、 Google 等等大廠合作, 所以他們的客戶也可以 (不需要固定訂閱! 而是) 按用量計價地使用最先進、 最昂貴的模型。
OpenRouter 就像是佈滿自助餐店的美食街或夜市, 而且你指定每一樣菜的時候, 它還會自動幫你挑最便宜或最好吃的那一攤, 直接送到你面前。 也就是說你點的雞腿可能來自 A 攤, 蒸蛋卻是來自 B 攤, 外加 1/3 份量的王品菲力牛排。 當然, OpenRouter 本身也會抽取手續費, 目前是 5.5%。
那麼, 以下就假設你已 開設 OpenRouter 帳號、 創了一個 API Key (後者在寫程式或玩 agent 時才會用到)。 點右上方的 Chat, 再到左上方點選一個模型, 然後就可以開始測試對話。 用同一個模型連續對話, 比較能夠享用 cache 優惠價; 對話到一半想換模型也可以。 不過我以 chat 方式採用 GLM 5.3 flash 的時候, 有好幾次卡死, 等了至少十分鐘有吧, 一直卡在 "shell running" 的步驟。 切換到 Dashboard => Activity, 看到一筆標記為 「unknown」 的費用, 切換分頁逛別的網頁, 來回看了好幾次, 一直還在持續增加! 直到我把那整個對話刪掉, 它才停止燒錢。 ⚠️ 總之, 使用這個模型時, 一定要確認它沒有卡住, 以免持續被扣錢。
甚至可以一次點選好幾個模型, 對它們下同一個提示詞, 看它們的即時表現/比賽。
接下來就談一下我如何在 OpenRouter 挑模型。 先測試一下取得模型列表清單, 簡短版。 不需要註冊、 不需要 API key, 直接在瀏覽器裡造訪 這個網址 就會得到最聰明的 20 款模型清單; 造訪 這個網址 就會得到最適用於 AI agent 的 20 款模型清單。 因為並不是每種評分都包含所有個模型, 所以上述清單可能會遺漏掉一些知名模型。
官網文件
列出完整的查詢參數, 其中 limit 的預設值是 500,
output_modalities (輸出文字? 圖片? 聲音? 影片?) 的預設值是 "text" 。 所以我下指令:
wget -O or-models.json 'https://openrouter.ai/api/v1/models?sort=agentic-high-to-low'
抓回適合驅動 agent 的所有模型清單,
並且用 jq '.data[] | .id' or-models.json | wc 數了一下,
總共有將近 500 筆。 未來如果超過, 一定要加上 sort 條件,
才會正確地省略較不重要的模型。
接著用 jq 抓出重要的參數、 存成 csv 檔:
jq -r '
(["id","modality","input","output","cached_input","intelligence","coding","agentic"]),
(.data[] | [
.id, .architecture.modality,
((.pricing.prompt | tonumber) * 1e6 * 100 | round / 100),
((.pricing.completion | tonumber) * 1e6 * 100 | round / 100),
((.pricing.input_cache_read // "0" | tonumber) * 1e6 * 100 | round / 100),
.benchmarks.artificial_analysis.intelligence_index,
.benchmarks.artificial_analysis.coding_index,
.benchmarks.artificial_analysis.agentic_index
]) | @csv
' or-models.json | sed 's#"##g; 1s#^#provider,#; s#/#,#' > or-models.csv
(註: 我試過 jq + miller/mlr, 但是太複雜的 json 結構會讓 mlr 吐出 "exiting due to data error", 到最後 ChatGPT 還是建議先由 jq 抓出少數欄位再交給 mlr。 那其實這一階段就不太需要用 mlr 了。)
抓這些欄位, 目的是要做資料視覺化, 做性能價格比較。
input、 output、 cached_input 是費率;
後三欄是性能, 取自 Artificial Analysis,
我們將拿其中兩欄來比較。
但是我們先刪除批次處理的列 (:batch)、 免費的列 (:free) (不固定, 且通常很慢)、
不固定版本/永遠的最新版 (以 ~ 開頭), 才抓取 「agentic 欄位非空」 的列:
grep -Pv ':batch|:free|^~' or-models.csv | mlr --csv filter 'is_not_empty($agentic)' > or-agentic.csv
用 wc 數數看, 有 94 列 (93 筆資料)。
如果數 「coding 非空的列」, 有 117 列; 「intelligence 非空的列」, 有 36 列。
其實我對 intelligence 比較有興趣; 不過如果要畫圖,
顯然, 第二欄如果選取 coding 會比選取 intelligence 可以留下更多模型來比較。
對, 我知道這有點像是 在路燈下找鑰匙...
所以我分享這些指令, 讓你可以改成 「拿更有意義的數值來做比較」,
例如原始 json 資料的 benchmarks.design_arena 欄位底下
還有一些關於遊戲開發、 手機程式開發、 試算表、 投影片、
UI 介面等等不同專長能力的評分, 可能更適合你的應用需求。
用 head -n 41 or-agentic.csv 撈出 40 個頂尖模型,
再用 scatplot
畫成 ==> 互動版 OpenRouter 頂尖模型比較圖 <==。
另外又用 grep -P '^(provider|aion-labs|amazon|anthracite-org|cohere|fireworks|google|gryphe|ibm-granite|inference-net|liquid|meta|meta-llama|microsoft|mistralai|moondream|nousresearch|nvidia|openai|perceptron|perplexity|poolside|prism-ml|reflection|thinkingmachines|x-ai)' or-agentic.csv > or-nc.csv
得到非紅模型 (非中國模型), 剩下 47 個模型。
再用 grep -Po '^[^,]+,[^,-]*' or-nc.csv | sort | uniq -c > provider-id.csv
得到各家廠商各系列的模型數, 又經過 (人工或 AI) 瑣碎的步驟過濾,
最後用 scatplot 畫成 ==> 互動版 OpenRouter 開放權重非紅模型比較圖 <==。
本文最前面就是上述兩張圖的靜態版。 圓圈的大小是: I/O 費用加權值, 開一次或兩次根號, 再取倒數, 也就是: 圓圈越大越顯眼代表該模型越便宜。 兩張圖的公式不太一樣, 因為頂尖模型的圖當中, z-ai/glm-5.3-flash 超便宜, 如果只開一次根號, 會大到遮蓋掉其他許多模型。
如果不介意用中國模型, glm-5.3-flash 是性價比最高的模型。 但是它偶爾會當掉, 似乎都是在使用 shell 的情況下。 (我的不負責任猜想: 它不小心下錯指令, 在等 stdin 輸入?) 所以使用時一定要盯著它看, 不要讓它長時間自主運作。 次選可能是 deepseek-v4-flash-0731, 我沒試過。 如果偏好西方模型, 我會選 gpt-5.6-luna - 上述的繁瑣步驟, 我就是叫它完成的。 在前沿模型當中, 相對經濟實惠, 又比開放模型強大很多。
如果是比較單純的例行性工作, 我偏好用開放權重非紅模型。 前幾週舊版的這張圖畫得不完整, 我最常用的是比較便宜的 nemotron-3.5-lightning 或是比較強的 gemma-4-31b-it, 做事還真的卡卡的。 這幾天經過好幾次修正, gpt-5.6-luna 幫我做出比較完整的篩選, 發現了 inkling-small 這個模型, 稍微貴一點, 但是 agentic 能力比其他開放權重非紅模型好很多, 甚至擠進頂尖模型的後段 (請記得: 兩圖的圓圈大小公式不同), 下次可能會拿它來測試。 是說, 如果不堅持用開放模型, 那麼還是回頭用 gpt-5.6-luna 更划算。
善用客觀的開放資料, 據此做出明智、 符合自己價值觀的抉擇, 你會感謝自己曾經用心研究, 而不是人云亦云, 隨波逐流, 甚至是基於講不出道理的 品牌忠誠, 以致選到不符合自己需求與價值觀的選項。 挑自助餐也許不需要這麼辛苦; 但是 agent 大腦的選擇 (還有投票也是) 真的值得你花一些心思去了解。 尤其是當別人都已經幫你初步整理好了, 更應該善用。
大人問小孩: 「全世界的玩具隨便你挑? 這怎麼可能?
如果我要的玩具只有一個, 正好又被別人借走了呢?」
沒有留言:
張貼留言
因為垃圾留言太多,現在改為審核後才發佈,請耐心等候一兩天。