← → 翻页 · ESC 索引
生成式 AI 職訓 140hr · 弄一下工作室
Vol.13 · D13 / 20 講義 · Part 6
Day Thirteen · 4–5 hours · Part 6 開場

API 基礎

從會用 ChatGPT,到會用 ChatGPT 的 API

Part 5 你把工具部署上 Vercel,但中間還有一層被遮住的東西:API 是怎麼被呼叫的、Token 怎麼計費、出錯怎麼接
Part 6 第一天,把這層黑盒子打開,再用 Node 與 Python 把後端中介層各寫一次。

Vol.13·CH6-1 · CH6-2·2026
Duration · 4-5 小時授課 · D13 / 20 · Part 6 開場
D13 為 Part 6「AI 應用開發進階」開場 deck
— D13 / 20 —
Part 6 · 開場主張
02 / 30 講義 · Part 6
Why Now · 為什麼今天要打開黑盒
會用聊天視窗只是使用者 會打 API 才是開發者

Part 5 之前你都靠別人寫好的 SDK / 介面。
Part 6 開始,你要自己對著一條 HTTP 請求負責:金鑰、計費、錯誤、節流,全部自己接住。

— Part 6 開場主張·HTTP / Token / Error
Page 02 · The Premise
D13 · 開場金句
Part 6 · Map · 全景地圖
03 / 30 講義 · Part 6
The Map · Part 6 全景 / 今日落點

22 小時 / 5 章 + 4 PRAC,今天先吃前兩章

D12 · 上次
演練庫
PRAC5-5 ~ PRAC5-12 · 4hr。8 個小工具速做:紅綠燈看板、抽籤器、熱點圖、Kanban。
D13 · 今天
API 基礎
CH6-1 + CH6-2 · 4–5hr。HTTP 請求結構、Token 計費、錯誤處理、Node / FastAPI 中介層。
D14 · 下次
Function · Agent
CH6-3 + CH6-4 · 4–5hr。Function Calling / Tools 思維、Agent 工具鏈與多步驟。
Part 6 總量
22hr
5 章 + 4 PRAC。API → Function → Agent → Streaming → RAG → Evals / Guardrails / 成本。
節奏建議:CH6-1 約 2.5hr 走完 Request/Response 結構 + Token 計費 + Rate Limit + 錯誤處理 + curl/多模型 hands-on;CH6-2 約 2hr 補 Node Express 與 FastAPI 兩個中介層。中段保留 1 個收束點,把今天 hands-on 做出來的 server 留著當 D14 / D15 接 Function / Streaming 的底層。
Page 03 · Today's Map
D13 / Part 6 · 2 章
第一幕 · CH6-1 · API 基礎
Act I · 04 / 30
Act I · CH6-1 · 約 2.5–3 hr

API、後端代理
與錯誤處理

每一次呼叫,都是一條 HTTP 請求

Part 5 你已經學會把 API key 藏到後端代理裡。
這節再往下挖一層:請求長什麼樣、Token 怎麼算錢、錯誤怎麼接

Act I 開幕
— CH6-1 —
Why · 為什麼往下挖一層
05 / 30 講義 · CH6-1
The Why · 為什麼開發者一定要看懂這層

看不懂 API,就只能當使用者

看懂錯誤訊息
401 / 429 / 500
看到三位數字就知道該動哪裡,不用憑感覺猜。
控制每月帳單
Token × 單價
能預估「上線後一個月會花多少」,不會被通知信嚇到。
設計合理體驗
Retry / Fallback
使用者看到的不是「錯了」,而是下一步
學員背景提醒:到這節為止你已經會做工具、會部署、會藏金鑰。下半段差的就是「對 API 這條 HTTP 請求每個欄位都認得」——這是 D14 Function Calling、D15 Streaming / RAG、D16 Evals / Guardrails 的共同地基。
Page 05 · The Why
CH6-1 · §0
HTTP · Request 與 Response
06 / 30 講義 · CH6-1
API Fundamentals · 一次呼叫的兩個包裹

每次呼叫 AI,本質都是一條 HTTP 請求

Request · 你送出的
method · URL · headers · body

method:通常是 POST
URL:API 端點
headers:身份驗證(Authorization)+ 內容格式(Content-Type)
body:你的 prompt 與參數(JSON)

Response · 你收到的
status · headers · body

status code:200 / 401 / 429 / 500(下面細講)
headers:剩餘配額(rate limit remaining)
body:模型回應的 JSON(含 usage 計費資訊)

