設定

語言

如何在不更換模型的情況下,將 AI API 成本降低 30%

L
LemonData
·2026年2月26日·5 次瀏覽
#成本優化#提示詞快取#API 成本#教學
如何在不更換模型的情況下,將 AI API 成本降低 30%

如何在不更換模型的情況下降低 30% 的 AI API 成本

大多數團隊在 AI API 調用上支付了過多的費用。這並非因為選錯了模型,而是因為忽略了三個僅需極少代碼改動的優化方案:prompt caching、智慧模型路由 (smart model routing) 以及批次處理 (batch processing)。

以下是每種技術的詳細分析與實際數據。

1. Prompt Caching:最顯著的成效

如果您的應用程式在每次請求時都發送相同的 system prompt,那麼您正在為供應商已經處理過的 token 支付全額費用。

運作原理

OpenAI 會針對超過 1,024 個 token 的輸入自動進行 prompt 快取。快取的 token 費用僅為標準輸入價格的 50%。您不需要更改任何代碼。

Anthropic 則透過 cache_control 斷點使用顯式快取。寫入成本比標準輸入高 25%,但讀取成本降低了 90%。快取 TTL 為 5 分鐘,並在每次命中時延長。

數據計算

以一個典型的客戶服務機器人為例:

  • System prompt:2,000 個 token
  • 使用者訊息:平均 200 個 token
  • 使用 Claude Sonnet 4.6,每日 5,000 次請求

不使用快取:

每日輸入成本 = 5,000 × 2,200 tokens × $3.00/1M = $33.00

使用 Anthropic prompt caching(假設快取命中率為 95%):

快取寫入:250 × 2,200 × $3.75/1M = $2.06
快取讀取:4,750 × 2,200 × $0.30/1M = $3.14
使用者 token:5,000 × 200 × $3.00/1M = $3.00
每日總計 = $8.20 (輸入成本節省了 75%)

實作方式

from anthropic import Anthropic

client = Anthropic(
    api_key="sk-lemon-xxx",
    base_url="https://api.lemondata.cc"
)

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system=[
        {
            "type": "text",
            "text": "You are a customer support agent for Acme Corp...",
            "cache_control": {"type": "ephemeral"}  # 這將啟用快取
        }
    ],
    messages=[{"role": "user", "content": user_message}]
)

# 在回應標頭中檢查快取效能
# cache_creation_input_tokens vs cache_read_input_tokens

對於 OpenAI 模型,快取是自動進行的。只需確保您的 prompt 超過 1,024 個 token,並保持靜態前綴在請求之間的一致性。

2. 智慧模型路由:為每個任務選擇合適的模型

並非每個請求都需要使用最昂貴的模型。一個分類任務在 GPT-4.1 上的輸入成本為 $2.00/1M token,但在 GPT-4.1-mini 上僅需 $0.40/1M,效果同樣出色,成本卻降低了 5 倍。

路由策略

任務類型 推薦模型 輸入成本/1M
複雜推理 Claude Opus 4.6 / GPT-4.1 $5.00 / $2.00
一般對話 Claude Sonnet 4.6 / GPT-4.1 $3.00 / $2.00
分類、提取 GPT-4.1-mini / Claude Haiku 4.5 $0.40 / $1.00
Embeddings text-embedding-3-small $0.02
簡單格式化 DeepSeek V3 $0.28

實作方式

from openai import OpenAI

client = OpenAI(
    api_key="sk-lemon-xxx",
    base_url="https://api.lemondata.cc/v1"
)

def route_request(task_type: str, messages: list) -> str:
    """選擇能處理該任務且最便宜的模型。"""
    model_map = {
        "classification": "gpt-4.1-mini",
        "extraction": "gpt-4.1-mini",
        "summarization": "gpt-4.1-mini",
        "complex_reasoning": "gpt-4.1",
        "creative_writing": "claude-sonnet-4-6",
        "code_generation": "claude-sonnet-4-6",
    }
    model = model_map.get(task_type, "gpt-4.1-mini")

    response = client.chat.completions.create(
        model=model,
        messages=messages
    )
    return response.choices[0].message.content

實際節省金額

一個程式碼助手將 60% 的請求(語法檢查、格式化、簡單補全)路由到 GPT-4.1-mini,將 40% 的請求(架構設計、除錯)路由到 Claude Sonnet 4.6:

優化前(全部使用 Claude Sonnet 4.6):
  1,000 次請求/日 × 3K 輸入 × $3.00/1M = $9.00/日

優化後(60/40 分流):
  600 次請求 × 3K × $0.40/1M = $0.72/日 (mini)
  400 次請求 × 3K × $3.00/1M = $3.60/日 (sonnet)
  總計 = $4.32/日 (節省了 52%)

3. 批次處理:針對非緊急任務降低價格

OpenAI 提供 Batch API,對輸入和輸出 token 提供 50% 的折扣。權衡之處在於:結果會在 24 小時內交付,而非即時。

適合批次處理的場景:

  • 夜間內容生成
  • 大量文件分類
  • 數據集標註
  • 定期報告生成
# 建立批次檔案 (JSONL 格式)
import json

requests = []
for i, doc in enumerate(documents):
    requests.append({
        "custom_id": f"doc-{i}",
        "method": "POST",
        "url": "/v1/chat/completions",
        "body": {
            "model": "gpt-4.1-mini",
            "messages": [
                {"role": "system", "content": "Classify this document..."},
                {"role": "user", "content": doc}
            ]
        }
    })

# 寫入 JSONL 檔案
with open("batch_input.jsonl", "w") as f:
    for req in requests:
        f.write(json.dumps(req) + "\n")

# 提交批次任務
batch_file = client.files.create(file=open("batch_input.jsonl", "rb"), purpose="batch")
batch = client.batches.create(input_file_id=batch_file.id, endpoint="/v1/chat/completions", completion_window="24h")

4. 額外技巧:減少 Token 數量

在 API 層級進行優化之前,請檢查您是否發送了不必要的 token。

常見的浪費:

  • 冗長的 system prompt,重複模型已經遵循的指令
  • 包含完整的對話歷史,而實際上只有最後 3-5 輪對話才重要
  • 發送原始 HTML/markdown,而純文字即可滿足需求
  • 未使用 max_tokens 來限制輸出長度

prompt 長度減少 30%,直接意味著輸入成本降低 30%。

總結

技術 投入程度 典型節省比例
Prompt caching 低 (添加 cache_control) 輸入成本的 40-75%
模型路由 中 (分類任務) 總體成本的 30-50%
批次處理 中 (非同步工作流) 批次任務的 50%
Token 減量 低 (修整 prompt) 輸入成本的 10-30%

這些技術具有加乘效應。一個實施了這四項技術的團隊,可以切實地將每月 API 帳單從 $3,000 降至 $1,000 以下,且輸出品質不會有任何下降。

核心見解:AI API 的成本優化並非尋找更便宜的供應商,而是針對每個特定任務,以正確的價格等級、正確的快取策略使用正確的模型。


立即開始優化:lemondata.cc 讓您透過一個 API key 存取 300 多個模型,並全面支援 OpenAI 和 Anthropic 模型的 prompt caching。

Share: