再看Manus 這篇深度好文「Context Engineering for AI Agents: Lessons from Building Manus」還是很有收穫和啟發 @ManusAI 怎麼在不改變模型本身的前提下,透過極致優化輸入給模型的上下文資訊結構,解決AI Agent 變慢、變笨、變貴的問題。實際上是在建立一個“以LLM 為核心的作業系統”,梳理了這幾個方面🔽 效能最佳化:像保護資料庫一樣保護“KV-Cache” 痛點:Agent 運行慢、成本高,本質上是因為每次請求都在做大量重複計算。 技術洞察:大模型推理時,會產生KV-Cache 暫存。如果你的輸入提示詞的前半部不變,這部分快取就能重複使用,推理速度能快10 倍以上。 Manus 的解法:「前綴凍結」策略。 · 絕對不要在System Prompt 的開頭插入動態變化的資訊(例如精確到秒的時間戳記)。因為開頭只要變一個字符,整個KV-Cache 就會失效,系統就得從頭計算。 · 這就好比寫程式碼時,要把「靜態常數」放在最前面,把「動態變數」放在最後面,最大化快取的命中率。 狀態管理:對抗大模型的“健忘症” 痛點:隨著任務鏈變長,模型容易出現“Lost-in-the-middle”,忘了自己最初的目標或中間的某個狀態。 技術洞察:Transformer 架構對長文首尾的注意力最強,中間最弱。單純把任務歷史堆在中間,模型很容易「看漏」。 Manus 的解法:「顯式狀態複述」 (Explicit State Recitation)。 · 不只是記錄日誌,而是強制模型在每次輸出的末尾,重新產生一遍當前的Todo List 和當前狀態。 · 這利用了Transformer 的注意力機制特性:把最重要的狀態訊息,強行搬運到模型視線的最新處,相當於在每一次推理前,都做了一次「注意力校準」。 錯誤處理:把「報錯訊息」當作一種訓練資料痛點:傳統軟體遇到Error 通常會catch 掉並重試,但對於Agent,如果把錯誤日誌刪了,模型不知道自己剛才錯了,很可能會重蹈覆轍。 技術洞察:大模型具備In-Context Learning 能力。它不僅能學“怎麼做對”,也能從“怎麼做做錯”中吸取教訓。 Manus 的解法:保留「負樣本」上下文。 · 當Agent 執行工具失敗時,保留完整的報錯堆疊。模型看到“路徑A -> 失敗”,在下一次推理時,其內部機率分佈會自動降低路徑A 的權重。 · 這是一種運行時強化學習。你不需要訓練模型,只需要把「失敗的屍體」留在現場,模型自己就會學會繞路。 樣本設計:防止模型進入“自動補全模式” 痛點:如果你給模型的Few-Shot 格式太完美、太統一,模型會變笨。 技術洞察:大模型底層有強烈的「模式複製」傾向。當它發現輸入全是重複格式時,它會傾向於機械地複製格式,而停止思考內容的邏輯。 Manus 的解法:引入「結構熵」(雜訊)。 · 不要讓歷史互動記錄看起來像是模子裡刻出來的。在建構Context 時,故意保留一些異構的、不那麼完美的記錄。 · 這種微小的“混亂感”,能打破模型的機械慣性,迫使它每次都必須真正“讀懂”當前的內容才能生成回答,而不是簡單地做文本補全。 閱讀原文
正在載入線程內容
正在從 X 取得原始推文,整理成清爽的閱讀畫面。
通常只需幾秒鐘,請稍候。
