跳至主要內容

標籤「AI」的 6 篇文章

查看所有標籤

GPT-5.4 / GPT-5.4 mini / GPT-5.4 nano / GPT-4o / GPT-4o mini 費用・效能比較

· 5 分鐘閱讀

本文比較 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.4400K128K2025 年 8 月
GPT-5.4 mini400K128K2025 年 8 月
GPT-5.4 nano400K128K2025 年 8 月
GPT-4o128K16,3842023 年 10 月
GPT-4o mini128K16,3842023 年 10 月

GPT-5.4 系列的 Context 視窗大幅擴展至 400K Token,最大輸出也支援 128K Token。GPT-4o / GPT-4o mini 則分別限制在 128K / 16K。

效能比較

GPT-5.4

GPT-5.4 系列的旗艦模型。代表 OpenAI 當前世代的最高智能,在複雜推理、長文生成、進階程式開發等方面均大幅超越 GPT-5.4 mini。支援所有原生工具(電腦操作、MCP、網路搜尋等),並完整支援多模態輸入輸出。由於輸出費用高達 $15.00/MTok,建議限定在必須取得最高品質輸出的場景使用。

GPT-5.4 mini

GPT-5.4 系列的中階模型,針對程式開發、電腦操作及子代理任務進行最佳化。效能穩定超越 GPT-5 mini,並以更快的速度實現接近旗艦 GPT-5.4 的通過率。與 GPT-5 mini 相比,速度提升確認達 2 倍以上,在程式開發工作流程中提供頂級的效能/延遲權衡。

GPT-5.4 nano

GPT-5.4 系列中體積最小、費用最低的模型。針對速度與成本為首要考量的大量處理使用情境最佳化,例如分類、資料萃取、排序及程式開發子代理。不適合需要深度推理的複雜任務。

GPT-4o

以通用旗艦模型之姿登場,兼具文字與圖片處理的高智能。目前已被 GPT-5.4 系列取代,定位為舊版模型。雖於 2026 年 2 月從 ChatGPT 退役,但 API 存取仍持續提供。

GPT-4o mini

設計定位為「最適合微調的小型模型」。透過蒸餾大型模型(GPT-4o)的輸出,以低成本、低延遲實現同等效果。MMLU 分數為 82.0%。適合希望降低簡單任務推理成本的情境。

該選哪個模型?

  • 大量處理・優先考量成本:GPT-5.4 nano 或 GPT-4o mini。若需要最新知識則選 GPT-5.4 nano,若需要微調則選 GPT-4o mini。
  • 程式開發・代理任務:GPT-5.4 mini。速度與精確度的平衡最佳。
  • 複雜推理・高品質輸出:GPT-5.4。費用為輸入 $2.50、輸出 $15.00/MTok,雖然高成本,但可獲得當代最高品質的輸出。
  • 與舊有系統相容:GPT-4o。API 持續提供,可維持現有的系統整合。

性價比最佳選擇

從性價比角度特別值得關注的是 GPT-5.4 nanoGPT-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 程式碼工具的網路通訊

· 3 分鐘閱讀

透過將 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"

關於 NODE_EXTRA_CA_CERTS

只設定 HTTPS_PROXYHTTP_PROXY 會導致 Node.js 的 TLS 驗證失敗而無法通訊。mitmproxy 在中繼 HTTPS 時使用自簽憑證,而 Node.js 預設會拒絕該憑證。

NODE_EXTRA_CA_CERTS 中指定 mitmproxy CA 憑證的路徑後,Node.js 便會信任該憑證,通訊也就能順利建立。

產生 CA 憑證

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 憑證
  • API 通訊採用 SSE 串流格式
  • 可以查看工具定義和系統提示詞等 AI 程式碼工具的內部結構

在 PowerShell 中呼叫 Vertex AI Gemini API

· 4 分鐘閱讀

介紹如何從 PowerShell 經由 Google Cloud 的 Vertex AI 呼叫 Gemini 模型。涵蓋 OpenAI 相容端點與原生 Gemini 端點兩種方式。

認證方式

gcloud auth(推薦)

不需要 API 金鑰,可直接使用現有的 Google Cloud 認證資訊。

$accessToken = (gcloud auth print-access-token)

API 金鑰

$apiKey = $env:VERTEX_API_KEY

端點

OpenAI 相容端點(gcloud auth 認證)

