Vibe Coder
雲端計費模型與帳單警報:AI API 費用怎麼控制
雲端計費模型與帳單警報:AI API 費用怎麼控制
免費額度不是永遠免費:Railway 的 5 美元 credit 可能幾天就用完,Vercel 的頻寬超出就收費,不懂就突然收到帳單。AI API 的費用更難預測,GPT 或 Claude 每次呼叫費用不固定,大量呼叫或長 prompt 會讓帳單暴增。這篇帶你搞懂計費模式、設好帳單警報,再學幾招把費用省下來。
你將學到什麼
三種計費模式
按用量、按資源時間、按方案月費,各自的費用特性與代表服務。
免費額度速查
Vercel、Railway、Render、Supabase、OpenAI、Anthropic 的免費額度與陷阱。
帳單警報怎麼設
每個平台的警報設定位置,設一次永久有效。
AI API 省錢策略
限制 max_tokens、加 Rate Limit、混用模型,同樣功能省六到八成。
雲端計費的三種模式
| 計費模式 | 說明 | 代表服務 | 費用特性 |
|---|---|---|---|
| 按用量計費 | 用多少付多少,用量歸零就不收費 | Vercel Functions、AWS Lambda | 低流量省錢,高流量可能很貴 |
| 按資源時間計費 | 服務開著就計費,不管有沒有請求 | Railway、EC2 | 可預測,但閒置也要付錢 |
| 按方案月費 | 固定月費,不管用多少 | Render、Heroku | 預算固定,但可能浪費 |
各服務免費額度總整理
| 服務 | 免費額度 | 超出後 | 注意事項 |
|---|---|---|---|
| Vercel | 100GB 頻寬、10 萬次 Function 呼叫/月 | 按量計費 | 流量爆炸就超出,要設警報 |
| Railway | 5 美元 credit/月 | 需要綁信用卡繼續用 | 跑一個服務大概 7 到 10 天用完 |
| Render | 750 小時/月(免費方案) | 需升級付費方案 | 冷啟動慢,7 天不活動暫停 |
| Supabase | 500MB 資料庫、2 個專案 | 需升級 | 7 天無活動暫停,每月需手動喚醒 |
| OpenAI API | 新帳號 5 美元 credit(一次性) | 按 token 計費 | 沒有月費上限,要自己設 |
| Anthropic API | 無免費額度 | 直接計費 | 先儲值才能用 |
| GitHub | 2000 Actions 分鐘/月 | 按分鐘計費 | 私有 repo 才計費,公開 repo 免費 |
帳單警報設定
帳單警報是防止意外費用的最後防線,每個平台都要設定,設定一次永久有效。
| 服務 | 設定位置 | 建議設定 |
|---|---|---|
| Vercel | Settings → Billing → Usage Alerts | 設 10 美元警報 |
| Railway | Account → Usage Alerts | 設 3 美元警報(接近 5 美元 credit 上限) |
| OpenAI | Platform → Settings → Limits | 設月費上限 20 美元,警報 10 美元 |
| Anthropic | Console → Settings → Billing | 設月費上限並設警報 |
| AWS | Billing → Budgets → Create Budget | 設 10 美元警報,每月 1 號重置 |
費用監控與優化
費用突然升高,常見三種原因:Bug 造成無限迴圈,一直呼叫 API 讓 token 費用暴增;爬蟲攻擊,惡意爬蟲瘋狂存取讓頻寬或呼叫次數暴增;遺忘的資源,測試用的服務忘記關掉,一直在計費。
- 加 Cache:相同的查詢結果先快取起來,不用每次都呼叫 API。
- 選便宜的模型:草稿用 Haiku,最終輸出才用貴的模型。
- 設 Rate Limit:限制每個使用者每分鐘能呼叫幾次,防止濫用。
- 縮短 Prompt:去掉不必要的說明,Prompt 越短費用越低。
AI API 費用控制實作
Python 限制 max_tokens(OpenAI):
import openai, os
client = openai.OpenAI(api_key=os.getenv("OPENAI_API_KEY"))
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}],
max_tokens=500,
temperature=0.7
)
Python 簡單 Rate Limiter:
from collections import defaultdict
import time
call_counts = defaultdict(list)
def check_rate_limit(user_id: str, limit=10, window=60) -> bool:
now = time.time()
call_counts[user_id] = [t for t in call_counts[user_id] if now - t < window]
if len(call_counts[user_id]) >= limit:
return False
call_counts[user_id].append(now)
return True
模型選擇決策樹
| 模型 | 適合場景 | 不適合 | 相對費用 |
|---|---|---|---|
| claude-haiku-4-5 | 分類、摘要、簡單問答、大量批次、Subagent | 複雜推理、長文生成 | 最便宜(約 Sonnet 的十分之一) |
| claude-sonnet-4-6 | 日常開發、API 串接、自動化節點 | 極複雜多步驟推理 | 中等(最常用平衡點) |
| claude-opus-4-6 | 複雜架構設計、高品質長文、Orchestrator | 簡單任務(殺雞用牛刀) | 最貴(約 Sonnet 的 5 倍) |
OpenAI vs Anthropic 與費用 Checklist
| 比較面向 | Anthropic Claude | OpenAI GPT |
|---|---|---|
| 指令遵循 | 極強,複雜規範不易偏移 | 強,創意型任務表現好 |
| 程式碼品質 | Sonnet 程式碼品質高 | GPT-4o 能力接近 |
| Context Window | Opus 20 萬 tokens | GPT-4o 12.8 萬 tokens |
| 費用 | Haiku 最便宜,分層明確 | GPT-4o mini 很便宜 |
| API 穩定性 | 版本號明確,不常改 | 版本更替較快 |
- 每個 API 呼叫設 max_tokens 上限
- Anthropic Console 有設月費 Hard Limit
- 相同查詢有 Cache,不重複呼叫
- Subagent 和批次用 Haiku,不用 Sonnet
- Rate Limit 防止單一用戶無限呼叫
- System Prompt 盡量精簡
- 有監控每日費用,突然升高立刻調查
延伸學習
寫給升國一的你的筆記術
寫給剛升上國中的你:筆記不是寫給老師看的,是寫給考前的自己看的。18 章 85 課圖文,從「為什麼要寫」講到七科各自怎麼記,附 78 份可以印出來寫的練習單,以及 80 課家長專區與 34 張三年筆記養成路徑圖。沒有閱讀期限,國一買、國三還在。
NT$ 3,599
做出你的第一個 Skill
一場快閃直播的完整重製。從搞懂 Skill 的五個層級開始,帶你把一件你每天在做的重複工作,寫成一支 AI 真的會照做的 Skill ── 命名、description、輸入拆解、Workflow 訪談、Output 與 Checks,最後組成一份能通過格式檢查的 SKILL.md。
NT$ 999

