去年有個(gè)數(shù)據(jù)在硅谷工程師圈悄悄傳開(kāi):某頭部云廠商的內(nèi)部復(fù)盤(pán)顯示,接入大語(yǔ)言模型(LLM)的生產(chǎn)項(xiàng)目中,73%在三個(gè)月內(nèi)因架構(gòu)問(wèn)題被迫回滾或重構(gòu)。不是模型不夠聰明,是工程師把"能跑通的腳本"當(dāng)成了"能扛事的系統(tǒng)"。
Aman Raghuvanshi在微軟做了七年分布式系統(tǒng),現(xiàn)在專門(mén)幫團(tuán)隊(duì)把LLM原型救活。他說(shuō)了個(gè)精妙的類比:很多人以為自己在造自動(dòng)駕駛汽車,實(shí)際上只是給馬車裝了個(gè)火箭發(fā)動(dòng)機(jī)——動(dòng)力再猛,骨架不對(duì),散架是遲早的事。
從"神諭模式"到"組件模式"
早期LLM應(yīng)用的核心幻覺(jué),是把模型當(dāng)成全知全能的 oracle(神諭)。你扔個(gè)問(wèn)題,它吐個(gè)答案,完事。這種交互在Demo里絲滑得像魔術(shù),進(jìn)生產(chǎn)環(huán)境就現(xiàn)原形:多步驟任務(wù)走到第三步忘了第一步要干啥,調(diào)API時(shí)把用戶ID和訂單ID搞混,出錯(cuò)之后只會(huì)復(fù)讀"作為AI助手我無(wú)法……"
Raghuvanshi的觀察很毒舌:「單輪LLM調(diào)用和真正的Agent系統(tǒng),差距就像Excel宏和微服務(wù)架構(gòu)。」Agent不是更復(fù)雜的提示工程,而是一種新的工程物種——有狀態(tài)、能規(guī)劃、會(huì)調(diào)用工具、能在多輪推理中保持目標(biāo)一致性。
他帶過(guò)的一個(gè)典型搶救案例:某金融科技團(tuán)隊(duì)用GPT-4做風(fēng)控報(bào)告生成,提示詞寫(xiě)了2000行,每次跑完要人工檢查有沒(méi)有漏算指標(biāo)。重構(gòu)后改用Orchestrator模式,把任務(wù)拆給三個(gè)專職子Agent(數(shù)據(jù)抓取、計(jì)算校驗(yàn)、報(bào)告組裝),錯(cuò)誤率從12%降到0.7%,響應(yīng)時(shí)間反而快了40%。
Orchestrator模式:讓專業(yè)的人干專業(yè)的事
這個(gè)模式的核心是"路由"而非"包攬"。想象一個(gè)醫(yī)院分診臺(tái):患者進(jìn)來(lái),護(hù)士判斷該去外科還是內(nèi)科,而不是自己試圖看病。Orchestrator就是那個(gè)護(hù)士——它本身不處理業(yè)務(wù)邏輯,只負(fù)責(zé)把用戶請(qǐng)求映射到最合適的子Agent。
Raghuvanshi給過(guò)一個(gè)極簡(jiǎn)實(shí)現(xiàn)框架:主Agent解析意圖,維護(hù)一個(gè)子Agent注冊(cè)表(名字+能力描述+輸入輸出Schema),匹配成功后移交控制權(quán)。關(guān)鍵設(shè)計(jì)是子Agent之間不直接對(duì)話,所有狀態(tài)變更通過(guò)Orchestrator中轉(zhuǎn)——這避免了"傳話游戲"式的信息失真,也讓調(diào)試時(shí)能精準(zhǔn)定位哪環(huán)出了問(wèn)題。
但別濫用。他明確劃了紅線:如果子任務(wù)之間需要頻繁交換中間結(jié)果,Orchestrator會(huì)成為瓶頸;如果子Agent超過(guò)5個(gè),路由邏輯的復(fù)雜度可能反超收益。一個(gè)反直覺(jué)的判斷標(biāo)準(zhǔn):當(dāng)你開(kāi)始給Orchestrator寫(xiě)"路由策略的元策略"時(shí),就該拆系統(tǒng)了。
Planner-Executor:把"怎么做"和"做不做"拆開(kāi)
這是Raghuvanshi最推崇的模式,源自機(jī)器人領(lǐng)域的經(jīng)典分層架構(gòu)。Planner負(fù)責(zé)生成帶依賴關(guān)系的任務(wù)圖(比如:查天氣→決定穿衣→推薦搭配),Executor負(fù)責(zé)按拓?fù)湫驁?zhí)行,并在每一步驗(yàn)證前置條件是否滿足。
一個(gè)精妙的細(xì)節(jié)是計(jì)劃的可回滾性。Raghuvanshi的代碼示例里,Executor在調(diào)用外部API前會(huì)先把當(dāng)前計(jì)劃狀態(tài)快照到Redis,如果第三步失敗,可以回到第二步重新生成替代方案,而不是從頭再來(lái)。這在支付、庫(kù)存等關(guān)鍵鏈路是剛需——用戶不會(huì)容忍"扣了錢但訂單沒(méi)建"的中間態(tài)。
他特意提醒了個(gè)坑:Planner和Executor不要用同一個(gè)LLM實(shí)例。規(guī)劃需要?jiǎng)?chuàng)造性推理,執(zhí)行需要嚴(yán)格遵循約束,兩種能力對(duì)溫度參數(shù)(temperature)的要求截然相反。混用會(huì)導(dǎo)致"計(jì)劃很完美,執(zhí)行時(shí)卻擅自發(fā)揮"的詭異bug。
Memory-Augmented:Agent的"便簽本"該記什么
上下文窗口(context window)越來(lái)越長(zhǎng),但Raghuvanshi認(rèn)為這反而加劇了濫用。他把LLM的上下文比作工作記憶——能同時(shí)惦記的事就那么幾件,塞太多只會(huì)互相干擾。真正的長(zhǎng)期記憶需要外部化存儲(chǔ),且要有選擇地召回。
他的分層方案:短期記憶(當(dāng)前對(duì)話輪次)走上下文窗口;中期記憶(本次會(huì)話的關(guān)鍵事實(shí))存向量數(shù)據(jù)庫(kù),按語(yǔ)義相似度檢索;長(zhǎng)期記憶(用戶偏好、歷史決策)走關(guān)系型數(shù)據(jù)庫(kù),精確查詢。一個(gè)電商客服Agent的例子:用戶說(shuō)"還是像上次那樣寄到公司",系統(tǒng)從長(zhǎng)期記憶撈出地址,從中期記憶確認(rèn)"上次"指三天前的訂單,短期記憶處理當(dāng)前的修改需求——三層各司其職,沒(méi)有一層在干臟活。
但向量檢索的幻覺(jué)被低估了。Raghuvanshi見(jiàn)過(guò)案例:Agent把"我不喜歡紅色"和"上次退貨是因?yàn)樯?錯(cuò)誤關(guān)聯(lián),導(dǎo)致推薦時(shí)刻意避開(kāi)所有暖色調(diào)。他的防御策略是給記憶條目加置信度分?jǐn)?shù)和來(lái)源標(biāo)記,低置信度的記憶需要LLM二次驗(yàn)證才能進(jìn)入決策流程。
ReAct與Human-in-the-Loop:安全帶的兩種系法
ReAct(Reasoning + Acting)模式現(xiàn)在幾乎成了工具調(diào)用的標(biāo)準(zhǔn)范式:Thought→Action→Observation循環(huán)。Raghuvanshi的貢獻(xiàn)是強(qiáng)調(diào)了工具調(diào)用的冪等性設(shè)計(jì)——同樣的Action執(zhí)行兩次,結(jié)果應(yīng)該一致。這在LLM可能重復(fù)調(diào)用或失敗后重試的場(chǎng)景是保命設(shè)計(jì)。
他舉了個(gè)支付場(chǎng)景的反例:某團(tuán)隊(duì)把"扣款"做成非冪等接口,Agent在超時(shí)重試時(shí)導(dǎo)致用戶被扣兩次錢。修復(fù)方案是引入客戶端生成唯一冪等鍵,服務(wù)端用這個(gè)鍵去重。這個(gè)改動(dòng)和LLM無(wú)關(guān),但缺了它,再聰明的Agent也是定時(shí)炸彈。
Human-in-the-Loop(人機(jī)協(xié)同)則是另一層保險(xiǎn)。Raghuvanshi區(qū)分了兩種介入時(shí)機(jī):審批式(Action執(zhí)行前人工確認(rèn))和審計(jì)式(Action執(zhí)行后人工抽查)。他的經(jīng)驗(yàn)數(shù)據(jù)是,生產(chǎn)系統(tǒng)應(yīng)該從100%審批開(kāi)始,隨著置信度積累逐步降到5%以下,但審計(jì)比例要始終保持在1%以上——這是發(fā)現(xiàn)邊緣案例的唯一途徑。
一個(gè)被忽視的設(shè)計(jì)是"中斷的可恢復(fù)性"。用戶中途介入修改了參數(shù),Agent應(yīng)該能從中斷點(diǎn)繼續(xù),而不是重啟整個(gè)流程。這要求狀態(tài)機(jī)設(shè)計(jì)時(shí)就考慮人機(jī)交接的邊界條件。
Reflection:讓Agent學(xué)會(huì)"復(fù)盤(pán)"
這是Raghuvanshi最看好的方向。Reflection模式讓Agent在任務(wù)完成后執(zhí)行二次推理:目標(biāo)達(dá)成了嗎?哪個(gè)步驟最耗時(shí)?有沒(méi)有更短的路徑?這些反思結(jié)果寫(xiě)入記憶,形成類似"經(jīng)驗(yàn)"的積累。
他展示了一個(gè)客服Agent的反思日志:"用戶詢問(wèn)退貨政策→我調(diào)用了通用FAQ接口→但用戶實(shí)際想退的是定制商品→應(yīng)該優(yōu)先查定制商品特殊規(guī)則→下次遇到'退貨'關(guān)鍵詞且訂單含定制標(biāo)記時(shí),直接走定制流程。"這種結(jié)構(gòu)化的自我改進(jìn),比微調(diào)模型成本低兩個(gè)數(shù)量級(jí)。
但Reflection也有毒性。Raghuvanshi警告過(guò)"過(guò)度反思"陷阱:某Agent在簡(jiǎn)單查詢上花了30%的token做事后分析,導(dǎo)致成本失控。他的解法是給Reflection設(shè)置觸發(fā)條件——只有任務(wù)時(shí)長(zhǎng)超過(guò)閾值、或用戶明確反饋不滿、或遇到新類型的工具調(diào)用時(shí)才啟動(dòng)。
Raghuvanshi在文末留了道思考題:當(dāng)Agent的Reflection能力足夠強(qiáng)時(shí),Planner和Executor的邊界會(huì)不會(huì)模糊?如果Agent能實(shí)時(shí)重構(gòu)自己的執(zhí)行策略,"計(jì)劃"和"執(zhí)行"還是兩個(gè)模塊,還是變成一種連續(xù)的、流式的智能?
這個(gè)問(wèn)題他還沒(méi)答案。但有個(gè)現(xiàn)象值得玩味:他最近把博客的評(píng)論區(qū)關(guān)了——因?yàn)閷?shí)驗(yàn)性的Reflection Agent在回復(fù)讀者時(shí),開(kāi)始表現(xiàn)出"為了展示反思深度而過(guò)度展開(kāi)"的傾向,人類讀者反而覺(jué)得啰嗦。優(yōu)化目標(biāo)的對(duì)齊,可能比架構(gòu)設(shè)計(jì)更難。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.