講師示範:講義上有一段完整的 Anthropic API 請求範例(POST /v1/messages + x-api-key + JSON body)。打開講義 ★ 邊講邊指 headers / body 各欄位的位置,學員第一次看 raw HTTP 容易暈,用講義那段當對照最省力。
Page 06 · Request / Response
CH6-1 · §1
Status Code · 五個必認的數字
07 / 30 講義 · CH6-1
Status Code · 看到數字就知道該動哪裡

5 個 Status Code 把 90% 的場景都講完了

200
成功 · 拿 body 解 JSON
最常見也最沒事。記得從 usage 欄位抓 input / output token 寫進 log。
400
你的 request 有問題
JSON 格式錯、必填欄位缺、model 名稱拼錯都會回 400。你的鍋,要修程式
401
金鑰錯 / 過期 / 被撤銷
先 echo 環境變數有沒有讀到、再看 Bearer 前綴、最後上後台確認 key 沒被 revoke。
429
你打太快 · Rate Limit
不要立即重試(會更糟),用指數退避(下面 §3 會教),等 1s → 2s → 4s。
5xx
伺服器端炸了 · 你只能等
500 / 502 / 503 / 504 / 529(Anthropic 過載)。重試 1–2 次後放棄並 log,別讓使用者看到 Stack Trace
口訣:4xx 是的錯(可修)·5xx 是的錯(只能等)·429 是中間的灰色地帶(該退讓再試)。
Page 07 · Status Code
CH6-1 · §1
Token · 計費直覺
08 / 30 講義 · CH6-1
Token Cost · 不是按次計費,是按字計費

每個字都在算你錢,連 system prompt 也算

英文 1 字 ≈
1.3tk
標點、空白也佔 token,不是「一個字一個 token」這麼簡單。
中文 1 字 ≈
1.5–2tk
中文 token 比英文密。300 字的 system prompt 約 450–600 token。
輸出單價
3–5×
輸出 token 比輸入貴 3–5 倍。控成本第一條:限制 max_tokens
講義範例:System Prompt 300 tk + User 50 tk + Output 200 tk,單次 ≈ $0.001。看起來很小?1000 次 = $1.08,每天 1 萬次的工具一個月就是三位數美金——上線前不算清楚,帳單會嚇人。
Page 08 · Token Cost
CH6-1 · §2
Cost Control · 4 招把帳單壓下來
09 / 30 講義 · CH6-1
Cost Control · 上線前必跑的 4 個動作

控 Token 成本,4 招打天下

01
設 max_tokens 上限
不要用預設值。客服回覆設 200、摘要設 400、長文生成才開 1024+。第一道煞車
02
選對模型 · 簡單任務用 Haiku
分類 / 擷取 / 格式轉換 → Haiku;複雜推理 → Sonnet / Opus。成本差 10–100 倍
03
開 Prompt Caching
長且固定的 system prompt 開 cache,後續呼叫的輸入 token 成本降 90%。高頻工具必用。
04
寫 usage 進 log
response.usage 的 input_tokens / output_tokens 一定要存。沒紀錄就無法優化
順序很重要:先 01(馬上能做)→ 02(下一輪改)→ 03(高頻才划算)→ 04(從第一行就要寫)。04 不寫,前 3 條都沒辦法驗證
Page 09 · Cost Control
CH6-1 · §2
Mini Practice 1 · 估算成本
10 / 30 講義 · CH6-1
動手 · 約 15 分鐘

估你手上一個工具,單次與月帳單

操作步驟
  1. 挑一個你 Part 5 做過或正在規劃的工具,把 system prompt 全文貼出來。
  2. 數中文字數 × 1.5 估 token;user / output 也估個中位數。
  3. 對照 Haiku / Sonnet / Opus 三檔單價,算單次成本。
  4. 假設 500 次 / 天 × 30 天,算月成本。
  5. 挑出三個優化方向:瘦身 system prompt、開 cache、降級模型。
講義備好的範本

沒有現成工具?講義 ★ 的「客服 FAQ 回覆助理」段落含:
· 320 字 system prompt 原始素材
· 一段直接貼 ChatGPT / Claude 的成本估算 Prompt(含三模型單價、輸出格式)
· 預期輸出片段(供對照)

講師動作:學員開講義對照素材,20 分鐘可以完整跑一輪,最後請 3 位上來公布月帳單數字(會差到 10 倍以上)。
Page 10 · Mini Practice 1
CH6-1 · §2 hands-on
Rate Limit · 指數退避
11 / 30 講義 · CH6-1
Rate Limit · 收到 429 不要直接再打

