0
| 本文作者: 高允毅 | 2026-06-24 19:10 |

作者丨高允毅
編輯丨馬曉寧
“別再盲信AI了!你以為是資深專家,其實(shí)是炸庫高手!”
6月22日,全球極客聚集的 Reddit的 LocalLLaMA 板塊,一位資深數(shù)據(jù)工程師發(fā)了一篇血淚帖《A Cautionary Note on Local LLMs, Especially in Agentic Contexts》(關(guān)于本地大語言模型的警示,尤其是在 Agent 智能體場景中),控訴 AI 的“偽裝”已經(jīng)進(jìn)化到了人類肉眼難以察覺的危險(xiǎn)地步。


01
發(fā)帖人 vbwyrde 日常工作是和數(shù)據(jù)庫打交道。事發(fā)當(dāng)天,他正試圖用本地 Qwen3 27B 模型去執(zhí)行一項(xiàng)容錯(cuò)率為零的生產(chǎn)環(huán)境高危操作:修復(fù)一個(gè)牽扯多張表外鍵依賴、事務(wù)完整性以及復(fù)雜冪等補(bǔ)丁的核心數(shù)據(jù)庫。
這類工作只有一條鐵律:每一步執(zhí)行的順序和邊界必須絕對(duì)可控,沒有任何模糊空間。
為了萬無一失,他給出了極其詳盡的 Prompt,甚至用云端頂級(jí)模型 Claude Sonnet 4.6 進(jìn)行了交叉測試。從表面上看,AI 的表現(xiàn)堪稱完美:推理邏輯嚴(yán)密,準(zhǔn)確識(shí)別了外鍵約束,生成的 SQL 語句結(jié)構(gòu)化且極度專業(yè),看起來完全出自一位資深數(shù)據(jù)庫管理員之手。
然而,當(dāng)他手動(dòng)介入核查代碼時(shí),背后的冷汗瞬間流了下來。
第一重問題,是基礎(chǔ)語法的低級(jí)穿幫。
在靜態(tài)語句中,模型試圖在 T-SQL 中把變量直接當(dāng)作表名使用。這意味著,那些看起來極專業(yè)的代碼一上機(jī)就會(huì)直接因語法錯(cuò)誤被攔截。
第二重陷阱,AI 無聲無息地切斷了數(shù)據(jù)庫的生命線——事務(wù)保護(hù)。
在關(guān)系型數(shù)據(jù)庫中,事務(wù)通常由 BEGIN TRAN 和 COMMIT 成對(duì)包裹,中間的所有操作形成一個(gè)不可分割的“原子單元”,以保障數(shù)據(jù)一致性。
但 AI 為了讓代碼“看起來更有條理”,自作主張地在兩者中間硬塞進(jìn)了一個(gè) GO(批處理分隔符)。在多數(shù) Agent 的 SQL 執(zhí)行邏輯里,每遇到一個(gè) GO,代碼就會(huì)被切分成獨(dú)立的批次先后發(fā)送給服務(wù)器執(zhí)行。原本完整的事務(wù)因此被一刀切成兩半,前半段代碼執(zhí)行后直接在底層生效,徹底脫離了事務(wù)保護(hù)傘。一旦后半段報(bào)錯(cuò)觸發(fā)回滾,系統(tǒng)也只能撤銷后半段,而前半段的錯(cuò)誤修改已經(jīng)被死死焊在數(shù)據(jù)庫里。
如果說前兩個(gè)錯(cuò)誤還有可能在預(yù)發(fā)布環(huán)境被攔截,那么第三個(gè)問題,則是真正的“靜默雪崩”。
vbwyrde 發(fā)現(xiàn),AI 生成的腳本在查找目標(biāo)記錄時(shí),竟然使用的是“名稱匹配”,而非唯一的“ID”。
這就像抓罪犯不看身份證號(hào),只憑名字認(rèn)人。它導(dǎo)致了一個(gè)極其隱蔽的漏洞:如果某條記錄的名字多了一個(gè)空格,或有微小的命名差異,就會(huì)被系統(tǒng)靜默跳過。
控制臺(tái)不會(huì)報(bào)錯(cuò),數(shù)據(jù)庫不會(huì)發(fā)出任何警告,整個(gè)修復(fù)過程順滑無比。但代價(jià)是,一部分合法數(shù)據(jù)被悄悄遺漏了。你可能要等到幾個(gè)月后,發(fā)現(xiàn)公司的財(cái)務(wù)賬單怎么也對(duì)不上時(shí),才會(huì)意識(shí)到那次“成功執(zhí)行”的修復(fù)其實(shí)千瘡百孔。
這三個(gè)陷阱極具欺騙性,因?yàn)樗鼈兊淖罱K輸出結(jié)果看起來實(shí)在太正確了。
vbwyrde 事后心有余悸地寫道:
“這不是簡單的‘AI 幻覺’問題。而是這些代碼表面看起來毫無瑕疵、宏觀推理完全正確,卻暗含了只有在執(zhí)行時(shí)才會(huì)引爆的結(jié)構(gòu)性缺陷,或者靜默引入了無法察覺的隱患。”

