Agentic Research
首頁/學習/API、SDK 與那些縮寫:它們各自是什麼、你什麼時候會需要

API、SDK 與那些縮寫:它們各自是什麼、你什麼時候會需要

2026/09/308 分鐘Bryan Chan最後更新 2026/09/30
這篇屬於學習主題入門API開發概念

你打開一個 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:

  1. 體驗差別很大。 一個要花 30 秒的回答,REST 讓你盯著空白螢幕 30 秒,串流讓你在第 1 秒就看到東西開始出現。
  2. 成本指標不同。 串流下有兩個數字:第一個字出現要多久(TTFT)與之後每秒多少字。見 TTFT(首字延遲/第一個 token 的時間) 與 Tokens/second(每秒生成 token 數)。
  3. 除錯方式不同。 串流出錯時你可能收到一半的內容,而 REST 出錯就是完全沒有。

多數工具預設用串流(因為體驗好),但有些功能在串流下不可用(例如某些結構化輸出或工具呼叫)。如果你遇到「同樣的請求有時成功有時失敗」,串流設定是一個該檢查的地方。

五、你到底需不需要自己寫 API 呼叫?

大多數情況下:不需要。

現代的 AI 工具(IDE 型、桌面型、Agent 型)都已經幫你把 API 呼叫包好了。你需要做的是:

  1. 拿到 key(或用工具自帶的帳號體系)
  2. 把 key 放進工具要求的地方(通常是環境變數或設定檔)
  3. 用工具

什麼時候才需要自己寫:

  • 你要做一個工具不支援的整合(例如把模型接進你自己的系統)
  • 你在學程式設計,想理解底層
  • 你要跑批次任務,需要精確控制

如果你只是想用 AI 幫你做事,把力氣花在「怎麼把任務說清楚」上,回報遠高於「學會打 API」。 見 你的第一個 AI 任務。

本站有完整的動手教程:第一次呼叫 LLM API —— 但那是給想理解底層的人,不是使用工具的前置條件。

六、三個縮寫的對照

是什麼你需要它嗎
API一份公開的約定(一個網址 + 格式)你需要知道它存在,通常不需要自己打
API key證明你是誰、記在誰賬上的憑證看情況 —— 開源工具接第三方模型時需要
SDK官方替你把打 API 的細節包好的工具包只有你自己寫程式時才需要

記一個就夠:工具要 key 的時候,問題通常是「我有沒有這家服務的 API 額度」,而不是「我要不要學寫程式」。

下一步