指數退避:每次等待時間加倍

T0
第一次失敗
收到 429。等 1 秒再試(不是立即重打)。
T1
第二次失敗
還是 429。等 2 秒再試。每次等待時間 × 2。
T2
第三次失敗
繼續 429。等 4 秒。一般 maxRetries = 3,超過就回報失敗。
主動監控配額
Anthropic response headers 有 anthropic-ratelimit-requests-remaining / tokens-remaining。高流量工具可在接近上限主動減速,不等被打回。
為什麼要加倍:如果所有重試都間隔 50ms 同時湧入,會把上游壓得更慘。指數退避的本質是讓壓力分散。重試只對 429 / 5xx 開,其他 4xx(如 400 / 401 / 413)立刻 throw,不要幫使用者重試錯誤輸入。
Page 11 · Exponential Backoff
CH6-1 · §3
Mini Practice 2 · 退避重試
12 / 30 講義 · CH6-1
動手 · 約 20 分鐘

把退避重試接進你 Part 5 的後端代理

操作步驟
  1. 把 Part 5 的後端代理打開,找到 messages.create / chat.completions 那行。
  2. 用 callWithRetry(fn, maxRetries=3) 包起來。
  3. 只對 429 + 5xx 退避;其他 4xx 立刻 throw 給前端。
  4. console.log 印「第 N 次重試,等待 Xms」。
  5. 寫個小腳本連發 20 次請求,驗證退避真的有觸發
講義備好的範本

講義 ★ 已備:
· 沒有重試的 Express 原始版(40 行)
· 一段「指數退避重試重構器」Prompt(指定退避時間、log 格式、超限後 503)
· 預期輸出片段含 [ADD] / [CHANGED] 註解規範

講師動作:讓學員把範本素材貼進 Claude / ChatGPT,產生完整 server.js 後當場跑,刻意打爆配額看 log 真的依 1s → 2s → 4s 顯示。
Page 12 · Mini Practice 2
CH6-1 · §3 hands-on
Error Handling · 4xx vs 5xx
13 / 30 講義 · CH6-1
UX First · 永遠給使用者下一步

4xx 告訴他能做什麼·5xx 告訴他你在處理

400
請求格式錯
使用者看到「請重新確認後送出」。後端檢查輸入驗證邏輯。
401
金鑰失效
使用者看到「服務暫時無法使用」。不要暴露金鑰問題給前端。
413
輸入太長 · 超 context
「文字太長,建議 2000 字內」。前端加字數限制與即時警示。
429
速率限制
「目前使用人數較多」+ 自動退避重試。使用者不需要知道是 rate limit
500
伺服器內部錯
「AI 服務暫時無法使用」+ 重試 1–2 次後放棄並寫 log。
529
Anthropic 過載
「服務目前負載較高」+ 等 30 秒重試。有 loading 狀態讓使用者知道你沒卡住。
Page 13 · UX for Errors
CH6-1 · §4
Hands-on Lab · CH6-1
14 / 30 講義 · CH6-1
Hands-on · 兩情境串完 §1–§4

看再多文件,不如自己打一次

情境 A · 第一次打 ChatGPT API
純 curl · 看穿 headers / body / status

· 環境變數存 OPENAI_API_KEY
· curl + -i 把 response headers 一起印
· 觀察 x-ratelimit-remaining-requests
· 認得 200 / 401 / 429 / 400 各長怎樣
成功條件:能指認 choices[0].message.content 與 usage 三欄位

情境 B · 三模型對照
同 prompt × ChatGPT / Claude / Gemini

· Python + 三家 SDK
· 固定 temperature 0、固定 prompt
· 跑出 3×5 表:模型|回覆前 60 字|pt|ct|延遲
成功條件:能憑數字(不是感覺)挑出預設模型

講師動作:講義 ★ 兩段程式碼可直接複製貼 Terminal / Python。建議現場示範情境 A(5 分鐘)+ 學員自己跑情境 B(25 分鐘)。延伸挑戰留給有餘力者:同題三溫度、故意打壞、加計成本欄。
Page 14 · Lab CH6-1
CH6-1 · §5
第一幕收束 · CH6-1 → CH6-2
Act I · 15 / 30
Act I · 收束 · API 黑盒打開了

會打 API,
不等於會包好它

curl 跑得通是「會用」,但上線給別人用,
你還缺一層真正的後端中介層——這是 CH6-2 要補齊的。

