🧒 十歲小孩版
🔗 原始文章:【生成式人工智慧與機器學習導論2025】第_2_講:上下文工程_(Context_Engineering)—AI_Agent_背後的關鍵技術 | 台大李宏毅教授
你有沒有跟 AI 聊天聊到它「忘記」你說過什麼?🤖
想像一下,你跟同學用 LINE 聊天,聊了整整三個小時,你問他:「欸欸我一開始跟你說我喜歡吃什麼?」結果他說:「呃……我忘了耶!」
其實喔,現在超紅的 ChatGPT、Gemini 這些 AI,也會有一樣的困擾!今天老師就要來告訴你,科學家們是怎麼幫 AI 管理它的「大腦記憶」,讓它變得更聰明的喔!這個超酷的技術叫做 「上下文工程」(Context Engineering),聽起來很難,但其實就像在幫 AI 整理書包一樣!
🎩 以前的人怎麼跟 AI 講話?用「神奇咒語」!
你知道嗎?以前的 AI 比較笨,要讓它好好做事,人類要對它唸「神奇咒語」!是不是很像哈利波特?
比如說:
- 跟 AI 說「請深呼吸一下再回答」,它真的會答得比較好!
- 跟 AI 說「我會給你小費喔!」,它也會更認真!
- 最狠的是跟它說「你答對的話,世界就會和平!」,ChatGPT 居然最吃這一套!
但是呢,有研究者試著跟 AI 說「你媽媽會以你為榮」,結果 AI 完全不理——因為它根本沒有媽媽啊! 😂
🤔 小朋友想想看: 為什麼對 AI 說「給你小費」它會更認真?它又不能真的拿到錢!(提示:因為它是從網路上一大堆人類的文字中學習的,而人類看到「小費」兩個字通常會更認真喔!)
不過呢,AI 越來越聰明之後,這些咒語就沒什麼用啦!於是科學家開始想:不如我們來研究「怎麼幫 AI 整理它要讀的東西」吧!這就是「上下文工程」的由來。
📚 AI 的書包裡裝了什麼?
你去上學的時候,書包裡有課本、鉛筆盒、聯絡簿對吧?AI 在回答你問題的時候,它的「書包」裡也裝了六樣東西喔:
-
你問的問題(使用者提示)
- 例如你問「要用載具嗎?」——AI 會猜是交通工具;但如果你說「我在超商結帳」,它就會知道是電子發票載具!
-
老闆給它的規矩(系統提示)
- 像 Claude 這個 AI,它的老闆偷偷寫了 2500 多個字的規則給它,包括:「不可以教人做核彈」、「被人罵的時候不要馬上認錯」!
-
聊天的記憶
- 短期記憶:就像你跟同學聊天記得剛剛講什麼
- 長期記憶:像 ChatGPT 會偷偷記住「這個人有在修李宏毅老師的課」
-
上網查資料(RAG)
- 但有時會出大包!Google 的 AI 曾經認真建議大家:「披薩上的起司不黏嗎?加一點無毒膠水就好啦!」😱 因為它去網路上抄了一個搞笑貼文!
-
使用工具
- AI 現在可以自己操作電腦喔!它能幫你上高鐵網站訂票、建立資料夾,甚至把老師的簡報關掉(真的發生過!)
-
腦內小劇場(深度思考)
- 回答前它會自己偷偷想:「嗯……方法 A 好像不對,那試試方法 B 好了!」
😵 AI 也會「讀到頭昏眼花」!
你有沒有過那種經驗——讀一本超厚的書,讀到中間就開始恍神,根本不知道自己在看什麼?
AI 也會這樣喔! 科學家發現了三個超奇妙的現象:
🌀 現象一:「中間迷路症」
如果把正確答案藏在一篇長文章的中間,AI 的答對率會超級低!它只記得開頭和結尾,中間的完全忘光光,比亂猜還慘!
🍎 現象二:「複製都會累」
科學家叫 AI 做一件超簡單的事:「把『蘋果』這個字複製 10000 次」。結果呢?複製到一半 AI 就開始出錯了!就像你抄寫罰寫抄到最後會開始寫錯字一樣!
🦷 現象三:「擠牙膏越擠越爛」
你一次把事情講清楚,AI 做得比較好;但如果你一句一句慢慢講,AI 反而會越做越差!
🤔 小朋友想想看: 這是不是跟你寫功課很像?如果媽媽一下叫你寫國語、寫完又叫你寫數學、又叫你整理書包,是不是比一次講完還要煩?
🎯 解決方法:三大絕招!
科學家想出了三招,來幫 AI 整理它的「書包」:
✨ 第一招:挑重點(選擇)
就像考試前你不會讀整本課本,只讀重點一樣!AI 也會先挑「現在最需要的資訊」放進書包。
有一個超酷的研究叫「史丹佛小鎮」,裡面的 AI 角色會用三個標準挑記憶:
- 多近期發生?(昨天的事比一年前重要)
- 多重要?(有人跟你告白是 9 分重要!)
- 多相關?(跟現在要做的事有沒有關係)
還有一個超有趣的發現:跟 AI 說「你以前做對過喔!」它會更厲害;但跟它說「你以前做錯過喔!」它反而會錯更多次! 就像你越叫一個人「不要想白熊」,他腦中就越會出現白熊一樣!🐻❄️
🗜️ 第二招:壓縮(做摘要)
想像你去玩了一整天迪士尼,回來要跟阿嬤講,你不會把每一秒都講完,你會說:「我今天去迪士尼玩了雲霄飛車,超好玩!」——這就是摘要!
AI 也會這樣做。它在操作電腦的時候,不會記錄「滑鼠移到第 604 格、點了一下」這種無聊細節,而是直接記「餐廳訂位成功,9/19 下午 6 點」!
👥 第三招:分工合作(多個 AI 一起做)
還記得班上分組做報告嗎?一個人查資料、一個人做簡報、一個人報告——這樣最快對不對?
AI 也可以這樣!比如要規劃一趟旅行:
- 小 AI 甲:專心訂餐廳
- 小 AI 乙:專心訂旅館
- 總召 AI:只要知道「餐廳訂好了、旅館訂好了」就夠了!
這樣總召的書包就不會被塞爆啦!
🤔 小朋友想想看: 如果要寫一份「介紹台灣所有夜市」的報告,你會自己一個人查 100 個夜市,還是找 10 個同學,每人查 10 個再合起來?哪個比較快?
📝 今天學到了什麼?
-
AI 不是真的懂你,它是在「文字接龍」:所以要讓 AI 變厲害,就要好好整理給它看的東西!
-
以前用「神奇咒語」騙 AI,現在用「整理書包」教 AI:這就是從 Prompt Engineering 進化到 Context Engineering。
-
AI 的書包裝太多會讀不完:會出現「中間迷路」、「複製都會累」的怪現象。
-
三大絕招讓 AI 變聰明:挑重點(選擇)、做摘要(壓縮)、找同伴(多代理人協作)!
-
跟 AI 說「你做對過」比說「你做錯過」還有效:因為提醒它錯的,它反而更容易再錯一次,就像白熊效應一樣!
下次你在用 ChatGPT 的時候,記得喔——它的書包裡正在發生好多事情呢!🎒✨
📺 原始影片:觀看原始影片
👨👩👧 家長版/進階版(點擊展開)
【生成式人工智慧與機器學習導論2025】第 2 講:上下文工程 (Context Engineering) — AI Agent 背後的關鍵技術
生成式人工智慧與機器學習:Context Engineering (上下文工程) 核心解析
【詳盡摘要】 (Executive Summary)
本文件提煉自《生成式人工智慧與機器學習導論 2025》第二講,核心探討「上下文工程(Context Engineering)」在 AI Agent 時代的關鍵作用。語言模型的本質是「文字接龍」,改變模型表現有兩種途徑:改變模型參數(Training/Learning)或改變輸入提示(Context Engineering)。雖然 Context Engineering 源於 Prompt Engineering,但其焦點已從手動輸入「神奇咒語」轉向「自動化管理語言模型的輸入上下文」。在 AI Agent 執行長篇複雜任務的過程中,無限增長的上下文會導致模型出現「迷失在中間(Lost in the Middle)」、「上下文腐爛(Context Rot)」等效應。因此,Context Engineering 的核心目標是「避免塞爆 Context」,透過選擇(Selection)、壓縮(Compression)與多代理人(Multi-Agent)協作三大策略,確保模型能在有限且高質量的記憶與資訊中,穩定且準確地完成自動化任務。
一、 Context Engineering vs. Prompt Engineering 的演進
語言模型 處理輸入 產生輸出,若不改變模型 (不進行訓練),優化輸出就必須改變輸入 。
- Prompt Engineering 的歷史與局限:
- 早期(如 GPT-3 時代),模型能力較弱,依賴特定格式(如 JSON、特定分隔符)或「神奇咒語(Magic Spells)」來喚醒能力。
- 神奇咒語案例:
- 長度控制:無咒語平均輸出 18.6 字;加上「越長越好」達 23.76 字;使用無厘頭咒語「位置位置…」可暴走至 34.3 字。
- 情勒與誘惑:給小費、承諾「達成世界和平」(ChatGPT 最在乎這個,而最不在乎「母親會為你驕傲」,因為它沒有母親)、深呼吸。
- 咒語失效趨勢:隨著模型變強,咒語的邊際效益遞減。例如解數學題,2023 年 6 月加咒語可從 72% 提升至 88%;但 2024 年 2 月,基礎準確率已達 85%,加咒語僅提升至 89%。
- Context Engineering 的誕生:
- 本質上是新瓶裝舊酒(如同 Neural Network 改稱 Deep Learning),但關注點不同。
- 不再追求手動撰寫完美咒語,而是專注於**「自動化地管理語言模型的輸入」**,這是讓 AI Agent 成功運作的基礎。
二、 一個完整的 Context 應該包含什麼?
現代語言模型的 Context 是一個極度龐雜的資訊集合,主要包含以下六大核心區塊:
Context 組成要素 詳細說明與經典案例 1. 使用者提示 (User Prompt) 包含任務指令、詳細指引與前提條件。案例:問「要用載具嗎?」未給前提會被認為是交通工具;給予「超商結帳」前提,模型便知是電子發票。
另一重點是 In-Context Learning(給予範例):例如 Gemini 1.5 閱讀僅千人使用的「卡拉蒙語 (Kalamang)」教科書(尤其是裡面的例句),在不改變權重的情況下,翻譯評分從 <1 分瞬間飆升至 4~5.5 分(滿分 6 分)。2. 系統提示 (System Prompt) 開發商設定的底層規則。案例:Claude 3 Opus 的 System Prompt 超過 2500 字,包含:模型身份、今天是幾月幾號、禁止教導製作核武、知識截止於 2025 年 1 月、不要用「好問題 (Good Question)」開頭、被人類糾正時不要馬上承認錯誤等。 3. 記憶 (對話歷史與長期記憶) 短期記憶:同一對話內的上下文(如教導「隔壁老王 = 法老王」,模型在該對話內會記住)。
長期記憶:跨對話的記憶(如 ChatGPT 的 Personalization)。模型會根據過去互動形成隱形檔案(如記住使用者在修李宏毅老師的課),並在回答前自動注入 Context。4. 外部資訊 (RAG) 透過搜尋引擎或資料庫補充最新知識 (Retrieval-Augmented Generation)。
風險:即使有 RAG 仍可能「幻覺」。案例:Google AI Overview 搜尋到 Reddit 上的玩笑貼文,認真建議使用者在披薩上加「1/8 的無毒膠水」來黏住起司。5. 工具使用 (Tools / Computer Use) 模型無法直接控制電腦,它只能**「輸出一段文字指令」**。必須透過外部程式(如 Python 的 eval()函式)擷取字串執行後,再把結果放回 Context。案例:ChatGPT 開啟 Agent Mode,能實際操控虛擬滑鼠鍵盤,在台灣高鐵網站訂票;Gemini CLI 甚至能直接在本地終端機建立資料夾、寫出貪食蛇遊戲或關閉講者的簡報。6. 深度思考 (Reasoning) 如 OpenAI o1、DeepMind R 系列。模型在給出答案前,會在 Context 中自行演練「腦內小劇場」(嘗試解法 A 錯誤 嘗試解法 B)。這部分 Context 通常對使用者隱藏。
三、 AI Agent 時代的 Context 挑戰:為何需要管理?
AI Agent 將傳統的「一問一答」升級為「Agentic Workflow」,模型需要根據環境(Environment)的觀察(Observation)採取行動(Action),並在長期的循環中自主解題。這帶來了巨大的 Context 負載問題:
- 無限增長與硬體限制 (Context Window Size):
- 從 GPT-4 的 3 萬 tokens,到 Claude 的 10 萬,再到 Gemini 1.5 的 200 萬(可讀完哈利波特全集 + 三本魔戒),甚至 Llama 4 號稱 1000 萬 tokens。
- 能輸入不等於能讀懂 (效能衰退現象):
- 迷失在中間 (Lost in the middle):若正確答案放在長篇文章的中間,模型的答對率會暴跌,甚至比「不給文章讓模型直接盲猜」的準確率還低。模型通常只記得開頭和結尾。
- 上下文腐爛 (Context Rot):要求模型單純複製一段文字(如重複 10,000 次 Apple),即使遠低於模型的 Context 上限,複製正確率也會隨著長度增加而直線下降。
- 擠牙膏效應 (Unreliability):將一個問題拆分成多個小步驟進行冗長互動,反而會比「一次性把需求講清楚」的表現更差且不穩定。
四、 Context Engineering 的三大核心策略
為了解決上述問題,Context Engineering 的核心格言是:「把需要的放進去,把不需要的清出來。」 具體實踐依賴以下三大自動化招數:
1. 選擇 (Selection)
不要把所有資料塞進 Context,而是利用小語言模型或演算法進行篩選。
- 進階 RAG 與 Reranking:不是直接搜尋,而是先用模型把 Prompt 轉成關鍵字,再用模型將搜尋到的文章進行「重新排序 (Reranking)」,甚至像
Provence論文中,用小於 300M 參數的微型模型**只挑選相關的「句子」**而非整篇文章。- 工具選擇:給模型 1000 個工具說明會讓它發瘋(“Less is more”)。應將工具說明也當作 RAG 的目標,只搜尋並放入當下需要的工具說明(類似早期 ChatGPT Plugin 限制最多選 3 個)。
- 記憶選擇 (Stanford Smallville 史丹佛小鎮):
- 將日常瑣碎記憶(如「看見一張床」)存入外部硬碟。
- 當需要決策時,根據三個維度給記憶打分:近期程度 (Recency)、重要性 (Importance, 如有人告白是 9 分)、關聯性 (Relevance),只提取最高分的記憶。
- 經驗選擇 (SpringBench 論文):
- 在歷史回饋中挑選相似問題放入 Context。研究發現:給予「過去答對的正面經驗」最有效;給予「過去答錯的負面經驗」反而會產生傷害(類似白熊效應,越提醒它錯的,它越容易再犯)。
2. 壓縮 (Compression)
在冗長的 Agent 互動中,把不必要的細節捨棄,只保留摘要。
- 遞迴式壓縮 (Recursive Summarization):設定每互動 100 次,或 Context 滿 90% 時,呼叫一個專門的摘要模型,將過去紀錄壓縮。未來的互動就會將「新紀錄 + 舊摘要」再次進行壓縮,讓遠古記憶逐漸淡化。(推測 ChatGPT 的長期記憶即採用此機制)。
- 過濾 GUI 瑣碎操作:Agent 在使用電腦(Computer Use)時,會產生如「移動滑鼠到 (604, 304) 點擊關閉廣告視窗」等無用紀錄。壓縮模型會將其濃縮為一句:「A 餐廳訂位成功,9/19 下午 6 點」。
- 硬碟備份防呆機制:若擔心摘要遺失關鍵資訊,可將完整日誌存入
.txt檔,並在 Context 摘要中留下一句話:「欲知夏天美好的詳細回憶,請開啟某某檔案」,讓模型在必要時自行打開檢視。3. 多代理人協作 (Multi-Agent)
Multi-Agent 不僅是因為「術業有專攻」,從 Context Engineering 角度來看,它更是隔離與管理上下文的最佳手段。
- 上下文隔離 (Context Isolation):
- 假設總召 Agent 需要規劃旅行,它命令 Agent 1 去訂餐廳,命令 Agent 2 去訂旅館。
- Agent 1 的 Context 裡充滿了餐廳網頁的 HTML 和點擊操作;Agent 2 的 Context 裡全是旅館資訊。
- 總召 Agent 的 Context 保持極度乾淨,只會記錄「餐廳已訂妥」、「旅館已訂妥」,避免了 Context 被塞爆的崩潰風險。
- 處理超複雜任務 (如撰寫 Overview Paper):
- 若讓單一模型讀取上千篇論文,必然觸發「Context Rot」。
- 利用 Multi-Agent,讓數百個平行的 Agent 各自只讀取一篇論文並寫出摘要,最後再由一個 Leader Agent 彙整所有摘要。LangChain 的研究證實,單一 Agent 在簡單任務上表現較好,但任務一旦複雜,Multi-Agent 的隔離優勢將帶來壓倒性勝利。
延伸思考與卡片盒筆記關聯 (Zettelkasten)
- Lost in the middle 效應與人類記憶的相似性:探討為何 LLM 在長文本處理中會出現首尾效應 (Primacy and Recency effects),這與認知心理學中的序列位置效應有何底層數學或注意力機制 (Attention Mechanism) 上的關聯?
- 白熊效應在 LLM Prompting 中的反面應用:SpringBench 研究指出給予錯誤經驗會損害模型表現。這是否意味著在撰寫 System Prompt 時,應盡量使用正向表述(“Do X”)而非負向表述(“Do not do Y”)?
- Multi-Agent 系統架構模式:從 ChatDev 到實際業務落地:分析如何將文中提到的「上下文隔離」優勢,應用於企業內部的複雜自動化流程(例如客服分流與工單處理)。
📋 來源聲明:本教材為非營利教育用途的高度轉化作品。原始出處標註於家長版中。