詳解)
Tools、Workflow、Agent 三層架構(gòu)詳解從最小能力單元到編排框架1. 三者的核心誤區(qū)很多人把 Tools、Workflow、Agent 當(dāng)成三個并列的競爭方案認(rèn)為做項目時需要在三者中選一個。這個理解是錯的。三者不是同一維度的東西而是粒度不同、可以相互嵌套的三層結(jié)構(gòu)。Tools 是最小的能力單元Agent 是一個完整的決策系統(tǒng)Workflow 是更上層的編排框架。在實際項目中三者通常同時存在扮演不同角色。三者最核心的區(qū)別一句話Tools 不做決策只執(zhí)行Agent 自己做決策Workflow 是開發(fā)者替所有節(jié)點把決策提前寫好。2. 第一層Tools——最小能力單元2.1 核心定義Tools 是整個體系里最底層的概念就是一個封裝好的函數(shù)有明確的輸入?yún)?shù)、明確的輸出結(jié)果。你給 LLM 配備的每一個能力比如查天氣“搜索網(wǎng)頁”“執(zhí)行 Python 代碼”“往數(shù)據(jù)庫寫一條記錄”本質(zhì)上都是一個函數(shù)。Tools 和普通函數(shù)唯一的區(qū)別是需要額外寫一份說明書告訴 LLM 這個工具叫什么名字、能做什么事、需要傳哪些參數(shù)這樣 LLM 才知道自己有哪些能力可以調(diào)用。一個工具定義的結(jié)構(gòu)示例{name:search_web,description:搜索互聯(lián)網(wǎng)并返回結(jié)果,parameters:{type:object,properties:{query:{type:string,description:搜索關(guān)鍵詞}},required:[query]}}2.2 技術(shù)特征零決策能力工具本身沒有任何決策能力它甚至不知道自己應(yīng)該在什么時候被使用被動等待調(diào)用由外部Agent 或 Workflow觸發(fā)不會主動執(zhí)行高確定性輸入固定則輸出固定行為可預(yù)測2.3 邊界與局限Tools 的使命就是把一個具體能力封裝好、隨時待命至于什么時候該用它那是別人的事。Tools 只負(fù)責(zé)執(zhí)行不負(fù)責(zé)判斷什么時候該用需要組合才能完成復(fù)雜任務(wù)。3. 第二層Agent——拿著工具自己做決定3.1 核心定義Agent 是一個完整的決策系統(tǒng)內(nèi)部用 LLM 做大腦自己判斷什么時候調(diào)哪個工具、要不要繼續(xù)、什么時候結(jié)束。給 Agent 一個目標(biāo)比如調(diào)研一下最近競品的動態(tài)它不會直接給一個答案而是開始自己思考第一步應(yīng)該搜索什么關(guān)鍵詞搜索結(jié)果里有沒有需要的信息需不需要多搜幾次什么時候才算調(diào)研完了這一系列要不要、用哪個、夠不夠、停不停的判斷全部由 Agent 內(nèi)部的 LLM 做決策。3.2 運行機(jī)制思考-行動-觀察循環(huán)Agent 的運行方式是一個反復(fù)循環(huán)的過程Thought想清楚→ Action行動→ Observation看結(jié)果→ 再 Thought → 再 Action → ...直到 LLM 判斷任務(wù)完成為止這個循環(huán)才結(jié)束。用 Go 代碼表示這個循環(huán)funcRunAgent(taskstring)string{for{thought:llm.Think(task,context)// 思考下一步做什么ifthought.IsDone{// 判斷是否完成returnthought.FinalAnswer}result:callTool(thought.ToolName,thought.Args)// 執(zhí)行工具調(diào)用context.AddObservation(thought.ToolName,result)// 記錄觀察結(jié)果}}關(guān)鍵點這個 for 循環(huán)會跑幾次開發(fā)者完全不知道也不需要知道。這正是 Agent 和普通代碼最不一樣的地方——普通代碼的每一步都是開發(fā)者預(yù)先寫好的但 Agent 的執(zhí)行路徑是 LLM 實時決定的。3.3 關(guān)鍵特征主動決策Agent 自己決定執(zhí)行路徑靈活性高能應(yīng)對預(yù)料之外的復(fù)雜情況完成事先無法預(yù)測路徑的任務(wù)行為不確定同樣的任務(wù)今天跑和明天跑可能調(diào)了不同的工具、走了不同的路徑。這是因為 LLM 本質(zhì)上是概率模型每次生成都帶有隨機(jī)性靈活性和不確定性是一對孿生兄弟。有 Agent 的靈活就必然伴隨著一定程度的不可預(yù)測。3.4 邊界與局限行為不可預(yù)測線上排查困難成本不可控LLM 調(diào)用輪次可能超出預(yù)期調(diào)試難度大執(zhí)行路徑不確定無法打斷點逐步追蹤4. 第三層Workflow——確定性編排框架4.1 核心定義Workflow 把整個執(zhí)行流程的骨架寫在代碼里L(fēng)LM、Agent、Tools 都只是這個流程里的節(jié)點每個節(jié)點負(fù)責(zé)完成自己那一步。但整體走哪條路、下一步去哪里全由開發(fā)者的代碼決定不是任何節(jié)點自己說了算。4.2 技術(shù)特征一個客服系統(tǒng)的 Workflow 示例defcustomer_service(user_input):# 第一步意圖分類intentllm.classify(user_input)# 第二步根據(jù)意圖走不同分支ifintentrefund:order_infosearch_order(user_input)resultgenerate_refund_response(order_info)elifintentcomplaint:complaint_infoanalyze_complaint(user_input)resulttransfer_human_service(complaint_info)else:knowledgesearch_knowledge_base(user_input)resultllm.generate_answer(knowledge)returnresult關(guān)鍵點LLM 在這里出現(xiàn)了兩次一次是做意圖分類一次是生成回答但它只是流程里的兩個工位。接下來去哪這件事完全由 if/elif 這些普通代碼控制。開發(fā)者預(yù)先寫死執(zhí)行路徑if/elif/else 控制流程高確定性代碼看到什么就做什么不會有驚喜易調(diào)試可以打斷點逐步追蹤精確定位是哪個節(jié)點出了故障4.3 與 Agent 的核心區(qū)別誰在做下一步去哪的決策維度AgentWorkflow決策者LLM 實時決定開發(fā)者代碼寫死行為不確定路徑動態(tài)變化確定完全可預(yù)測調(diào)試難執(zhí)行路徑不確定易鏈路清晰可追蹤4.4 邊界與局限流程提前寫死難以動態(tài)調(diào)整無法窮舉所有情況遇到預(yù)料之外輸入容易失敗或給出很差結(jié)果5. 三者對比總結(jié)維度ToolsAgentWorkflow決策能力無只執(zhí)行不決策有LLM 自主動態(tài)決策無開發(fā)者在代碼里寫死執(zhí)行方式被動等待被調(diào)用主動自主循環(huán)直到完成按開發(fā)者定義的順序執(zhí)行確定性高輸入固定則輸出固定低同輸入可能走不同路徑高行為完全可預(yù)測靈活性只做一件事高能應(yīng)對預(yù)料之外的情況低流程提前寫死調(diào)試難度容易單一函數(shù)難執(zhí)行路徑不確定容易鏈路清晰可逐步追蹤適用場景封裝單一具體能力路徑未知的復(fù)雜任務(wù)流程相對固定的業(yè)務(wù)系統(tǒng)6. Agentic Workflow生產(chǎn)環(huán)境的主流組合模式完全靠 Agent 自主決策的系統(tǒng)其實很少在生產(chǎn)環(huán)境出現(xiàn)原因行為太難控制一旦出問題很難排查成本也容易失控LLM 調(diào)太多輪。完全靠 Workflow 寫死的系統(tǒng)又太脆弱沒法把所有情況都窮舉到代碼里遇到預(yù)料之外的輸入就容易失敗。Agentic Workflow 的核心思想用 Workflow 固定主流程的骨架在需要靈活判斷的節(jié)點嵌入 Agent其余固定節(jié)點直接用 LLM 或 Tools。Workflow 骨架確定性 ├── 節(jié)點 1固定邏輯LLM 或 Tools ├── 節(jié)點 2Agent 子模塊自主決策靈活應(yīng)對 │ ├── 子工具 A │ ├── 子工具 B │ └── 子工具 C ├── 節(jié)點 3固定邏輯LLM 或 Tools └── 節(jié)點 4結(jié)果聚合骨架是確定的讓你能控制整體行為、便于調(diào)試關(guān)鍵節(jié)點是靈活的讓你能應(yīng)對各種復(fù)雜情況。兩個優(yōu)點都有兩個缺點都被削弱了。7. 總結(jié)Tools、Workflow、Agent 不是三個并列的競爭方案而是不同粒度的三層結(jié)構(gòu)在項目中通常同時存在、相互嵌套Tools 是手負(fù)責(zé)執(zhí)行具體操作不做決策Agent 是大腦自主判斷用哪個工具、什么時候結(jié)束Workflow 是骨架由開發(fā)者預(yù)先編排好整體流程生產(chǎn)環(huán)境推薦采用 Agentic Workflow 組合模式用 Workflow 固定主流程在需要靈活性的節(jié)點嵌入 Agent實現(xiàn)可控與靈活的平衡。