Agent框架、運(yùn)行時(shí)與工具集 - AI開發(fā)生態(tài)的三大支柱
在AI開發(fā)領(lǐng)域,我們經(jīng)常聽到各種技術(shù)術(shù)語,但很少有人能清晰地解釋它們之間的區(qū)別。
今天,我們來深入探討三個(gè)核心概念:Agent框架(Framework)、Agent運(yùn)行時(shí)(Runtime)和Agent工具集(Harness)。
LangChain團(tuán)隊(duì)維護(hù)著幾個(gè)不同的開源項(xiàng)目:LangChain和LangGraph是其中最重要的兩個(gè),而DeepAgents正在成為越來越受歡迎的新星。
我們嘗試用不同的術(shù)語來描述它們:LangChain是Agent框架,LangGraph是Agent運(yùn)行時(shí),DeepAgents是Agent工具集。

Agent框架:構(gòu)建AI應(yīng)用的基礎(chǔ)抽象
大多數(shù)幫助構(gòu)建LLM應(yīng)用的開源包都可以歸類為Agent框架。它們提供的主要價(jià)值是抽象層。
這些抽象代表了對(duì)世界的心理模型,理想情況下應(yīng)該讓開發(fā)者更容易上手。它們還提供了構(gòu)建應(yīng)用的標(biāo)準(zhǔn)方式,使開發(fā)者能夠輕松地在不同項(xiàng)目之間切換和協(xié)作。
然而,抽象也有其缺點(diǎn)。如果設(shè)計(jì)不當(dāng),它們可能會(huì)掩蓋內(nèi)部工作原理,無法為高級(jí)用例提供所需的靈活性。這是所有框架都面臨的經(jīng)典挑戰(zhàn)。
我們將LangChain定位為Agent框架。在1.0版本中,我們花費(fèi)了大量時(shí)間思考抽象設(shè)計(jì)——包括結(jié)構(gòu)化內(nèi)容塊的抽象、Agent循環(huán)的抽象,以及我們認(rèn)為能為標(biāo)準(zhǔn)Agent循環(huán)增加靈活性的中間件抽象。
其他我認(rèn)為屬于Agent框架的產(chǎn)品包括:Vercel AI SDK、CrewAI、OpenAI Agents SDK、Google ADK、LlamaIndex等等。這些工具都專注于提供開發(fā)抽象和標(biāo)準(zhǔn)化的構(gòu)建方式。
Agent運(yùn)行時(shí):生產(chǎn)環(huán)境的基礎(chǔ)設(shè)施
當(dāng)你需要在生產(chǎn)環(huán)境中運(yùn)行Agent時(shí),你需要某種形式的Agent運(yùn)行時(shí)。這個(gè)運(yùn)行時(shí)應(yīng)該提供更多基礎(chǔ)設(shè)施層面的考慮。最重要的是持久執(zhí)行(Durable Execution),但我也會(huì)將流式傳輸支持、人機(jī)交互支持、線程級(jí)持久化和跨線程持久化等功能歸入此類。
構(gòu)建LangGraph時(shí),我們希望從零開始構(gòu)建一個(gè)生產(chǎn)就緒的Agent運(yùn)行時(shí)。我們認(rèn)為最接近這個(gè)概念的其他項(xiàng)目是Temporal、Inngest和其他持久執(zhí)行引擎。
Agent運(yùn)行時(shí)通常比Agent框架更底層,可以為Agent框架提供支持。例如,LangChain 1.0就是構(gòu)建在LangGraph之上,以利用其提供的Agent運(yùn)行時(shí)能力。
Agent工具集:開箱即用的完整解決方案
DeepAgents是我們正在開發(fā)的最新項(xiàng)目。它比Agent框架更高層——構(gòu)建在LangChain之上。
它添加了默認(rèn)提示詞、工具調(diào)用的固化處理、規(guī)劃工具、文件系統(tǒng)訪問等功能。它不僅僅是一個(gè)框架——它是一個(gè)內(nèi)置的完整解決方案。
我們用來描述DeepAgents的另一種方式是"通用版本的Claude Code"。公平地說,Claude Code也在嘗試成為Agent工具集——他們發(fā)布的Claude Agent SDK就是朝這個(gè)方向邁出的一步。
可以說所有的編程CLI工具在某種程度上都是Agent工具集,而且可能是通用的。
何時(shí)使用哪種工具?
讓我們總結(jié)一下這些差異,并討論何時(shí)使用每種工具:
? Agent框架 - 當(dāng)你需要構(gòu)建定制化的AI應(yīng)用,需要靈活的抽象和標(biāo)準(zhǔn)化的開發(fā)方式時(shí)使用
? Agent運(yùn)行時(shí) - 當(dāng)你需要在生產(chǎn)環(huán)境中部署Agent,需要持久執(zhí)行、流式傳輸和人機(jī)交互等基礎(chǔ)設(shè)施功能時(shí)使用
? Agent工具集 - 當(dāng)你需要快速啟動(dòng)一個(gè)功能完整的Agent應(yīng)用,不想從零開始構(gòu)建時(shí)使用
邊界的模糊性與未來發(fā)展
我必須承認(rèn),這些界限是模糊的。例如,LangGraph可能最好被描述為既是運(yùn)行時(shí)又是框架。
"Agent工具集"這個(gè)術(shù)語我也是剛開始看到更多人使用(我并沒有創(chuàng)造這個(gè)詞)。我認(rèn)為目前還沒有對(duì)這些概念的超級(jí)清晰的定義。
不過,我始終認(rèn)為在早期技術(shù)領(lǐng)域開發(fā)的樂趣之一,就是為如何討論事物建立心理模型。
我們知道LangChain與LangGraph不同,DeepAgents與它們兩者都不同。我們認(rèn)為將它們分別描述為框架、運(yùn)行時(shí)和工具集是一個(gè)有用的區(qū)分——但一如既往,我們保持學(xué)習(xí)的心態(tài)來進(jìn)一步深入理解它們!
這種分類方式幫助開發(fā)者更好地理解AI開發(fā)生態(tài)系統(tǒng),選擇適合自己項(xiàng)目需求的工具。隨著技術(shù)的不斷發(fā)展,這些定義可能會(huì)繼續(xù)演進(jìn),但核心概念——抽象、基礎(chǔ)設(shè)施和完整解決方案——將繼續(xù)指導(dǎo)我們的技術(shù)選擇。






