下一段·Node Express + Python FastAPI
Act I 收束
— → Act II —
第二幕 · CH6-2 · 後端中介層
Act II · 16 / 30
Act II · CH6-2 · 約 2 hr

後端中介層
Node × FastAPI

同一個 /api/chat,兩種語言各寫一次

原 CH6-2 講題目是 Embedding 與向量搜尋(會挪到 D15 RAG 那天),
本日聚焦 hands-on Lab:把前端代理升級成正規後端中介層。

Act II 開幕
— CH6-2 —
Why Proxy · 中介層的三件事
17 / 30 講義 · CH6-2
Why Proxy · 為什麼前端不能直打 API

中介層收攏的三件不可外包的事

藏金鑰
API Key
放前端 = 任何人開 DevTools 都能複製。Key 一旦外洩要立刻 revoke 換新
收計費
usage log
每次呼叫的 input / output token 寫進 DB,才知道誰用多少 / 該不該設配額
擋亂流量
rate limit
CORS / IP 限速 / 身份驗證都要在後端。前端的限制都可被繞過。
口訣:中介層不是選配,是結構性需求。轉一次只會慢一點點,但少了它你的 key、帳單、權限三件事都沒辦法守。任何 AI 應用上線前,沒中介層 = 沒上線。
Page 17 · Why Proxy
CH6-2 · 開場
Common Shape · 兩語言的共通骨架
18 / 30 講義 · CH6-2
Common Shape · 不管哪個語言都長這樣

一個 /api/chat endpoint,5 個必備動作

01
收 POST · 解 JSON body
{ prompt }。設 body 大小上限(如 32kb),不讓人亂送。
02
驗證輸入 · 不合法回 4xx
空字串 → 400;超長 → 413。讓使用者改對,不浪費 API 額度。
03
設 CORS · 只開前端網域
不要 *。dev 開 localhost:5173,prod 開正式網域。
04
呼 API · 處理重試
用 §3 教過的 callWithRetry 包起來。429 / 5xx 退避;其他 4xx 立刻拋。
05
回 { text, usage } · 寫 log
前端要 text 顯示,usage 留給計費 dashboard / 異常告警用。
講師說明:下兩頁分別用 Node Express 與 Python FastAPI 各跑一次這 5 步。骨架完全相同,差別在語法習慣與生態工具——這也是「選哪個語言寫」的本質:看團隊熟誰、看部署平台支援誰
Page 18 · Common Shape
CH6-2 · 雙語對比
Node · Express 中介層
19 / 30 講義 · CH6-2
Node Express · 30 行能跑的版本

express + cors + openai SDK,三個套件就齊

關鍵概念
  • dotenv:自動讀 .env 拿 OPENAI_API_KEY
  • cors({ origin }):只開前端網域
  • express.json({ limit }):限制 body 大小
  • 手寫 if 檢查 prompt 是否合法(這是 Node 的痛點)
  • 錯誤包進 try/catch,按 err.status 回對應 status
優點 / 痛點

優點:前後端同 TypeScript,部署 Vercel zero-friction,npm 生態超大。
痛點:輸入驗證要自己寫 if、沒原生 API doc、async 寫多了容易漏 await(吃過虧才會記得)。

講師動作:講義 ★ 有完整 server.js 與 curl 測試指令,5 分鐘跑通。
Page 19 · Node Express
CH6-2 · §A
Python · FastAPI 中介層
20 / 30 講義 · CH6-2
FastAPI · pydantic 把驗證寫在型別裡

fastapi + uvicorn + openai,同三個套件但味道不同

關鍵概念
  • pydantic BaseModel:型別本身就是驗證
  • Field(min_length=1, max_length=4000):空字串自動回 422
  • async def:與 AsyncOpenAI 配合,I/O 並行
  • CORSMiddleware:和 Node 一樣只開特定網域
  • /docs:Swagger UI 自動生成,連 Postman 都省
優點 / 痛點

優點:型別驗證省一堆 if、自動 API doc、async 語法清晰,資料科學團隊熟。
痛點:部署需 Python runtime(不是每個平台都原生支援)、團隊若是 JS 背景多一道學習成本。

講師動作:講義 ★ 有完整 main.py。重點 demo故意送空字串看 422 自動回應——學員第一次看會驚艷。
Page 20 · FastAPI
CH6-2 · §B
Decision · Node 還是 FastAPI
21 / 30 講義 · CH6-2
Decision · 不要爭哪個強,看三件事

