來自Andrej Karpathy的最新洞察,以及一份意外曝光的Claude系統(tǒng)提示詞引發(fā)的思考
Andrej Karpathy提出一個觀點:我們當前的LLM學(xué)習(xí)范式中,至少缺失了一個重要環(huán)節(jié)。他將其暫稱為“系統(tǒng)提示詞學(xué)習(xí)”(System Prompt Learning)
他認為:
預(yù)訓(xùn)練(Pretraining)是為了讓LLM掌握海量知識
微調(diào)(SL/RL)則是為了塑造其習(xí)慣性行為
這兩者都涉及模型參數(shù)的改變。但Karpathy指出,很多人類學(xué)習(xí)更像是“系統(tǒng)提示詞”的調(diào)整:遇到問題、想出辦法,然后用明確的語言“記住”下次如何應(yīng)對。比如,“當遇到這類問題時,我應(yīng)該嘗試那種方法。” 這更像給自己寫備忘錄,是全局性的問題解決策略,而非針對特定用戶的零散記憶。Karpathy打了個比方:LLM目前就像《記憶碎片》里的主角,我們還沒給它配備“便簽本”或“草稿紙”
這種新范式如果能實現(xiàn),將非常強大且數(shù)據(jù)高效。因為一個由知識引導(dǎo)的“復(fù)盤”階段,其反饋維度遠高于簡單的獎勵標量
Claude的“天書”級系統(tǒng)提示詞
Karpathy的這番思考,部分源于對Claude系統(tǒng)提示詞的觀察。最近,Claude的系統(tǒng)提示詞被一位用戶“套”了出來,內(nèi)容之詳盡令人咋舌:
長度驚人:約17000詞,110kb大小。相比之下,OpenAI o4-mini的系統(tǒng)提示詞僅約2200詞(15.1kb),只有Claude的13%左右
Claude的系統(tǒng)提示詞地址:
https://github.com/asgeirtj/system_prompts_leaks/blob/main/claude.txt
這份龐大的提示詞里都有些什么呢?
1.工具定義 (Tool Definitions):這是最大頭,信息主要來自MCP服務(wù)器。MCP服務(wù)器不僅提供API,還詳細說明了LLM何時及如何使用這些工具。提示詞中列出了14種不同工具。例如,一個簡單的網(wǎng)頁搜索工具定義可能只有幾行,但像Google Drive搜索工具的描述就超過1700詞
2.工具使用指南:除了MCP提供的工具定義,還有大量關(guān)于如何及何時使用這些工具的指令,散布在“引用說明”、“工件說明”、“搜索說明”和“Google集成注意事項”等部分。比如,反復(fù)提醒Claude不要對其已知信息使用搜索工具(可見這是個頑固問題)
值得注意的是,Karpathy認為這種內(nèi)外分離是合理的“關(guān)注點分離”:MCP包含通用工具信息,適用于任何程序;而非MCP部分則針對聊天機器人應(yīng)用的特定需求。這是標準程序設(shè)計思路在提示詞工程上的應(yīng)用
總計,近80%的提示詞內(nèi)容都與工具的使用和定義相關(guān)
3.“熱修復(fù)”與行為規(guī)范 (Claude Behavior & Hotfixes):這部分更像是我們傳統(tǒng)理解中的系統(tǒng)提示,規(guī)定了Claude的行為方式、回應(yīng)風格和禁忌。其中不乏針對LLM常見“陷阱”的“補丁”:
?計數(shù)問題:“如果Claude被要求計算單詞、字母和字符數(shù),它會先分步思考,明確地給每個計數(shù)對象編號,完成計數(shù)后再回答。”——這顯然是為了解決類似“strawberry里有幾個r”這類LLM常見難題
?經(jīng)典謎題:“如果Claude遇到經(jīng)典謎題,它會先逐字引用所有約束條件,確認不是變體。”——防止LLM被稍作修改的經(jīng)典邏輯題繞進去
?知識更新:“特朗普是現(xiàn)任美國總統(tǒng),于2025年1月20日就職。”——鑒于Claude知識截止日期是2024年10月,這條信息顯然是硬編碼的
?詩歌創(chuàng)作:Karpathy最喜歡的一條:“如果被要求寫詩,Claude會避免使用陳詞濫調(diào)的意象、隱喻或可預(yù)測的押韻。”
Claude這份巨細的系統(tǒng)提示詞,恰恰印證了Karpathy的觀點:目前大量的問題解決策略,是工程師們手動寫入系統(tǒng)提示的。而Karpathy認為,這些本不應(yīng)完全依賴人工,也不應(yīng)立即或完全通過強化學(xué)習(xí)(RL)融入模型權(quán)重
理想情況下,這些策略應(yīng)通過“系統(tǒng)提示詞學(xué)習(xí)”產(chǎn)生。這種學(xué)習(xí)過程類似于RL的設(shè)置,但學(xué)習(xí)算法不同(編輯提示詞 vs. 梯度下降)。LLM的系統(tǒng)提示詞中,有相當一部分可以通過這種方式“自我撰寫”,就像LLM為自己寫一本解決問題的指南。
當然,這其中還有很多細節(jié)待明確:編輯如何工作?編輯系統(tǒng)本身能否學(xué)習(xí)?如何像人類一樣,將顯性文本知識逐漸內(nèi)化為習(xí)慣性權(quán)重?
Claude的系統(tǒng)提示詞,無疑是提示工程復(fù)雜性的一個縮影。Anthropic通過大量使用XML風格標簽來增強可讀性(這對人還是LLM更友好值得商榷),以及其MCP服務(wù)器的發(fā)明和采用,都是其管理這種復(fù)雜性的努力。但這也引出新問題:如何進行版本控制?這些“熱修復(fù)”是逐個添加還是批量評估后上線?什么時候才需要“推倒重來”?
這份提示詞也再次提醒我們:聊天機器人遠不止模型本身,其背后是不斷積累、迭代優(yōu)化的指令、工具集和精心設(shè)計
參考:
https://x.com/karpathy/status/1921368644069765486
?星標AI寒武紀,好內(nèi)容不錯過?
用你的贊和在看告訴我~
求贊
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(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.