透過 OpenRouter 在 Claude Code 使用 DeepSeek V4 Pro 的方法
Claude Code 是 Anthropic 官方的程式碼代理工具,但透過設定環境變數可以經由 OpenRouter 使用像 DeepSeek V4 Pro 這類其他模型。本文說明該設定方法。
Claude Code 是 Anthropic 官方的程式碼代理工具,但透過設定環境變數可以經由 OpenRouter 使用像 DeepSeek V4 Pro 這類其他模型。本文說明該設定方法。
本文比較 OpenAI 目前可用的 API 模型——GPT-5.4、GPT-5.4 nano、GPT-5.4 mini、GPT-4o、GPT-4o mini 的費用、規格與效能,並整理各使用情境下的選擇建議。
單位:USD / 100 萬 Token(MTok)。資訊以 2026 年 4 月為準。
| 模型 | 輸入 | 快取輸入 | 輸出 |
|---|---|---|---|
| GPT-5.4 | $2.50 | $1.25 | $15.00 |
| GPT-5.4 mini | $0.75 | $0.075 | $4.50 |
| GPT-5.4 nano | $0.20 | $0.02 | $1.25 |
| GPT-4o | $2.50 | $1.25 | $10.00 |
| GPT-4o mini | $0.15 | $0.075 | $0.60 |
GPT-4o mini 的輸入與輸出費用均為最低,但知識截止日期為 2023 年 10 月,不適合需要最新資訊的任務。GPT-5.4 nano 的輸入費用與 GPT-4o mini 相近,同時具備 GPT-5.4 系列的品質及 2025 年 8 月為止的最新知識。GPT-5.4(旗艦)的輸入費用與 GPT-4o 相同,但輸出費用高達 $15.00/MTok,適合需要最高品質推理的場景。
使用區域處理端點時,GPT-5.4 系列將額外收取 10% 加成費用。
| 模型 | Context | 最大輸出 | 圖片輸入 | 知識截止日期 |
|---|---|---|---|---|
| GPT-5.4 | 400K | 128K | ○ | 2025 年 8 月 |
| GPT-5.4 mini | 400K | 128K | ○ | 2025 年 8 月 |
| GPT-5.4 nano | 400K | 128K | ○ | 2025 年 8 月 |
| GPT-4o | 128K | 16,384 | ○ | 2023 年 10 月 |
| GPT-4o mini | 128K | 16,384 | ○ | 2023 年 10 月 |
GPT-5.4 系列的 Context 視窗大幅擴展至 400K Token,最大輸出也支援 128K Token。GPT-4o / GPT-4o mini 則分別限制在 128K / 16K。
GPT-5.4 系列的旗艦模型。代表 OpenAI 當前世代的最高智能,在複雜推理、長文生成、進階程式開發等方面均大幅超越 GPT-5.4 mini。支援所有原生工具(電腦操作、MCP、網路搜尋等),並完整支援多模態輸入輸出。由於輸出費用高達 $15.00/MTok,建議限定在必須取得最高品質輸出的場景使用。
GPT-5.4 系列的中階模型,針對程式開發、電腦操作及子代理任務進行最佳化。效能穩定超越 GPT-5 mini,並以更快的速度實現接近旗艦 GPT-5.4 的通過率。與 GPT-5 mini 相比,速度提升確認達 2 倍以上,在程式開發工作流程中提供頂級的效能/延遲權衡。
GPT-5.4 系列中體積最小、費用最低的模型。針對速度與成本為首要考量的大量處理使用情境最佳化,例如分類、資料萃取、排序及程式開發子代理。不適合需要深度推理的複雜任務。
以通用旗艦模型之姿登場,兼具文字與圖片處理的高智能。目前已被 GPT-5.4 系列取代,定位為舊版模型。雖於 2026 年 2 月從 ChatGPT 退役,但 API 存取仍持續提供。
設計定位為「最適合微調的小型模型」。透過蒸餾大型模型(GPT-4o)的輸出,以低成本、低延遲實現同等效果。MMLU 分數為 82.0%。適合希望降低簡單任務推理成本的情境。
從性價比角度特別值得關注的是 GPT-5.4 nano 和 GPT-5.4 mini 這兩個模型。
GPT-5.4 nano 的輸入費用與 GPT-4o mini 相近($0.20 vs $0.15),但可使用 400K Context、2025 年 8 月為止的知識,以及網路搜尋、檔案搜尋、MCP 等所有原生工具。除知識截止日期外,幾乎在所有方面都優於 GPT-4o mini,因此只要不需要微調,遷移至 GPT-5.4 nano 是合理的選擇。
GPT-5.4 mini 的輸入費用($0.75)低於 GPT-4o($2.50/MTok),且在程式開發與代理工作流程中的效能超越 GPT-4o。若日常使用 GPT-4o,切換至 GPT-5.4 mini 很可能同時實現降低成本與提升效能的目標。
另一方面,GPT-4o 目前的性價比偏低。輸入費用與 GPT-5.4 相同($2.50/MTok),在 Context 大小、知識新鮮度及工具支援方面卻全面落後於 GPT-5.4 系列。除非需要微調或與現有系統相容,否則主動選擇 GPT-4o 的理由並不充分。
透過將 mitmproxy 設定為中間人代理,可以即時查看 AI 程式碼工具在背後進行的 API 通訊內容。
許多 AI 程式碼工具是以 Node.js 開發的應用程式,透過 HTTPS 與外部 API 進行通訊。將 mitmproxy 作為中間人代理插入,並讓 Node.js 信任 mitmproxy 的 CA 憑證,即可解密加密的通訊內容並即時查看。
使用 uv 安裝 mitmproxy 最為方便。
uv tool install mitmproxy
在啟動工具之前,先設定以下環境變數。
$env:HTTPS_PROXY = "http://127.0.0.1:8080"
$env:HTTP_PROXY = "http://127.0.0.1:8080"
$env:NODE_EXTRA_CA_CERTS = "$env:USERPROFILE\.mitmproxy\mitmproxy-ca-cert.pem"
只設定 HTTPS_PROXY 和 HTTP_PROXY 會導致 Node.js 的 TLS 驗證失敗而無法通訊。mitmproxy 在中繼 HTTPS 時使用自簽憑證,而 Node.js 預設會拒絕該憑證。
在 NODE_EXTRA_CA_CERTS 中指定 mitmproxy CA 憑證的路徑後,Node.js 便會信任該憑證,通訊也就能順利建立。
mitmproxy 在首次啟動時會自動產生 CA 憑證,並儲存至 ~\.mitmproxy\。若尚未產生,啟動一次即可。
mitmweb
瀏覽器會自動開啟,在 http://127.0.0.1:8081 顯示代理管理介面。
在另一個已設定環境變數的終端機中啟動工具。
開始操作工具後,mitmweb 畫面上就會出現請求流量。
工具會向以下端點發送請求。
POST https://api.example.com/v1/messages
x-service-version: ...
content-type: application/json
x-api-key: sk-...
{
"model": "model-name",
"max_tokens": 16000,
"stream": true,
"system": [
{
"type": "text",
"text": "..."
}
],
"messages": [
{
"role": "user",
"content": "..."
}
],
"tools": [
{
"name": "Read",
"description": "...",
"input_schema": {}
}
]
}
設定 stream: true 後,會以 Server-Sent Events (SSE) 格式接收串流回應。
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Hello"}}
...
data: {"type":"message_stop"}
| 項目 | 內容 |
|---|---|
| API 端點 | api.example.com/v1/messages |
| 認證方式 | API 金鑰 (x-api-key 標頭) |
| 串流方式 | SSE 格式 |
| 工具定義 | 每次請求都包含 |
| 系統提示詞 | 數千至數萬 token 規模 |
系統提示詞中包含 AI 程式碼工具的運作原則、可用工具的說明及注意事項等內容。
NODE_EXTRA_CA_CERTS 讓 Node.js 信任 mitmproxy 的 CA 憑證介紹如何從 PowerShell 經由 Google Cloud 的 Vertex AI 呼叫 Gemini 模型。涵蓋 OpenAI 相容端點與原生 Gemini 端點兩種方式。
不需要 API 金鑰,可直接使用現有的 Google Cloud 認證資訊。
$accessToken = (gcloud auth print-access-token)
$apiKey = $env:VERTEX_API_KEY
https://{region}-aiplatform.googleapis.com/v1beta1/projects/{projectId}/locations/{region}/endpoints/openapi/chat/completions
請求與回應格式與 OpenAI API 相同。模型名稱需加上 google/ 前綴(例:google/gemini-2.5-flash-lite)。
https://{region}-aiplatform.googleapis.com/v1/projects/{projectId}/locations/{region}/publishers/google/models/{model}:generateContent
若需要串流請使用 :streamGenerateContent。
$projectId = "your-project-id"
$region = "us-central1"
$model = "google/gemini-2.5-flash-lite"
$accessToken = (gcloud auth print-access-token)
$body = @{
model = $model
messages = @(
@{
role = "user"
content = "東京的人口是多少?"
}
)
} | ConvertTo-Json -Depth 10
$uri = "https://$region-aiplatform.googleapis.com/v1beta1/projects/$projectId/locations/$region/endpoints/openapi/chat/completions"
$response = Invoke-RestMethod `
-Uri $uri `
-Method Post `
-ContentType "application/json" `
-Headers @{ Authorization = "Bearer $accessToken" } `
-Body $body
$response.choices[0].message.content
$projectId = "your-project-id"
$region = "us-central1"
$model = "gemini-2.5-flash-lite"
$apiKey = $env:VERTEX_API_KEY
$body = @{
contents = @(
@{
role = "user"
parts = @(
@{ text = "東京的人口是多少?" }
)
}
)
} | ConvertTo-Json -Depth 10
$uri = "https://$region-aiplatform.googleapis.com/v1/projects/$projectId/locations/$region/publishers/google/models/${model}:generateContent?key=$apiKey"
$response = Invoke-RestMethod `
-Uri $uri `
-Method Post `
-ContentType "application/json" `
-Body $body
$response.candidates[0].content.parts[0].text
$response.choices[0].message.content # 產生的文字
$response.usage.total_tokens # 總 Token 數
$response.model # 使用的模型
$response.candidates[0].content.parts[0].text # 產生的文字
$response.usageMetadata.totalTokenCount # 總 Token 數
$response.modelVersion # 使用的模型版本
串流(streamGenerateContent)會回傳多個 chunk 的陣列,需將文字串接取出。
$fullText = ($response | ForEach-Object {
$_.candidates[0].content.parts[0].text
}) -join ""
$body = @{
model = $model
messages = @(
@{
role = "system"
content = "您是用日語回答的 AI 助理,請簡潔回覆。"
}
@{
role = "user"
content = "光速是多少?"
}
)
} | ConvertTo-Json -Depth 10
$body = @{
system_instruction = @{
parts = @(
@{ text = "您是用日語回答的 AI 助理,請簡潔回覆。" }
)
}
contents = @(
@{
role = "user"
parts = @(@{ text = "光速是多少?" })
}
)
} | ConvertTo-Json -Depth 10
將歷史對話依序放入陣列即可實現多回合對話。
$body = @{
model = $model
messages = @(
@{ role = "user"; content = "你比較喜歡貓還是狗?" }
@{ role = "assistant"; content = "我喜歡貓。" }
@{ role = "user"; content = "為什麼?" }
)
} | ConvertTo-Json -Depth 10
助理的角色需指定為 "model"。
$body = @{
contents = @(
@{
role = "user"
parts = @(@{ text = "你比較喜歡貓還是狗?" })
}
@{
role = "model"
parts = @(@{ text = "我喜歡貓。" })
}
@{
role = "user"
parts = @(@{ text = "為什麼?" })
}
)
} | ConvertTo-Json -Depth 10
| 模型 | OpenAI 相容名稱 | 特性 |
|---|---|---|
gemini-2.5-flash-lite | google/gemini-2.5-flash-lite | 輕量、快速、低成本 |
gemini-2.5-flash | google/gemini-2.5-flash | 平衡型 |
gemini-2.5-pro | google/gemini-2.5-pro | 高精度,適合複雜任務 |
| 情況 | 推薦方式 |
|---|---|
| 已有 GCP 認證的環境(開發、CI 等) | OpenAI 相容 + gcloud auth |
| 只能使用 API 金鑰 | 原生 Gemini |
| 從 OpenAI 移轉中 | OpenAI 相容(最小化程式碼變更) |
| 需要串流 | 原生 Gemini |
$env:VERTEX_API_KEY)讀取。Claude 若要透過 API 使用,除了直接使用 Anthropic API 外,也能經由 AWS Bedrock、Google Vertex AI、Microsoft Azure (Azure AI Foundry) 使用。基本價格各路徑幾乎相同,但在批次處理與與雲端生態系統整合面會有差異。
單位:USD / 1M 代幣 (MTok)。資料截至 2026 年 3 月。
| 模型 | 項目 | Anthropic API | Bedrock | Vertex AI | Azure |
|---|---|---|---|---|---|
| Claude Opus 4.6 | 輸入 | $5.00 | $5.00 | $5.00 | $5.00 |
| 輸出 | $25.00 | $25.00 | $25.00 | $25.00 | |
| Claude Sonnet 4.6 | 輸入 | $3.00 | $3.00 | $3.00 | $3.00 |
| 輸出 | $15.00 | $15.00 | $15.00 | $15.00 | |
| Claude Haiku 4.5 | 輸入 | $1.00 | $1.00 | $1.00 | $1.00 |
| 輸出 | $5.00 | $5.00 | $5.00 | $5.00 | |
| Claude Sonnet 4.5 | 輸入 | $3.00 | $3.00 | $3.00 | $3.00 |
| 輸出 | $15.00 | $15.00 | $15.00 | $15.00 |
基本價格在各路徑相同。
不過在 Vertex AI 若不是使用全球端點而指定區域端點(regional endpoint),標準價格會額外加收 10%。Bedrock 有 Long Context 變體(另有 SKU),但價格相同。Anthropic API 則已將 Long Context 整合在一般模型中。
Prompt 快取(Prompt Caching)的費用在各路徑也相同。
| 模型 | 快取類型 | Anthropic API | Bedrock | Vertex AI | Azure |
|---|---|---|---|---|---|
| Claude Opus 4.6 | 5 分快取寫入 | $6.25 | $6.25 | $6.25 | $6.25 |
| 1 小時快取寫入 | $10.00 | $10.00 | $10.00 | $10.00 | |
| 快取讀取 | $0.50 | $0.50 | $0.50 | $0.50 | |
| Claude Sonnet 4.6 | 5 分快取寫入 | $3.75 | $3.75 | $3.75 | $3.75 |
| 1 小時快取寫入 | $6.00 | $6.00 | $6.00 | $6.00 | |
| 快取讀取 | $0.30 | $0.30 | $0.30 | $0.30 | |
| Claude Haiku 4.5 | 5 分快取寫入 | $1.25 | $1.25 | $1.25 | $1.25 |
| 1 小時快取寫入 | $2.00 | $2.00 | $2.00 | $2.00 | |
| 快取讀取 | $0.10 | $0.10 | $0.10 | $0.10 |
快取寫入依 TTL 分為 5 分(短期)和 1 小時(長期)兩種。長期快取的寫入成本較高,但如果系統提示(system prompt)很長且會被重複參考,透過節省讀取費用通常是划得來的。
Bedrock、Vertex AI、Anthropic API 三者的非同步批次 API 可享按需價格的 50% 折扣。Azure 目前未明示。
| 模型 | 批次輸入 | 批次輸出 |
|---|---|---|
| Claude Opus 4.6 | $2.50 | $12.50 |
| Claude Sonnet 4.6 | $1.50 | $7.50 |
| Claude Haiku 4.5 | $0.50 | $2.50 |
| Claude Sonnet 4.5 | $1.50 | $7.50 |
若要大量處理資料(例如日誌分析、向量嵌入生成等)並頻繁使用批次處理,無論走哪個路徑都能把成本砍半。
| 比較重點 | Anthropic API | Bedrock | Vertex AI | Azure |
|---|---|---|---|---|
| 基本價格 | 相同 | 相同 | 相同 | 相同 |
| 區域加價 | — | — | +10%(區域端點) | — |
| 批次處理(50% OFF) | ○ | ○ | ○ | 未明示 |
| 東京區域 | — | ○ | ○ | — |
| IAM / 審計日誌整合 | — | AWS | Google Cloud | Azure |
| VPC / PrivateLink | — | ○ | ○ | ○ |
| 計費整合 | Anthropic 直接 | AWS | Google Cloud | Azure |
| 新功能推出速度 | 最快 | 會延遲 | 會延遲 | 會延遲 |
新功能(例如 Extended Thinking)通常會先在 Anthropic API 上推出,向 Vertex AI、Bedrock、Azure 的推展有時會晚幾週。
將「技能」加入 AI 代理人,就像在應用程式安裝功能擴充一樣,可以增加它能做的事情。本文解說 Agent Skills 的運作方式,以及代理人在內部如何處理任務。
首先作為前提,AI 代理人是指「接受指示並能自主執行任務的 AI 程式」。
與像 ChatGPT 那種「問了就回答」的 AI 不同,代理人可以做以下事情:
Agent Skills 是一種「用來為代理人新增能力或專業知識的機制」。
比喻成人類的話,就像把「新的工作手冊」交給對方一樣。閱讀了手冊(技能)的代理人就能理解該任務應如何進行,並據此行動。
無技能: 「寫一篇部落格」→ 代理人隨便寫
有技能: 「寫一篇部落格」→ 按照手冊步驟,以一定品質寫出文章
技能主要以 Markdown 檔案(SKILL.md)描述,通常包含以下要素:
AI 代理人能力很強,但不會預先具備你專案特有的知識。
例如:
這類資訊如果不以技能方式提供,代理人無從得知。有了技能,代理人就能在知道「正確做法」的前提下執行任務。
接下來看看代理人在內部如何運作。
重點如下:
代理人一開始會載入技能。技能內容成為輸入給 LLM 的一部分(提示)。LLM 讀到後會理解「這個任務的正確做法」。
LLM 根據收到的步驟,將任務拆成小步驟。例如「先閱讀既有文章 3 篇」「接著決定檔名」「寫 front matter」等。
在每個步驟中,視需要呼叫工具:讀檔、搜尋網路、執行程式碼等,依照技能定義的流程執行。
工具執行的結果會再次傳回給 LLM。LLM 根據結果判斷「下一步要做什麼」,並持續迴圈直到任務完成。
技能可以透過斜線指令(/命令名)來呼叫。
呼叫指令時,對應的 Markdown 檔內容會被展開為提示,代理人就會開始依該步驟執行。
Agent Skills 的格式是 由 Anthropic 開發並開放的,目前支援許多工具。
| 工具 | 是否支援 |
|---|---|
| Claude Code | ✅ |
| GitHub Copilot | ✅ |
| Cursor | ✅ |
| Gemini CLI | ✅ |
| OpenAI Codex | ✅ |
| VS Code | ✅ |
同一套技能能在多個工具間重複使用,這是很大的優勢。
SKILL.md)描述步驟與規則,就能建立技能善用技能可以省去「每次都要向 AI 解釋同一件事」的麻煩,讓代理人以一致的品質完成任務。
GPT-5 已經公開了,所以我用 PowerShell 試著呼叫它的 API。
$uri = "https://api.openai.com/v1/chat/completions"
$headers = @{
"Authorization" = "Bearer $env:OPENAI_API_KEY"
"Content-Type" = "application/json"
}
$body = @{
model = "gpt-5"
messages = @(
@{
role = "user"
content = "筆記本和鉛筆合計是100元。鉛筆比筆記本便宜40元。鉛筆多少錢?"
}
)
} | ConvertTo-Json -Depth 2
$response = Invoke-RestMethod -Uri $uri -Method Post -Headers $headers -Body $body
foreach($choice in $response.choices){
$choice.message.content
}
30元
理由:
- 設筆記本為 x 元、鉛筆為 y 元,則
- x + y = 100
- y = x - 40
- 代入得 2x - 40 = 100 → x = 70 → y = 30
- 驗算: 70 + 30 = 100,且鉛筆比筆記本便宜 40 元。