This article is not yet available in English. You are reading the Traditional Chinese original. The English edition will appear here once it is translated.
Browse articles that do have an English editionAPI、SDK 與那些縮寫:它們各自是什麼、你什麼時候會需要
你打開一個 AI 工具的設定,它問你要「API key」。 你讀一篇教學,它說「用官方 SDK」或「直接打 REST API」。 你看一個定價頁,它寫「每百萬 token」。
這三個縮寫指的是同一條鏈上的不同環節。搞混它們不會讓你用不了工具,但會讓你在出問題時不知道該查哪裡。
一、API:一份公開的約定
API 是「你照規定的格式發請求過去,對方照規定的格式回結果」。
關鍵是你不需要知道對方內部怎麼實作。就像你按電梯按鈕不需要懂馬達 —— 按鈕的位置與含義是約定好的,那就夠了。
對 AI 工具來說,那個約定大致是:
你送: 一段 JSON,裡面有模型名稱與你的訊息
它回: 一段 JSON,裡面有模型的回答
HTTP 層面的細節(方法、標頭、狀態碼)見 網路是怎麼說話的。這裡只講你需要知道的:
- API 是一個網址。例如
https://api.某家.com/v1/chat/completions。那個/v1/是版本號 —— 版本號不對會得到 404,這是初學者最常見的錯誤之一。 - 它需要憑證,就是 API key,放在
Authorization標頭裡。 - 它有速率限制(429)與額度。見 Rate Limit(速率限制) 與 AI 是怎麼計費的。
二、API key:為什麼有些工具要、有些不用
API key 是「你是誰 + 記在誰賬上」的憑證。
| 情況 | 需不需要你自己的 API key |
|---|---|
| 你訂閱了某個產品的方案(例如某個 IDE 的付費版) | 通常不用 —— 它用自家帳號體系,費用含在訂閱裡 |
| 你用一個開源工具接第三方模型 | 需要 —— 那個工具不知道你是誰,也不替你付錢 |
| 你自己寫程式呼叫模型 | 需要 |
這是初學者最常搞混的一件事:裝了一個開源工具,它要 API key,你以為自己「已經付錢給某家訂閱了」就應該能用。訂閱網頁版與擁有 API 額度常常是兩套獨立的計費,而且不同供應商的做法不同 —— 這一點你必須在自己的帳單頁面確認,本站不替任何供應商斷言它們的方案怎麼組合。
關於 key 本身的安全(放哪裡、不能貼給誰、洩漏了怎麼辦),見 什麼是 API key。
三、SDK:別人替你把細節包好了
SDK 是某家服務官方打包的工具包,把呼叫它 API 的細節包成幾個好用的函式。
對比一下同一件事的兩種做法:
直接打 API(你要自己組請求、處理標頭、解析回應、處理錯誤):
import urllib.request, json
req = urllib.request.Request(
"https://api.example.com/v1/chat/completions",
data=json.dumps({"model": "x", "messages": [{"role": "user", "content": "hi"}]}).encode(),
headers={"Authorization": "Bearer KEY", "Content-Type": "application/json"},
)
resp = json.loads(urllib.request.urlopen(req).read())
print(resp["choices"][0]["message"]["content"])
用 SDK:
from example import Client
client = Client(api_key="KEY")
print(client.chat("hi"))
差別不只是短。 SDK 通常還幫你處理了:重試、逾時、串流、錯誤分類、型別提示。
什麼時候用哪個
- 用 SDK:幾乎所有情況。它是官方維護的,API 改版時它會跟著更新。
- 直接打 API:SDK 不支援你的語言、或你在一個不能裝套件的環境、或你需要 SDK 還沒包的新功能。
一個實務提醒:SDK 有版本。一個兩年前的 SDK 可能還在打已經下線的 API 版本,症狀是莫名的 404 或 400。遇到時先確認 SDK 版本,再看 API 文件。
四、REST 與串流:兩種回應方式
REST(一般請求):你送一次,它想完,一次回全部。在它想完之前你什麼都看不到。
串流(streaming):它一邊想一邊把字回給你,所以你在介面上看到文字逐字出現。
為什麼這 matters:
- 體驗差別很大。 一個要花 30 秒的回答,REST 讓你盯著空白螢幕 30 秒,串流讓你在第 1 秒就看到東西開始出現。
- 成本指標不同。 串流下有兩個數字:第一個字出現要多久(TTFT)與之後每秒多少字。見 TTFT(首字延遲/第一個 token 的時間) 與 Tokens/second(每秒生成 token 數)。
- 除錯方式不同。 串流出錯時你可能收到一半的內容,而 REST 出錯就是完全沒有。
多數工具預設用串流(因為體驗好),但有些功能在串流下不可用(例如某些結構化輸出或工具呼叫)。如果你遇到「同樣的請求有時成功有時失敗」,串流設定是一個該檢查的地方。
五、你到底需不需要自己寫 API 呼叫?
大多數情況下:不需要。
現代的 AI 工具(IDE 型、桌面型、Agent 型)都已經幫你把 API 呼叫包好了。你需要做的是:
- 拿到 key(或用工具自帶的帳號體系)
- 把 key 放進工具要求的地方(通常是環境變數或設定檔)
- 用工具
什麼時候才需要自己寫:
- 你要做一個工具不支援的整合(例如把模型接進你自己的系統)
- 你在學程式設計,想理解底層
- 你要跑批次任務,需要精確控制
如果你只是想用 AI 幫你做事,把力氣花在「怎麼把任務說清楚」上,回報遠高於「學會打 API」。 見 你的第一個 AI 任務。
本站有完整的動手教程:第一次呼叫 LLM API —— 但那是給想理解底層的人,不是使用工具的前置條件。
六、三個縮寫的對照
| 是什麼 | 你需要它嗎 | |
|---|---|---|
| API | 一份公開的約定(一個網址 + 格式) | 你需要知道它存在,通常不需要自己打 |
| API key | 證明你是誰、記在誰賬上的憑證 | 看情況 —— 開源工具接第三方模型時需要 |
| SDK | 官方替你把打 API 的細節包好的工具包 | 只有你自己寫程式時才需要 |
記一個就夠:工具要 key 的時候,問題通常是「我有沒有這家服務的 API 額度」,而不是「我要不要學寫程式」。
下一步
- 什麼是 API key —— key 的安全:放哪裡、不能貼給誰
- 網路是怎麼說話的 —— 狀態碼、標頭、CORS 那些你出錯時會看到的東西
- 第一次呼叫 LLM API —— 想動手理解底層的話
- AI 是怎麼計費的 —— token、為什麼長對話越來越貴
- 三層 LLM API 矩陣 —— 進階:不同 API 形態的取捨
- API(應用程式介面) / SDK(開發工具包) / Script(腳本) / Rate Limit(速率限制) / TTFT(首字延遲/第一個 token 的時間)
More in Learn
- Complete LangChain Tutorial 2026: Building Enterprise-Grade LLM Applications from Scratch
- MemoryHub v2.0 System Architecture In-Depth Analysis: From Capture Daemon to MCP Real-Time Memory Capture
- May 2026 LLM API Pricing Landscape: Complete Comparison of DeepSeek, Qwen, GLM, Kimi, MiniMax, and Doubao
- Cross-Channel Memory Hub: A Full Record of the Memory System Architecture Design for OpenClaw Agent