https://{region}-aiplatform.googleapis.com/v1beta1/projects/{projectId}/locations/{region}/endpoints/openapi/chat/completions

請求與回應格式與 OpenAI API 相同。模型名稱需加上 google/ 前綴(例:google/gemini-2.5-flash-lite)。

原生 Gemini 端點(API 金鑰認證)

https://{region}-aiplatform.googleapis.com/v1/projects/{projectId}/locations/{region}/publishers/google/models/{model}:generateContent

若需要串流請使用 :streamGenerateContent

基本呼叫範例

OpenAI 相容(gcloud auth)

$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

原生 Gemini(API 金鑰)

$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

回應結構

OpenAI 相容

$response.choices[0].message.content # 產生的文字
$response.usage.total_tokens # 總 Token 數
$response.model # 使用的模型

原生 Gemini

$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 ""

加入系統提示

OpenAI 相容

$body = @{
model = $model
messages = @(
@{
role = "system"
content = "您是用日語回答的 AI 助理,請簡潔回覆。"
}
@{
role = "user"
content = "光速是多少?"
}
)
} | ConvertTo-Json -Depth 10

原生 Gemini

$body = @{
system_instruction = @{
parts = @(
@{ text = "您是用日語回答的 AI 助理,請簡潔回覆。" }
)
}
contents = @(
@{
role = "user"
parts = @(@{ text = "光速是多少?" })
}
)
} | ConvertTo-Json -Depth 10

多回合對話

將歷史對話依序放入陣列即可實現多回合對話。

OpenAI 相容

$body = @{
model = $model
messages = @(
@{ role = "user"; content = "你比較喜歡貓還是狗?" }
@{ role = "assistant"; content = "我喜歡貓。" }
@{ role = "user"; content = "為什麼?" }
)
} | ConvertTo-Json -Depth 10

原生 Gemini

助理的角色需指定為 "model"

$body = @{
contents = @(
@{
role = "user"
parts = @(@{ text = "你比較喜歡貓還是狗?" })
}
@{
role = "model"
parts = @(@{ text = "我喜歡貓。" })
}
@{
role = "user"
parts = @(@{ text = "為什麼?" })
}
)
} | ConvertTo-Json -Depth 10

可用模型

模型OpenAI 相容名稱特性
gemini-2.5-flash-litegoogle/gemini-2.5-flash-lite輕量、快速、低成本
gemini-2.5-flashgoogle/gemini-2.5-flash平衡型
gemini-2.5-progoogle/gemini-2.5-pro高精度,適合複雜任務

選擇方式的判斷基準

情況推薦方式
已有 GCP 認證的環境(開發、CI 等)OpenAI 相容 + gcloud auth
只能使用 API 金鑰原生 Gemini
從 OpenAI 移轉中OpenAI 相容(最小化程式碼變更)
需要串流原生 Gemini

注意事項

  • 請勿將 API 金鑰硬寫在腳本中,應從環境變數($env:VERTEX_API_KEY)讀取。
  • gcloud auth 的 token 有效期限約為 1 小時,長時間執行的腳本需要定期重新取得。
  • 每個專案有各自的速率限制與配額,大量發送請求前請事先確認。

比較 Anthropic API 與 AWS Bedrock 的費用

· 3 分鐘閱讀

Claude 若要透過 API 使用,除了直接使用 Anthropic API 外,也能經由 AWS BedrockGoogle Vertex AIMicrosoft Azure (Azure AI Foundry) 使用。基本價格各路徑幾乎相同,但在批次處理與與雲端生態系統整合面會有差異。

單位:USD / 1M 代幣 (MTok)。資料截至 2026 年 3 月。

基本價格(按需)

模型項目Anthropic APIBedrockVertex AIAzure
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 APIBedrockVertex AIAzure
Claude Opus 4.65 分快取寫入$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.65 分快取寫入$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.55 分快取寫入$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 APIBedrockVertex AIAzure
基本價格相同相同相同相同
區域加價+10%(區域端點)
批次處理(50% OFF)未明示
東京區域
IAM / 審計日誌整合AWSGoogle CloudAzure
VPC / PrivateLink
計費整合Anthropic 直接AWSGoogle CloudAzure
新功能推出速度最快會延遲會延遲會延遲