選型不靠語言信仰,靠團隊現實

選 Node Express
前端 TypeScript 團隊
主部署平台 Vercel

· 前後同語言,型別共用
· Vercel / Cloudflare Workers 原生支援
· 工具與套件生態成熟到誇張
· side project / 原型期最快上線

選 Python FastAPI
資料 / ML 背景團隊
需要 pydantic 嚴格驗證

· 與 RAG / Embedding / 模型生態同語言
· pydantic + /docs 把驗證和文件一次解決
· 與 LangChain / LlamaIndex 等工具更順
· 後續要接 Function Calling / RAG 更省事

講師指引:講義 ★ 有 100 字內的選型備忘錄範本(理由要具體,不是「Python 比較強」)。這份備忘錄是延伸挑戰,當天課可只做選一邊跑通即可。
Page 21 · Decision
CH6-2 · 選型
Hands-on Lab · CH6-2
22 / 30 講義 · CH6-2
Hands-on · 兩情境跑完一個語言即可

把 Part 5 前端的 fetch 改指向你自己的中介層

情境 A · Node Express
  1. 講義 ★ 複製 server.js,npm i express cors openai dotenv
  2. .env 放 OPENAI_API_KEY,加進 .gitignore
  3. node server.js → curl 打 :3000/api/chat
  4. 把 Part 5 前端 fetch 改成 :3000/api/chat
  5. 確認瀏覽器 DevTools 看不到 OpenAI 端點與 key
情境 B · Python FastAPI
  1. 講義 ★ 複製 main.py,pip install fastapi uvicorn openai python-dotenv
  2. uvicorn main:app --reload --port 8000
  3. 瀏覽 :8000/docs,從 Swagger UI 直接測呼叫
  4. 故意送空字串,確認自動回 422
  5. 同樣把前端 fetch 改成 :8000/api/chat
時間節奏:建議現場示範一個語言(10 分鐘),學員自選一個跑(30 分鐘)。不必兩個都跑——選你以後會用的那個跑深。延伸挑戰:加 SQLite log 計費、寫選型備忘錄。
Page 22 · Lab CH6-2
CH6-2 · §A + §B
Pitfall 1 · CORS
23 / 30 講義 · CH6-2
Pitfall 1 · CORS error 一定要在後端設

CORS error 不是前端的鍋

無效解法(學員常踩)
  • fetch URL 加 ?cors=true
  • HTML meta http-equiv Access-Control-Allow-Origin
  • 把前後端硬塞同一個 port
  • 裝 Chrome 擋 CORS extension(只你自己看得到能跑)