02
這篇帖子發(fā)出后,網(wǎng)友們對(duì)樓主“跳過驗(yàn)證直接碰生產(chǎn)數(shù)據(jù)”的做法感到不可思議。“所有生產(chǎn)操作都必須有確定性的防護(hù)措施,哪怕是最簡單的備份腳本,也要檢查執(zhí)行的行數(shù)、算哈希值做校驗(yàn)。你居然讓 AI 寫的代碼直接跑生產(chǎn)?”

一位技術(shù)派網(wǎng)友還指出,用單張 4090 顯卡去跑高度閹割的 27B 模型,然后指望它做復(fù)雜的生產(chǎn)級(jí)推理,本身就是小馬拉大車:“小模型只適合用來‘問問題’,絕對(duì)不能用來‘直接改代碼’。”

但問題僅僅出在“小模型能力不足”嗎?并不是。
即便強(qiáng)如 Claude Opus 這樣的頂級(jí)云端大模型,在處理核心數(shù)據(jù)時(shí),也會(huì)犯下致命錯(cuò)誤。2026 年轟動(dòng)行業(yè)的 PocketOS 事故,就是一場由頂級(jí) AI Agent 導(dǎo)演的標(biāo)志性災(zāi)難。

當(dāng)時(shí),這家租車 SaaS 廠商授權(quán) Agent 在預(yù)發(fā)布環(huán)境執(zhí)行常規(guī)的數(shù)據(jù)去重任務(wù)。任務(wù)中途,Agent 遇到了憑證不匹配的報(bào)錯(cuò)。如果是人類工程師,此時(shí)必然會(huì)暫停并上報(bào);但擁有高自主權(quán)限的 Agent 并沒有發(fā)起人工確認(rèn),而是主動(dòng)遍歷項(xiàng)目倉庫,找出了一個(gè)遺留的 API 令牌,并直接調(diào)用了破壞性極強(qiáng)的刪除接口。
全程無二次確認(rèn),短短 9 秒內(nèi),承載生產(chǎn)數(shù)據(jù)庫的存儲(chǔ)卷被徹底抹除。
這場事故讓平臺(tái)全線癱瘓超 30 小時(shí),導(dǎo)致近三個(gè)月的 live 生產(chǎn)數(shù)據(jù)徹底丟失。諷刺的是,事后 Agent 還能自主輸出一份“完美”的復(fù)盤報(bào)告,承認(rèn)自己“明知操作不可逆卻仍選擇執(zhí)行”。
這種對(duì) AI 能力邊界的盲目樂觀,正在演變成整個(gè)行業(yè)的系統(tǒng)性風(fēng)險(xiǎn)。智能代碼審查工具 CodeRabbit 的 AI 副總裁 David Loker 曾警告:AI 犯錯(cuò)的后果并非總是顯而易見的。它生成的代碼看起來完全有效,卻可能基于對(duì)底層系統(tǒng)的錯(cuò)誤假設(shè)。這種高度的欺騙性,正在讓人們開始完全停止人工代碼審查。
當(dāng)前的 AI 并沒有真正建立起底層的工程世界觀,它本質(zhì)上仍是一個(gè)“概率預(yù)測機(jī)器”。它并沒有變聰明,只是變得更擅長偽裝。這種“能說會(huì)道卻不干實(shí)事”的特性,正在讓審查 AI 代碼的成本,直接超過人類親自編寫的成本。
在 AI 真正建立起底層的“工程世界觀”之前,面對(duì)生產(chǎn)環(huán)境的核心代碼,開發(fā)者能采取的唯一策略只有三個(gè)字:零信任。

