打開網(wǎng)易新聞 查看精彩圖片

在 LLM 迅猛發(fā)展的今天,許多開發(fā)者試圖將其用于各種任務(wù),包括核心業(yè)務(wù)邏輯和決策制定。然而,這種做法往往會帶來一系列問題,從性能低效到難以調(diào)試,再到安全性隱患。本文將深入探討為什么你應(yīng)該盡快擺脫對 LLM 的過度依賴,以及如何避免常見陷阱。

原文鏈接:https://sgnt.ai/p/hell-out-of-llms/

作者 | pete

翻譯工具 | ChatGPT 責(zé)編 | 蘇宓

出品 | CSDN(ID:CSDNnews)

不要讓 LLM 負(fù)責(zé)決策或?qū)崿F(xiàn)業(yè)務(wù)邏輯——它們在這方面表現(xiàn)很差。我正在給一款在線游戲開發(fā) NPC(非玩家角色),經(jīng)常有人問我:“你是怎么讓 ChatGPT 做到這些的?”我的回答總是:“我沒有用 ChatGPT,而且你也不應(yīng)該在游戲開發(fā)時使用。”

在大多數(shù)應(yīng)用中,LLM 只應(yīng)該作為用戶和應(yīng)用程序邏輯 API 之間的用戶界面,即把用戶的自然語言轉(zhuǎn)換成系統(tǒng)可執(zhí)行的指令。LLM 不應(yīng)該負(fù)責(zé)做決定或執(zhí)行復(fù)雜邏輯。盡快擺脫 LLM,并且盡可能長時間地避免依賴它。

打開網(wǎng)易新聞 查看精彩圖片
打開網(wǎng)易新聞 查看精彩圖片

為什么?

舉個簡單的例子:假設(shè)你想開發(fā)一個在 WhatsApp 上運行的國際象棋機器人。用戶可以發(fā)送指令,比如“用我的象吃掉對方的馬”,然后機器人進(jìn)行相應(yīng)的操作。

你能讓 LLM 負(fù)責(zé)維護(hù)棋盤狀態(tài)并做出合理的棋步?jīng)Q策嗎?也許可以。但你應(yīng)該這么做嗎?絕對不行!理由如下:

  • 性能:LLM 能夠下棋本身已經(jīng)很神奇了,但它的棋藝并不好(截至 2025 年 4 月 1 日)。專業(yè)的國際象棋引擎總是比 LLM 更快、更強、成本更低。像 Stockfish 這樣的現(xiàn)代棋類 AI,專門為下棋設(shè)計,能準(zhǔn)確計算每一步的最優(yōu)選擇。而 LLM 只是個通用的聊天模型,它并不真正“懂”下棋,只是靠文字來記住棋盤狀態(tài),既慢又容易出錯。

  • 調(diào)試與調(diào)整:你沒法搞清楚 LLM 為什么會做出某個決定,所以也很難調(diào)整它的行為。LLM 生成答案的過程像是在一個復(fù)雜的迷宮里穿行,沒人能準(zhǔn)確還原它的思考路徑,它自己也說不清楚。即使是專門訓(xùn)練的 AI(比如國際象棋引擎),都很難完全看透它的運作邏輯,而 LLM 在這方面更是亂得一塌糊涂——雖然 Anthropic 在讓 LLM 更可解釋方面做了一些努力,但問題依然很大。

  • 使用 LLM 還有一堆其他問題會出現(xiàn),比如難測試,普通代碼可以用單元測試檢查是否正常運行,但 LLM 的輸出不穩(wěn)定,測試起來麻煩得多;數(shù)學(xué)太爛,LLM 處理數(shù)學(xué)題遠(yuǎn)不如 CPU,簡單計算可能都出錯;隨機數(shù)不靠譜,LLM 生成的隨機數(shù)并不真正“隨機”,可能影響游戲或算法的公平性;版本管理混亂,普通代碼可以清楚地記錄版本變化,但 LLM 輸出是動態(tài)的,難以追蹤和審計;難以監(jiān)控,LLM 的決策過程像個黑箱,想要監(jiān)測它的運行情況變得更加復(fù)雜;狀態(tài)管理脆弱,用自然語言記住狀態(tài)容易出錯,比如游戲中的棋盤布局,LLM 可能隨時“忘記”或搞混;API 限制和成本問題,你得考慮 LLM 的調(diào)用次數(shù)限制,超了就用不了,而且每次調(diào)用都要花錢;安全邊界模糊,傳統(tǒng)系統(tǒng)有清晰的權(quán)限控制,而 LLM 處理所有內(nèi)容都靠提示詞,容易導(dǎo)致意想不到的安全風(fēng)險。