正解
  • 後端裝 cors / CORSMiddleware
  • allow_origins 只開前端 dev 與 prod 網域
  • 不要圖方便寫 ['*'](會吃身份驗證罰
  • OPTIONS preflight 也要回 200
關鍵概念:CORS 是瀏覽器強加的安全機制,伺服器要主動回 Access-Control-Allow-Origin header 才會放行。所以必修在後端,前端再怎麼改 fetch 都沒用。curl / Postman 不檢查 CORS,所以「curl 能打、瀏覽器不能打」是典型 CORS 錯
Page 23 · CORS Pitfall
CH6-2 · trap 1
Pitfall 2 · async 的本質
24 / 30 講義 · CH6-2
Pitfall 2 · async 不是讓 CPU 變快

async 是「等 I/O 時不卡住」,不是加速

真實場景
95% 等網路
呼叫 LLM API 一次 1–10 秒,幾乎全在等 socket。CPU 是閒著的。
async 的價值
同 process 多請求
同 thread 同時接幾百個請求都不卡,不用多開 thread
什麼時候 async 沒用
CPU 密集
壓縮影像、跑 ML 推論這種,要 worker threads / multiprocessing 才是對的。
常見錯:Node 寫 async function 但忘記 await(直接拿到一個 Promise);FastAPI 寫 def 沒寫 async def,整個 endpoint 變同步阻塞——看起來能跑,但併發爆掉解法:建立 review checklist「每個 I/O 呼叫前都要有 await」。
Page 24 · async Pitfall
CH6-2 · trap 2
CH6-2 · 收束
25 / 30 講義 · CH6-2
Wrap · CH6-2 收束 · 你今天交付了什麼

從原型代理 → 正規後端中介層

A
一個會跑的 /api/chat
Node Express 或 Python FastAPI 至少一邊跑通,curl 與前端都能呼。
B
前端再也看不到 API key
.env + .gitignore + 後端代理。Network tab 只剩你自己的 endpoint
C
輸入驗證 + 重試 + 錯誤處理
沿用 CH6-1 的 callWithRetry,把 §1–§4 的概念全部接進中介層。
D
log 留 usage
即使先寫 console,也要從第一行就把 input / output token 留下來。
講師收束:今天的中介層就是 D14 / D15 / D16 的底層。Function Calling 要靠它接 tools、Streaming 要靠它轉 SSE、Evals / 成本控制要靠它寫 log。這層寫得好不好,決定 Part 6 後半段能跑多遠
Page 25 · CH6-2 Wrap
CH6-2 · 收束
D13 · 學員今日交付物
26 / 30 講義 · Part 6
Deliverables · 結業前要看到的東西

三件實物 + 一份備忘錄,當天就要產出

D-01 · 成本表
單次 / 月成本
用迷你練習 1 範本,估你的工具 input / output token + 三模型對照。
D-02 · 重試 server
callWithRetry
後端代理加退避重試,console 印 1s / 2s / 4s,刻意打爆驗過。
D-03 · 中介層
/api/chat
Node 或 FastAPI 至少一邊跑通,前端 fetch 已改指這支。
D-04 · 選型備忘
100 字
「這個專題我選哪個?為什麼?」理由要具體(團隊 / 部署 / 生態)。
提醒:D-01 / D-02 / D-03 都要傳到「我的作品集」對應卡片,截圖或 GitHub link 都行。D-04 寫進個人筆記,D14 / D15 還會被引用
Page 26 · Deliverables
D13 · 收件清單
FAQ · 學員今天最常問的
27 / 30 講義 · Part 6
FAQ · 講師遇過 N 次的提問

5 個學員當天會 100% 問的問題

Q1
「我直接用 ChatGPT 網頁就好,幹嘛打 API?」
網頁是給你用、API 是給你程式用。要做工具、要計費、要嵌進別人系統,必走 API。
Q2
「private repo 放 key 不就好?」
不行。被 clone 過後一樣外洩;CI log、issue、search 都可能掃到。唯一安全:環境變數 + .gitignore + 洩漏立刻 revoke。
Q3
「要不要用 Next.js API routes 取代 Express?」
可以。同樣是 Node 中介層,部署 Vercel 更原生。原理一樣,今天的概念全部適用
Q4
「我能不能用免費 API key?」
能跑,但 rate limit 緊、易被限流。今天 hands-on 沒問題,真要上線一定要付費 tier
Q5
「Streaming / RAG 我什麼時候會學?」
D15。今天的中介層是 D15 的底層。先把這層做穩,下週把 SSE 與 RAG 接上去就快。
Page 27 · FAQ
D13 · 學員提問
D13 · Recap
Recap · 28 / 30
Recap · 今天打開了什麼黑盒

HTTP · Token
Error · Proxy

四個關鍵字串成一條鏈:看穿請求結構算清每字成本接住每種錯誤包進正規中介層
這條鏈是 Part 6 後半段(Function / Agent / Streaming / RAG / Evals)的共同地基

D13 / 20 完成·Part 6 進度 2 / 5 章
Recap · D13 結束
— → D14 —
D14 · Next Stop
29 / 30 講義 · Part 6
Next Stop · D14 / 20 · CH6-3 + CH6-4

下一站:讓 AI 會用工具,再把它接成 Agent

CH6-3 · Function Calling / Tools

模型不只回文字,還能主動呼叫你定義的函式:查資料庫、呼 API、執行運算,再把結果接回來繼續推理。
這是 LLM 從「聊天」變「可操作」的關鍵跳躍。

CH6-4 · Agent 工具鏈

多個 Function 串起來,加上「規劃 → 執行 → 觀察 → 再規劃」的迴圈,就是 Agent。
要解決多步驟任務(查資料 → 整理 → 寫報告 → 寄信),這層是必修。

D14 行前準備:確認你今天的中介層真的跑得起來(Node 或 FastAPI 任一),D14 第一個練習就是把 tools 參數加進去,沒底層會卡很久。D13 沒跑通的同學請優先補上
Page 29 · Next Stop
— → D14 / 20 —
D13 · End · Vol.13
30 / 30
End of Vol.13 · D13 / 20

To Be
Continued

API 是地基,Agent 是樓層

D14 我們把今天的中介層接上 Function Calling,
讓模型開始幫你做事,而不只是回話。

Vol.13·D13 / 20·Part 6 · 2 / 5
D13 · End
— Next: D14 / 20 —