踐(46):模型換了,Agent 為什么突然變笨)
發(fā)布時(shí)間2026-09-23標(biāo)簽AI Agent工程實(shí)踐模型實(shí)驗(yàn)Model Evaluation上一篇我說(shuō)版本七維里最容易翻車(chē)的是 Model。有人不服換個(gè)更強(qiáng)的模型怎么可能變差于是我做了個(gè)實(shí)驗(yàn)——把同一個(gè) Agent、同一套工具、同一個(gè)數(shù)據(jù)集分別跑在三個(gè)模型上。結(jié)果出乎所有人意料最貴的那個(gè)模型不是最好的那個(gè)而更強(qiáng)的模型在選工具這件事上反而更差。這一篇我把這個(gè)實(shí)驗(yàn)完整做給你看。系列導(dǎo)航上一篇AI Agent 工程實(shí)踐45Agent 的版本控制到底控制什么下一篇AI Agent 工程實(shí)踐47什么時(shí)候應(yīng)該從 Agent 改回 Workflow問(wèn)題背景這是第五階段的第十一篇。上一篇建立了七維版本模型這一篇單獨(dú)拎出其中最玄的一維——Model——做一次受控實(shí)驗(yàn)。動(dòng)機(jī)很樸素我們?cè)诘?45 篇說(shuō)過(guò)同一模型名的 API 背后廠商會(huì)靜默更新快照導(dǎo)致 Agent突然變笨。但模型影響到底有多大它影響的是哪方面更強(qiáng)的模型就一定更好嗎這些問(wèn)題光靠感覺(jué)答不了只能靠實(shí)驗(yàn)。錯(cuò)誤嘗試迷信更強(qiáng) 更好我最開(kāi)始的假設(shè)很天真換更強(qiáng)的模型Agent 一定會(huì)變強(qiáng)。于是我把 Repo Doctor 從 deepseek-chat 換到一個(gè)更大的模型心想這下能力該漲了吧。結(jié)果跑完數(shù)據(jù)集一看Success Rate 不升反降。我第一反應(yīng)是數(shù)據(jù)集錯(cuò)了代碼有 bug。排查了一圈代碼沒(méi)動(dòng)、數(shù)據(jù)沒(méi)動(dòng)唯一變的就是模型。這時(shí)我才被迫面對(duì)一個(gè)事實(shí)Agent 的能力不等于模型的能力。模型只是七維里的一維而模型強(qiáng)和Agent 強(qiáng)之間隔著一整套工具、Prompt、Context 的配合。一個(gè)在裸聊天里更強(qiáng)的模型放到 Agent 場(chǎng)景里未必更會(huì)選工具、更守規(guī)矩。關(guān)鍵觀察模型是乘數(shù)不是全部我把三個(gè)模型代號(hào) A、B、C一個(gè)便宜、一個(gè)中檔、一個(gè)大模型跑同一份 eval 數(shù)據(jù)集得到這張對(duì)比表指標(biāo)模型 A便宜模型 B中檔模型 C大模型Success Rate68%78%71%Tool Accuracy82%79%70%Answer Accuracy65%75%72%Latency (avg)5.1s7.8s12.4sCost (avg tokens)180032006100看這張表有三個(gè)反直覺(jué)的發(fā)現(xiàn)最貴的 CSuccess Rate 不是最高的。中檔的 B 才是。最大的 CTool Accuracy 反而最低70%。它更愛(ài)自由發(fā)揮常常不按工具描述來(lái)甚至自己編一個(gè)工具。模型 A 雖便宜但 Tool Accuracy 最高82%。它聽(tīng)話但推理深度不夠Answer Accuracy 拉胯。核心洞察Agent 能力 Model Prompt Context Tools Rules Memory Runtime 的合力模型只是其中一個(gè)乘數(shù)。這個(gè)合力公式正是這個(gè)系列前四階段所有組件的一次總回收——它們不是孤立的零件而是共同決定 Agent 上限的乘數(shù)。最終方案把模型納入實(shí)驗(yàn)而非信仰實(shí)驗(yàn)的產(chǎn)出不是哪個(gè)模型最好而是一套把模型當(dāng)變量、可量化比較的方法選型結(jié)論對(duì) Repo Doctor 來(lái)說(shuō)模型 B中檔是當(dāng)前最優(yōu)解——綜合成功率最高成本適中。而上最大的模型這個(gè)直覺(jué)被數(shù)據(jù)證偽了。代碼或配置示例模型實(shí)驗(yàn)的核心是同一套代碼只換模型的受控對(duì)比。關(guān)鍵是隔離變量# repo_doctor/experiments/model_ab.py —— 只換模型其余七維全部鎖定 def run_model_experiment(models, eval_dataset): results {} for model in models: # 關(guān)鍵Prompt / Rules / Tools / Knowledge / Dataset 全部用同一份 agent build_agent( modelmodel, # 唯一變量 promptPROMPT_V12, # 鎖定 rulesRULES_V7, # 鎖定 toolsTOOLS_V4, # 鎖定 knowledgeKNOWLEDGE_V2, ) metrics run_eval(agent, eval_dataset) # 同一把尺子 results[model.name] metrics print(f{model.name}: {metrics}) return results # 三個(gè)模型跑同一數(shù)據(jù)集 run_model_experiment( models[Model(A, deepseek-chat), Model(B, mid-tier-model), Model(C, large-model)], eval_datasetload_eval(eval/), )這個(gè)實(shí)驗(yàn)?zāi)_本的精髓就一句除了 model其他六個(gè)維度全部鎖死。否則你根本分不清分?jǐn)?shù)變化是模型帶來(lái)的還是 Prompt 或工具漂移帶來(lái)的。這也正是第 45 篇 agent.lock 的用武之地。設(shè)計(jì)權(quán)衡候選方案優(yōu)點(diǎn)缺點(diǎn)為什么不選迷信更強(qiáng) 更好直接換大模型省事成本高、可能更差被數(shù)據(jù)證偽哪個(gè)火用哪個(gè)跟風(fēng)和你的任務(wù)脫節(jié)別人的結(jié)論不適用于你受控模型實(shí)驗(yàn)可量化、貼合任務(wù)需先有 eval 數(shù)據(jù)集用數(shù)據(jù)選型而非信仰一個(gè)重要的邊界提醒模型實(shí)驗(yàn)的結(jié)論有時(shí)效性。模型 A/B/C 的表現(xiàn)會(huì)因?yàn)閺S商更新快照而改變。所以這不是一錘定音而是一個(gè)要定期重跑的流程。這也是為什么第 45 篇強(qiáng)調(diào)模型要釘快照——不釘你的實(shí)驗(yàn)結(jié)論就是空中樓閣??偨Y(jié)? 換更強(qiáng)模型的直覺(jué)被受控實(shí)驗(yàn)證偽了。? 三個(gè)模型跑同一數(shù)據(jù)集最貴的不是最好的最大的 Tool Accuracy 反而最低。? Agent 能力 Model Prompt Context Tools Rules Memory Runtime 的合力。? 模型實(shí)驗(yàn)的精髓只換模型其余六維全部鎖死。? 鐵律換模型不是升級(jí)是重新做一次驗(yàn)收——因?yàn)?Agent 的能力從來(lái)不屬于某一個(gè)模型。參考資料Anthropic《Building Effective Agents》中模型選型的討論 → 為什么引用印證了Agent 能力是合力模型只是乘數(shù)。LMSys / 各類(lèi)模型排行榜的方法論 → 為什么引用理解受控對(duì)比的實(shí)驗(yàn)設(shè)計(jì)是模型實(shí)驗(yàn)的基礎(chǔ)。系列導(dǎo)航上一篇AI Agent 工程實(shí)踐45Agent 的版本控制到底控制什么下一篇AI Agent 工程實(shí)踐47什么時(shí)候應(yīng)該從 Agent 改回 Workflow本文是 [AI Agent 工程實(shí)踐] 系列的第 46 篇。