打開網(wǎng)易新聞 查看精彩圖片

示例

國際象棋的例子只是 LLM 不適合核心應(yīng)用邏輯的一個縮影。在任何對精確性、可靠性和效率有要求的領(lǐng)域,你都應(yīng)該遵循相同的原則:

  1. 游戲:如果用戶說要用斬龍劍攻擊玩家 X,LLM 不應(yīng)該負(fù)責(zé)判斷用戶是否真的有斬龍劍,或者攻擊會造成多少傷害。LLM 只負(fù)責(zé)將用戶輸入轉(zhuǎn)換為 API 調(diào)用,并將結(jié)果轉(zhuǎn)換回文本返回給用戶。

  2. 談判代理:如果你在構(gòu)建一個自動談判代理,LLM 不應(yīng)該負(fù)責(zé)談判本身,而只是傳遞信息、調(diào)用談判引擎,并將結(jié)果反饋給用戶。

  3. 隨機選擇:如果你的應(yīng)用需要做出隨機選擇,LLM 不應(yīng)該決定結(jié)果,而應(yīng)該調(diào)用專門的隨機數(shù)生成器。

打開網(wǎng)易新聞 查看精彩圖片

LLM 適合做什么?

盡管上面強調(diào)了 LLM不適合的工作,但理解它擅長的領(lǐng)域同樣重要,這樣你才能合理利用它的優(yōu)勢。

LLM 擅長轉(zhuǎn)換、分類,并且有一定的常識推理能力。這些才是你應(yīng)該利用它的地方:

  • 文本轉(zhuǎn)換:將“用劍砍獸人”轉(zhuǎn)換為 attack(target="orc", weapon="sword"),或者將 {"error": "insufficient_funds"} 轉(zhuǎn)換為“你的金幣不足”。

  • 任務(wù)路由:識別用戶意圖,并將請求路由到正確的系統(tǒng)模塊。比如,判斷“查看我的背包”是庫存查詢,而“攻擊”是戰(zhàn)斗指令。

  • 自然語言理解:LLM 知道“blade”可能指的是劍,“smash”可能意味著攻擊,這樣可以提高交互的自然度。

注意,LLM 的優(yōu)勢在于轉(zhuǎn)換、理解和溝通,而不是復(fù)雜決策或關(guān)鍵業(yè)務(wù)邏輯。將它們限制在這些角色,你可以充分利用其優(yōu)勢,同時避免前面提到的問題。

打開網(wǎng)易新聞 查看精彩圖片

未來展望

LLM 的能力正在快速進(jìn)化,就像“上帝的空白”理論——每當(dāng)人們發(fā)現(xiàn)某個現(xiàn)象無法解釋時,就歸因于神的力量,直到科學(xué)填補了這個空白。同樣,人們總是會找出一些“只有人類才能完成”的任務(wù),但幾個月后,新的 LLM 版本可能就能勝任這些任務(wù)了,迫使人們不斷修改標(biāo)準(zhǔn)。

因此,未來的 LLM 可能會在這些任務(wù)上表現(xiàn)得更好,但很多核心問題仍然無法消除:傳統(tǒng)的非 LLM 邏輯依然更易于理解、維護(hù)、更便宜且更易于版本控制。

即使 LLM 不斷進(jìn)步,核心架構(gòu)原則仍然不變:讓 LLM 負(fù)責(zé)它最擅長的用戶交互部分,而將關(guān)鍵邏輯交給專業(yè)的系統(tǒng)來處理。

4 月 2 日 20:00,CSDN《萬有引力》欄目特別邀請到OpenManus 項目一作、MetaGPT 開源核心貢獻(xiàn)者梁新兵,DeepWisdom 算法研究員、OpenManus 核心作者向勁宇相聚 CSDN 視頻號直播間,在CSDN &《新程序員》執(zhí)行總編、《萬有引力》主理人唐小引主持下,一起聊聊 00 后程序員的故事,以及 OpenManus 背后的秘密!