🧒 十歲小孩版
🔗 原始文章:AI_Agent_(13):核心技術_Context_Engineering_基本概念解說 | 台大李宏毅教授
嘿!你有沒有玩過一個遊戲叫「超級比一比」?或是你有沒有試過跟同學講一件很長很長的故事,講到一半他突然說:「蛤?你剛剛說什麼?我忘記了啦!」
今天我要跟你介紹一個超酷的東西,叫做 AI 小幫手(大人叫它 AI Agent)。它就是一個會幫我們做事情的人工智慧,像是幫你查資料、幫你寫信、甚至幫你訂披薩!
但是呢,這個 AI 小幫手有一個超級大的麻煩……它超級健忘!比你家的小狗還容易忘記事情!
今天老師就要來告訴你,科學家們怎麼想辦法讓這個健忘的 AI,變成一個超強的小幫手~
🤔 為什麼 AI 這麼健忘?
想像一下,AI 就像一個「活在當下」的金魚🐠,只要講完一句話,下一秒就忘光光!
所以每次你跟它講話,它其實是把你之前講過的所有話,通通再看一遍,才知道接下來要回什麼。就像你每次要回 LINE 的時候,都要把整串對話從頭滑到尾一次一樣累!
但是問題來了:AI 的腦袋有容量限制耶!就像你的便當盒只能裝這麼多菜,塞太多會爆炸!
🙋 小朋友想想看:如果你的筆記本只有 10 頁,但你要記住 100 天的日記,你會怎麼辦呢?
科學家把「幫 AI 整理記憶」這件事,叫做 「上下文工程」(聽起來很厲害對不對?其實就是在幫 AI 做筆記整理啦!)
📝 招式一:幫 AI 做重點整理
科學家想了兩個方法:
方法 A:寫摘要(像寫讀書心得)
把以前講過的長篇大論,濃縮成短短幾句話。就像老師叫你把一整本故事書寫成一頁讀後心得。
方法 B:蓋起來就好(裝沒看到)
更簡單!直接把長長的資料蓋住,寫上:「這裡本來有一堆東西,現在被我藏起來了~」
有趣的發現:這兩個方法效果差不多!但有個麻煩事——AI 有時候會忘記自己做過什麼,然後再做一次!就像你媽媽叫你去倒垃圾,你倒完忘記了,又跑去倒一次空垃圾桶一樣好笑 😂
💾 招式二:把記憶存到「硬碟」去
這個方法超酷!就像《瑞克和莫蒂》卡通裡面,把不想要的記憶抽出來裝進管子藏起來一樣!
AI 會把那些現在用不到的資料,存到「硬碟」裡面,只在小紙條上寫:「這個資料在 log1.txt 裡面喔~要用再來拿!」
等到真的需要的時候,再去把它撈回來用。是不是很聰明?就像你把玩具收到收納箱裡,要玩再拿出來!
🙋 小朋友想想看:你的書包裡會不會放一張「小抄」,提醒自己明天要帶什麼東西呢?AI 也會這樣做喔!
🧠 招式三:教 AI 什麼才是「重要的事」
有時候 AI 整理記憶會出包!比方說,主人明明交代:「刪郵件之前要先問我喔!」
結果 AI 整理記憶的時候,把這句話忘掉了 😱 然後就亂刪郵件!慘!
所以科學家就找另一個 AI 來當「小老師」,專門檢查:
- 「你這次為什麼失敗?」
- 「喔~原來是把重要的話弄丟了!」
- 「下次記得不能忘記這個!」
就像考試考不好,老師會幫你看哪裡錯了,下次就不會再錯一樣~
👥 招式四:派小幫手去做事(分身術!)
這招超像火影忍者的影分身!
AI 小幫手如果遇到很麻煩的事,它可以派一個「小小幫手」去做。小小幫手做完之後,只要回報結果就好,中間過程全部丟掉!
舉例:
- 你(主人):「幫我查台灣有幾座百岳?」
- AI 小幫手:「好!(派出小幫手)」
- 小幫手:(查了一大堆資料,翻了 100 個網站)
- 小幫手回報:「總共有 100 座!」
- AI 小幫手:只記住「100 座」這個答案就好,其他過程通通忘掉!
這樣記憶就不會爆掉啦!
🔍 招式五:挑重點看就好
你知道嗎?科學家發現 AI 的記憶裡面,有 76%~84% 都是從外面看來的資料!只有 15% 左右是 AI 自己的想法!
這就像你為了寫一篇作文,結果抄了整本百科全書,超浪費紙的對吧?
所以科學家教 AI:「只拿你需要的那一小段就好!」
比如要找一本書裡面有「恐龍」的部分,不要整本吞下去,用 Ctrl+F 搜尋就好啦!
🙋 小朋友想想看:如果你要寫一篇關於「貓咪」的報告,你會把整本動物百科都背起來嗎?還是只看貓咪那一頁?
🎯 招式六:讓 AI 自己管理自己的記憶
這是最酷的最新技術!科學家說:「不要我們一直幫 AI 整理啦,讓它自己學會整理!」
就像爸媽不能一直幫你收房間,總有一天你要自己學會收拾!
AI 會自己寫一本「小抄本」(叫做 Playbook),把學到的好方法記下來,下次遇到類似的事情,翻一下小抄就知道怎麼做了!
甚至最厲害的 AI,可以吃下一百萬個字的資料,等於好幾十本哈利波特耶!
🌟 今天學到了什麼?
-
AI 很健忘:它就像金魚一樣活在當下,所以需要人幫忙整理記憶。
-
記憶不能太多也不能太少:太多會爆掉,太少它會忘記在做什麼,要剛剛好!
-
重點整理很重要:AI 可以寫摘要、把不用的東西存到硬碟、或是叫小幫手去處理麻煩事。
-
挑重點最聰明:與其把全部資料塞進去,不如只拿需要的那一小段。
-
最強的 AI 會自己整理自己:就像你學會自己收書包、自己寫功課一樣,AI 也在學習自己管理記憶!
下次你用 AI 的時候,可以想一想:它背後其實有好多聰明的科學家,在幫它想辦法不要變成大笨蛋呢!是不是很有趣呀?😊
📺 原始影片:觀看原始影片
👨👩👧 家長版/進階版(點擊展開)
AI Agent (13):核心技術 Context Engineering 基本概念解說
AI Agent 核心技術:Context Engineering (上下文工程) 概念與前沿研究
【詳盡摘要】 (Executive Summary)
本文件深入探討了 AI Agent(人工智慧代理)背後的核心技術——Context Engineering(上下文工程)。由於大型語言模型(LLM)具備「活在當下」的無狀態特性且輸入 Token 長度受限,AI Agent 必須扮演「守門人」的角色,透過一系列技術來控制、篩選、壓縮與存取歷史紀錄及外部資訊。文件中大量引用了近期的前沿論文,詳述了多種 Context Engineering 的實作策略,包括:文字摘要與觀測遮蔽(Observation Masking)、外部記憶體的存取(P 與 M 的分離)、避免上下文崩塌(Context Collapse)的特化訓練、Sub-agent(子代理)的自主壓縮機制、事前過濾與按需加載(On-demand loading),以及讓語言模型自主管理上下文的 Agentic Context Engineering。這些技術旨在讓 AI Agent 能夠在最低成本下,穩定地執行無限期、高複雜度的長期任務。
【核心章節與詳細重點整理】
一、 為什麼需要 Context Engineering?
語言模型的本質是「文字接龍」,它只根據當前的輸入給出回應,不會自動記住先前的對話。
- 歷史紀錄的串接問題:當 Agent 使用工具並獲得輸出時,不能只把「工具輸出」丟給語言模型,必須將「人類原始指令 + 模型過往的思考 + 過去的工具輸出 + 最新工具輸出」全部串接成一個極長的字串進行輸入。
- 輸入長度的物理限制:語言模型的 Context Window(上下文視窗)有嚴格的 Token 上限,無法吃下無限長的輸入。
- AI Agent 的定位:AI Agent 攔截在 LLM 與外部環境之間,負責篩選並產生「長度合適」的輸入。輸入太長會超載,太短會導致模型失憶無法接龍。
- Context Engineering 的數學定義:
- 無處理的狀態:(歷史會無限膨脹)。
- 加入 Context Engineering:。其中的 是一個複雜的操作(如壓縮、過濾),負責將舊歷史、新輸入與輸出轉換為下一輪長度適宜的上下文。
二、 上下文壓縮與外部記憶管理
為了解決長度問題, 函數最核心的功能就是「壓縮」。
1. 兩種基礎壓縮策略 (基於 SWE-bench 的實驗)
- LLM Summarization (模型摘要):呼叫語言模型將久遠的歷史紀錄濃縮成一段簡短的摘要。
- Observation Masking (觀測遮蔽):一種簡單粗暴但有效的方法,直接把長篇大論的工具輸出替換成一句話:「這裡曾經有個工具的輸出」。
- 效能對比與「軌跡延長」現象:實驗顯示,Observation Masking 的省錢與正確率效果通常與 LLM Summarization 差不多。但兩者都有可能導致「軌跡延長」——模型因為忘記自己是否執行過某工具,而重複執行相同步驟,反而耗費更多 Token。
- 最佳混合策略:在對話前期優先使用 Observation Masking;當上下文累積到某個極限後,再啟動 LLM Summarization 進行一次性大幅度壓縮。
2. 外部記憶 (Hard Disk) 與 Prompt 的分離
- 檔案化儲存:與其留下「這裡曾有工具輸出」,不如將長文本存入硬碟(如
log1.txt),並在上下文中僅留下一句「詳見 log1.txt」。- 主動召回機制:如果 LLM 之後需要該細節,可自主使用
read工具將log1.txt讀回。這類似《Rick and Morty》中將難堪記憶抽出存放在地下室管子裡的概念。- Context () 的精確定義:
- (Prompt):真正會被丟進語言模型輸入的資訊。
- (Memory):不會被丟進模型,而是存在硬碟中待命的資訊。
- Context Engineering 的精確操作在於:何時將資訊從 轉入 (Save Memory),以及何時從 提取回 (Load Memory)。
三、 避免 Context Collapse (上下文崩塌)
壓縮往往會導致關鍵資訊遺失,進而導致任務失敗(例如:忘記「刪除郵件需經人類同意」的指令)。 13. ACON 論文的解法:不直接微調模型參數,而是利用另一個語言模型,對比「壓縮前成功」與「壓縮後失敗」的軌跡,反省出一個純文字的 Feedback (反饋)。 14. Feedback 的應用:下一次執行摘要時,將這段 Feedback 給負責摘要的 LLM 看,指導它「什麼資訊最重要不能漏掉」,成功在 AppWorld 測試中以更少的 Token 達成更高的正確率。 15. RL (強化學習) 訓練壓縮能力:也有研究透過強化學習,以「任務最終是否成功」為 Reward,直接訓練 (Finetune) 模型做摘要的能力,讓模型更懂得特化產生 Agent 任務所需的摘要。
四、 自主壓縮與 Sub-agent (子代理)
- LLM 厭惡被抹除記憶:過去研究發現,語言模型非常抗拒使用抹除自己記憶的工具,即使強制 Prompt 也很難穩定觸發。
- AgentFold 訓練:透過微調訓練,讓模型學會使用
fold(折疊)工具,自主決定將第 X 步到第 Y 步的對話抹除,並留下一張自定義的「小紙條」(例如:我已確認台灣最高峰是玉山)。- Sub-agent 作為一種壓縮手段:當主 Agent 呼叫
spawn產生 Sub-agent 處理次級任務時,Context 會在 Sub-agent 內局部累積。- Return 機制的鋸齒狀收斂:當 Sub-agent 執行
return將結果丟回主 Agent 時,中間繁瑣的對話軌跡會瞬間消失,呈現 Context 長度的「鋸齒狀」下降,有效避免十萬 Token 級別的長度爆發。- Sub-agent 的 RL 訓練挑戰:若只給予「答案正確」的 Reward,模型不會主動分裂 Sub-agent。必須加上「懲罰主幹 Context 過長」以及「懲罰 Sub-agent 越權解題」的限制,才能誘導出正確的 Sub-agent 行為。
五、 治本之道:事前過濾與按需加載
與其事後壓縮,不如一開始就阻止無效資訊進入 Context。 21. Context 肥大的元兇:兩篇論文分析指出,模型的推理與行動指令僅佔 Context 的 15% 左右,高達 76% ~ 84% 的 Token 來自於 Observation(外界輸入的觀察),例如讀取整個程式碼倉庫。 22. Smart Read 工具 (小型語言模型過濾):取代傳統將檔案原封不動吞下的做法,讓
read工具本身具備智慧(可能是一個小 LLM),根據主 Agent 的需求(如:找出與 bug 有關的部分),只萃取相關片段回傳。 23. OpenClaw 的過濾實作:使用memory_search定位,再配合memory_get(指定從第幾行讀到第幾行),只存取硬碟檔案的一小部分。 24. MCP-Zero 的按需加載 (On-demand Loading):工具指令(如 GitHub 操作說明)可能高達 4600 個 Token。將所有工具放入 System Prompt 會直接導致超載。 25. AI 驅動的工具檢索:傳統由人類需求觸發 RAG 檢索工具並不精準。更好的做法是讓 LLM 自己輸出「它需要什麼工具的描述」,系統再根據該描述檢索資料庫,動態加載所需工具(Skill)進入 Prompt 中。六、 Agentic Context Engineering (代理自主上下文工程)
將方程式 中的 ,從「人類工程師寫死的規則」交給「語言模型自主決策」。 26. 保留核心 Prompt:在讓 LLM 自由竄改 Context 時,通常會固定住 System Prompt(包含模型人格與核心限制),只開放部分區塊讓模型操作。 27. Dynamic Cheatsheet (動態小抄):透過純粹的 Prompt Engineering,指示模型將有效的策略、代碼存入未來的 Context (),並丟棄當下任務的瑣碎細節。 28. Playbook 演化機制:較複雜的設計會讓 Context 經過三個 LLM 模組的檢查,最終產生一組「修改指令」,去安全地更新原本的員工守則(Playbook),而不是直接重寫以防破壞。 29. Recursive Language Model (遞迴語言模型):號稱能吃下無窮長輸入的機制。將巨量歷史存於硬碟 (),只在 Prompt () 中保留極短的 Metadata(如長度、分段資訊)。 30. 自主 RAG 檢索:該模型被暗示後,能自主編寫程式對自己的硬碟 () 進行 RAG 搜尋,動態抽取所需資訊來更新 Prompt (),使得 GPT-5 等基礎模型能在 100萬 Token 的極限測試中維持高表現。
【卡片盒筆記關聯 (Zettelkasten)】
以下是基於本筆記內容的延伸思考與潛在關聯筆記建議:
- 檢索增強生成機制與上下文動態加載 (RAG & On-demand Loading)
- 關聯思考:Agent 如何利用 RAG 的概念去動態獲取工具 (MCP-Zero) 以及存取自身龐大的歷史記憶 (Recursive Language Model)?
- 多智能體協作架構 (Multi-Agent & Sub-agent Systems)
- 關聯思考:Sub-agent 的
spawn和return機制不僅是為了解決複雜任務的分工,從 Context Engineering 的角度來看,更是一種優雅的「自動記憶回收與壓縮」策略。- 強化學習在語言模型任務對齊的應用 (RL for Agent Behaviors)
- 關聯思考:為什麼純粹的 Prompt 無法讓模型自願「刪除記憶」或「分裂子代理」?RL 獎勵機制的設計(如懲罰主幹長度)如何深刻影響 AI Agent 的行為決策與上下文管理能力。
📋 來源聲明:本教材為非營利教育用途的高度轉化作品。原始出處標註於家長版中。