03
面對(duì)失控的風(fēng)險(xiǎn),業(yè)界已經(jīng)開始反思并重新設(shè)計(jì)底層系統(tǒng)。最近,LangChain 發(fā)起了一個(gè)名為“Deep Agents”全新開源智能體框架,在開發(fā)者圈子里特別火。它切中的是一個(gè)關(guān)鍵問題:當(dāng)大模型本身不可信的時(shí)候,我們?cè)撛趺丛斐鲆粋€(gè)可信的 AI 智能體系統(tǒng)?
過去開發(fā) Agent 的人,基本都踩過同一個(gè)坑:一個(gè) Agent 跑簡單任務(wù)還行,任務(wù)一復(fù)雜就崩了,要么上下文裝不下,要么狀態(tài)丟失,要么子任務(wù)互相打架。網(wǎng)上的教程,要么停留在“用 LangChain 寫個(gè) Hello World”,要么直接跳到“多 Agent 架構(gòu)設(shè)計(jì)原則”,中間那段最關(guān)鍵的工程實(shí)踐,一直是空白。這份開源框架剛好把這個(gè)洞填上了。
這套新架構(gòu)最值得關(guān)注的是它提出的“縱深防御”思想,正好能解決 vbwyrde 遇到的那些問題,比如權(quán)限失控、邏輯錯(cuò)誤悄悄發(fā)生、任務(wù)跑著跑著就不可控了。它的核心,是在 Agent 和數(shù)據(jù)庫之間搭建三層遞進(jìn)的物理防御體系:
Framework 語法前置攔截:在連接數(shù)據(jù)庫之前,加一個(gè)靜態(tài)攔截層,強(qiáng)制對(duì)代碼做語法樹解析。只要發(fā)現(xiàn)類似 GO 這種不合法的分隔符或越權(quán)語法,就直接駁回,讓危險(xiǎn)請(qǐng)求根本到不了數(shù)據(jù)庫。
Harness 環(huán)境語義沙箱:直接收走 Agent 的直連權(quán)限。將它放進(jìn)受控的“安全護(hù)具(Harness)”中,所有要改數(shù)據(jù)的指令,先送進(jìn)一個(gè)虛擬的遠(yuǎn)程沙箱環(huán)境里跑一遍,系統(tǒng)自動(dòng)檢查事務(wù)完整性和權(quán)限邊界。
Runtime 狀態(tài)快照兜底:相當(dāng)于“游戲存檔”。利用底層的快照檢查點(diǎn)機(jī)制,在寫數(shù)據(jù)之前把當(dāng)前狀態(tài)完整保存下來。一旦在沙箱演練中檢測到異常或者 Agent 掛了,直接整段回滾,不讓臟數(shù)據(jù)留在系統(tǒng)里。
這三層是遞進(jìn)關(guān)系,從事前攔截到事中校驗(yàn),再到事后兜底,形成完整縱深防御閉環(huán),把“不可信進(jìn)程”的風(fēng)險(xiǎn)鎖死在每個(gè)執(zhí)行環(huán)節(jié)。
然而,加上三層護(hù)欄就萬事大吉了嗎?
補(bǔ)丁終究是補(bǔ)丁。只要 Agent 還在直接輸出 SQL 代碼,那攔截器就要一直和 Agent 斗智斗勇。
要徹底解決這個(gè)問題,得從最底層的架構(gòu)上終結(jié)。我們就不該讓 Agent 直接手寫 SQL 這種數(shù)據(jù)庫語言。在成熟的系統(tǒng)里,Agent 應(yīng)該通過一套標(biāo)準(zhǔn)化的“中間語言”(DSL)來跟數(shù)據(jù)庫溝通。
在這套體系中,Agent 只負(fù)責(zé)“想”,將不確定的自然語言轉(zhuǎn)化為確定的結(jié)構(gòu)化指令(如 JSON)。它不需要懂復(fù)雜的 SQL,也沒有權(quán)限去動(dòng)數(shù)據(jù)庫的事務(wù)邊界。而語義中間件負(fù)責(zé)“做”,真正去執(zhí)行這條指令的,是由人類工程師寫好的、經(jīng)過充分測試的、確定性的代碼。這些代碼是靜態(tài)的、可靠的,不會(huì)犯低級(jí)錯(cuò)誤。
這樣做最大的好處是:把那些能無聲無息直接毀掉系統(tǒng)的致命錯(cuò)誤,降級(jí)成了可以被中間件攔截、可以被審計(jì)的“語義理解偏差”。
這樣即使 Agent 理解錯(cuò)了需求,它也只能在預(yù)設(shè)好的安全圍欄里“合法地犯點(diǎn)小錯(cuò)”,而再也不可能直接拆掉數(shù)據(jù)庫的“承重墻”了。
當(dāng)然,工程上沒有零成本的絕對(duì)安全。加語法檢查、加沙箱預(yù)演,這些都會(huì)拖慢系統(tǒng)的響應(yīng)速度。如果不管什么請(qǐng)求都上最高規(guī)格的防護(hù),在高并發(fā)場景下,反而會(huì)變成新的工程問題。
業(yè)界更務(wù)實(shí)的做法是“按需設(shè)防”。如果只是查數(shù)據(jù),走精簡通道,優(yōu)先保證速度和吞吐量;涉及寫數(shù)據(jù)或修數(shù)據(jù),就強(qiáng)制開啟“快照+攔截+沙箱”全套防護(hù)。
針對(duì)核心業(yè)務(wù),還有幾個(gè)更具“防御性”的高級(jí)思路,這些是把以前用來防止人類犯錯(cuò)的架構(gòu)搬了過來。比如讓Agent只碰只讀庫,改數(shù)據(jù)先跑影子表,等審計(jì)通過才切換到真實(shí)數(shù)據(jù),寫完立刻斷開連接,徹底攔住殘留污染。
過去幾年,我們沉浸在 AI Coding 創(chuàng)造的提效神話中。然而,AI 越聰明、越自主,它的靜默破壞力就越致命。一個(gè)能秒寫高并發(fā)架構(gòu)的 Agent,同樣能在深夜毫無聲息地抹除你十年的核心數(shù)據(jù)。
隨著大模型正式向 OpenAI 定義的“Level 3 智能體(Agents)”全速邁進(jìn),面對(duì)這種天生具有“破壞力”的不可信算力,我們比以往任何時(shí)候都更需要懂底層原理、精通分布式系統(tǒng)與數(shù)據(jù)庫的硬核架構(gòu)師。
從 Harness Engineering 到 Loop Engineer 的角色進(jìn)化,本質(zhì)是在探索為智能體搭建自我約束、物理隔離的防御體系,“安全”正成為所有大廠與初創(chuàng)都必須直面的生死命題。
參考鏈接: https://www.reddit.com/r/LocalLLM/comments/1ubztbx/a_cautionary_note_on_local_llms_especially_in/


上車,雷峰網(wǎng)(公眾號(hào):雷峰網(wǎng))帶你看遍全球 AI 頂會(huì)精華
可獨(dú)家暢覽:
專家演講PPT
大會(huì)報(bào)告全文
熱門論文解讀
學(xué)術(shù)新星訪談

掃描上方二維碼
或點(diǎn)擊「閱讀原文」關(guān)注專區(qū)。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。