Agentic Research

Library 與 Framework(函式庫與框架)

又稱:函式庫 · library · framework · 框架 · 套件庫 · 第三方庫

函式庫是你去呼叫它;框架是它來呼叫你。

你會在什麼時候遇到它

挑 AI 工具時你會一直看到「用 LangChain 這類框架」跟「直接呼叫 API」的爭論。分不清兩者,你就無法判斷一個工具到底留給你多少控制權 —— 而控制權正是出錯時你查不查得到原因的分水嶺。

打個比方

函式庫像五金行:你自己去買螺絲起子,決定什麼時候用、用在哪。框架像組裝線:它規定流程,你只負責在指定位置放上零件。組裝線快,但卡住時你很難插手。

最小範例

函式庫(你主導):
  import requests
  r = requests.post(url, json=payload)     # 你決定什麼時候發、發什麼
  text = r.json()["choices"][0]["message"]["content"]
  # 之後每一步也都是你寫的

框架(它主導):
  agent = create_react_agent(llm, tools, prompt)
  agent.invoke({"messages": [...]})        # 之後的迴圈由框架跑
  # 它自己決定何時呼叫模型、何時呼叫工具、何時停

判斷訣竅是看「迴圈在誰手上」。你的程式碼裡有一個 while 迴圈在呼叫模型,那是用函式庫;你只呼叫一次 invoke、裡面自己轉個不停,那是框架。LangChain、LlamaIndex 屬於後者,requests、openai 這類客戶端套件屬於前者。

最常搞錯的地方

  • 以為框架「比較高級」所以新手該用。恰恰相反:框架把細節藏起來,出錯時你連問題出在哪一層都看不見。先用函式庫把同一件事跑通一次,你才會知道框架幫你做的是哪些事。
  • 把「框架」跟 agent 的「harness」當同一個詞用。框架(LangChain 這類)是給你蓋 harness 的零件庫;harness 是蓋出來、實際在跑、負責組上下文與執行工具的那個東西。

相關詞條

下一步