Anthropic
Claude API 入門:為什麼學原生 Anthropic API
已經有 ChatGPT、claude.ai、各種 SDK 包裝層,為什麼要花時間學底層 API。
TL;DR
- 介面好用,但「把 LLM 包進產品」一定走 API——不可能叫客服一封一封貼到 ChatGPT
- 原生 API 比 SDK 包裝薄一層,學會了所有衍生工具(LangChain、LlamaIndex、Vercel AI SDK)的底層都看得懂
- API 多了三個聊天介面沒有的維度:批次處理、自動 eval、模型 A/B
一個情境:客服信件自動分類
老闆早上開會丟一句:「客服信件量爆了,你看看能不能用 LLM 自動分類成『退款 / 帳號 / 技術 / 其他』,先過濾再讓人看。」
如果你只用 ChatGPT,這個任務你做不出來:
- 客服信一天 500 封——總不能複製貼上 500 次
- 分類完要寫進 ticketing system——chat 沒有 API 可以串
- 想試試 Sonnet 跟 Haiku 哪個夠用——介面切不過去
- 想看 prompt 換一個寫法準確率有沒有變高——介面看不到分數
聊天介面是給「一個人問一個問題」用的。產品要的是「程式定時處理一批東西」。這就是為什麼要碰 API。
介面 vs API:差的不是工具,是維度
| 聊天介面 | 原生 API | |
|---|---|---|
| 一次一個問題 | ✅ | ✅ |
| 程式自動跑 | ❌ | ✅ |
| 換模型 A/B | 介面切換 | 改一個字串 |
| 跑 eval 拿分數 | ❌ | ✅ |
| 結果寫進 DB / 觸發其他流程 | ❌ | ✅ |
| 批次處理大量輸入 | 不可能 | ✅ batch API |
API 不比較炫。它做的事就是把「人對 LLM 講話」變成「程式可以排程的函式呼叫」。
為什麼學「原生 API」而不是直接用包裝
LangChain、LlamaIndex、Vercel AI SDK 這些都建在 Anthropic API 之上。讀者常問:直接學上層不就好?
兩個原因:
- 包裝會老。LangChain 經歷過多次 breaking change;Anthropic Messages API 自 2024 推出後一路保持向後相容,新功能(tool use、prompt caching、extended thinking、citations)多以新增欄位的形式進來。底層學一次能用很久。
- 包裝出問題你看不懂。包裝幫你做的事如果你不知道底層怎麼動,debug 的時候會卡住——例如 prompt caching 沒命中、tool call 結構錯誤、streaming event 沒接好。
學會原生 API 後,包裝就是「省你重複打字的工具」。底層出狀況你看得懂裡面在做什麼。
API key 怎麼拿
去 console.anthropic.com 登入,在 API Keys 頁面建一把。重點:
- key 一旦顯示就抄起來,關掉就看不到第二次
- 放
.env,不要進 git(加進.gitignore) - 前端 / mobile app 絕對不能直連——key 一定走自家 server
# .env
ANTHROPIC_API_KEY=sk-ant-...
from anthropic import Anthropic
client = Anthropic() # 自動讀環境變數
課程地圖
這一系列接下來會走:
- 存取 API:第一個 request、multi-turn、streaming、temperature、結構化輸出
- Prompt Eval:怎麼客觀衡量 prompt 改得好不好
- Prompt Engineering:基於 eval 的迭代改進
- Tool Use:讓 Claude 連你的 DB、API、外部世界
- RAG:把長文件 / 公司知識庫接進來
- Claude 進階能力:prompt caching、extended thinking、vision、citations、code execution
- MCP:標準化的 tool 接法(深入請看 MCP 系列)
- Agents 與 Workflows:把上面元件組合成會自己做事的系統
接下來
下一篇先看一個 request 的生命週期——從你按下 send 到 Claude 回字,中間到底發生了什麼,順便把 Opus / Sonnet / Haiku 三個模型的取捨講清楚。