新功能(例如 Extended Thinking)通常會先在 Anthropic API 上推出,向 Vertex AI、Bedrock、Azure 的推展有時會晚幾週。

如何選擇

  • 單純使用/原型開發:Anthropic API,只要一組 API 金鑰即可啟動,新功能也能最先使用。
  • 已整合到 AWS:若需 IAM、CloudWatch、VPC,選 Bedrock。支援東京區域。
  • 已整合到 Google Cloud:Vertex AI 是自然的選擇,但注意區域端點會加收 10%。
  • 已整合到 Azure:可透過 Azure AI Foundry 使用,能整合到 Azure 的計費與管理。
  • 大量使用批次以節省成本:Bedrock、Vertex AI、Anthropic API 都有 50% OFF 的批次 API 可用。

參考

AI 代理人的「技能」是什麼?淺顯說明其運作原理

· 4 分鐘閱讀

將「技能」加入 AI 代理人,就像在應用程式安裝功能擴充一樣,可以增加它能做的事情。本文解說 Agent Skills 的運作方式,以及代理人在內部如何處理任務。

AI 代理人是什麼

首先作為前提,AI 代理人是指「接受指示並能自主執行任務的 AI 程式」。

與像 ChatGPT 那種「問了就回答」的 AI 不同,代理人可以做以下事情:

  • 讀寫檔案
  • 執行程式碼並檢查結果
  • 呼叫外部 API 或工具
  • 自行判斷並執行多步驟流程

技能是什麼

Agent Skills 是一種「用來為代理人新增能力或專業知識的機制」。

比喻成人類的話,就像把「新的工作手冊」交給對方一樣。閱讀了手冊(技能)的代理人就能理解該任務應如何進行,並據此行動。

無技能: 「寫一篇部落格」→ 代理人隨便寫
有技能: 「寫一篇部落格」→ 按照手冊步驟,以一定品質寫出文章

技能主要以 Markdown 檔案(SKILL.md)描述,通常包含以下要素:

  • 步驟說明:要做哪些事、按什麼順序做
  • 腳本:想自動化的處理流程
  • 範例與設定:代理人會參考的資源

為什麼需要技能

AI 代理人能力很強,但不會預先具備你專案特有的知識

例如:

  • 「這個團隊要如何撰寫提交訊息」
  • 「這個部落格的 front matter 要如何寫」
  • 「部署流程要用哪個指令」

這類資訊如果不以技能方式提供,代理人無從得知。有了技能,代理人就能在知道「正確做法」的前提下執行任務。

代理人使用技能時的處理流程

接下來看看代理人在內部如何運作。

重點如下:

1. 載入技能

代理人一開始會載入技能。技能內容成為輸入給 LLM 的一部分(提示)。LLM 讀到後會理解「這個任務的正確做法」。

2. 任務拆解

LLM 根據收到的步驟,將任務拆成小步驟。例如「先閱讀既有文章 3 篇」「接著決定檔名」「寫 front matter」等。

3. 呼叫工具

在每個步驟中,視需要呼叫工具:讀檔、搜尋網路、執行程式碼等,依照技能定義的流程執行。

4. 結果回饋

工具執行的結果會再次傳回給 LLM。LLM 根據結果判斷「下一步要做什麼」,並持續迴圈直到任務完成。

技能指令

技能可以透過斜線指令(/命令名)來呼叫。

呼叫指令時,對應的 Markdown 檔內容會被展開為提示,代理人就會開始依該步驟執行。

技能的應用範圍

Agent Skills 的格式是 由 Anthropic 開發並開放的,目前支援許多工具。

工具是否支援
Claude Code
GitHub Copilot
Cursor
Gemini CLI
OpenAI Codex
VS Code

同一套技能能在多個工具間重複使用,這是很大的優勢。

總結

  • 技能是把專業知識或操作步驟傳給代理人的機制
  • 只要撰寫 Markdown 檔(SKILL.md)描述步驟與規則,就能建立技能
  • 代理人把技能當成提示給 LLM,LLM 會解讀並按步驟執行
  • 這是個開放且跨工具的標準格式,如 Claude Code、Cursor、GitHub Copilot 等均可共用

善用技能可以省去「每次都要向 AI 解釋同一件事」的麻煩,讓代理人以一致的品質完成任務。

透過 API 呼叫 GPT-5

· 1 分鐘閱讀

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 元。
標籤: