跳到主要內容

AI 103 · 模組 6

Context Optimization 情境優化

把正確資訊在正確時間交給 Agent

開始第一節
已完成 0 / 6
同步我的進度加入梯次後,進度可跨裝置保存,講師也能看到

資訊

加入後,你已完成的模組編號會連同「學員代碼」傳送給講師,講師可以看到你的進度。請使用講師提供的代碼,不要輸入姓名、公司機密或其他個資。進度資料與該梯次的其他資料一起保存。

學習目標

  • 說明 Agent 有了 Memory、Knowledge 與 Skills 之後,仍需要 Context Engineering 的原因
  • 依 Select、Rank、Compress、Assemble Context、Execute、Update Memory 的流程,最佳化一次任務的上下文
  • 辨識六種上下文失敗模式,並說明對應的處理方式
  • 在 Context Optimization Challenge 中,把資訊分類為 Remove、Keep、Retrieve Later、Summarize 或 Store as Memory

問題與最佳化流程

10 分鐘

有了 Memory、Knowledge、Skills,為什麼還需要 Context Engineering?

到目前為止,Agent 可以記住偏好(Memory)、檢索知識(Knowledge),也會依照做法行動(Skills)。但這些資源加起來,可能遠遠超過一次任務能容納的量。

核心問題

Agent 有 Memory、Knowledge 與 Skills 之後,為什麼還需要 Context Engineering?

每一次執行,模型能處理的上下文有限,這個有限的空間稱為 Context Budget。資訊越多不代表越好:無關內容會稀釋重點,過期內容會誤導,互相矛盾的內容會讓結果不穩定。

  • Context Selection:這次任務該用哪些資訊?
  • Context Prioritization:哪些最重要,該放在最顯眼的位置?
  • Context Compression:哪些可以縮短而不失重點?
  • Context Quality:放進去的資訊是否相關、可信、最新、安全?

資訊

Context Engineering 的工作,是把正確的資訊,在正確的時間,以正確的份量交給 Agent,而不是把所有資源一次倒進去。

重點: 資源再多,一次任務能用的上下文仍有限,需要有意識地選擇與安排。

10 分鐘

Context Optimization Pipeline

最佳化不是一次性的動作,而是每次任務都會走過的流程。

Context Optimization Pipeline
  1. Available Information:盤點手邊所有可用的資訊
  2. Select:挑出這次任務真正需要的
  3. Rank:依重要性與可信度排序
  4. Compress:把冗長內容縮短成摘要,保留關鍵
  5. Assemble Context:組合成這次要交給 Agent 的上下文
  6. Execute:Agent 執行任務
  7. Update Memory:把值得長期保留的結果或偏好,經確認後寫入 Memory
各步驟要問的問題
步驟要問的問題
Select少了它,任務會做不好嗎?
Rank衝突時以誰為準?哪些最重要?
Compress縮短之後,關鍵事實、數字與限制條件還在嗎?
Assemble Context順序、標示與來源是否清楚?
Execute結果是否需要人審核後才能使用?
Update Memory這值得記住嗎?內容正確嗎?是否含有不該保存的資訊?

注意

寫入 Memory 前要先確認:內容正確、未來仍有價值,且不含密碼、機密或不必要的個人資料。Memory 的內容也可能過時或出錯,仍需人定期檢視。

重點: 每次任務都走過:盤點、挑選、排序、壓縮、組合、執行、更新記憶。

壓縮與失敗模式

10 分鐘

Compression、Summarization、Compaction 與 Refresh

當資訊必要但太長時,可以壓縮。不同的壓縮做法,處理的是不同的問題。

常見的上下文整理做法
做法說明風險
Summarization把長內容濃縮成重點摘要摘要可能遺漏例外、數字或限制條件
Context Compaction長時間對話中,把舊的往來整理成精簡的狀態紀錄,騰出空間被壓掉的細節之後可能還會需要
Context Refresh重新檢索或載入最新版本的資訊,取代舊內容若來源本身過期,刷新也無濟於事

摘要保留的是「你現在需要的」,但它是一次有損的轉換。高風險內容(金額、日期、法律條款、安全規定)不宜只留摘要,應保留可回溯的原文來源,並讓人能核對。

注意

壓縮之後的內容是新的上下文,也需要用相關性、權威性、時效性與敏感性檢視,並由人核對高影響資訊。
自我檢測

一份契約有 30 頁,Agent 只需要它的付款期限與違約金條款。最合適的處理是什麼?

一份契約有 30 頁,Agent 只需要它的付款期限與違約金條款。最合適的處理是什麼?

重點: 壓縮要保留關鍵事實,並留下可回溯的來源;高風險內容由人核對原文。

10 分鐘

六種上下文失敗模式

上下文設計不良時,Agent 的失敗通常屬於下列六種之一。學會辨認,才知道要從哪裡修正。

六種失敗模式
失敗模式發生了什麼常見處理
Too Much Context資訊過多,重點被稀釋,超出 Context Budget重新選擇與排序,改為需要時檢索
Too Little Context缺少必要資訊,Agent 只能猜測補上必要背景,或明確要求 Agent 說出缺少什麼
Wrong Context放入的資訊與任務無關或對象錯誤檢查 Select 步驟,用相關性重新篩選
Stale Context資訊已過期,例如舊版本或舊價格標示日期與版本,做 Context Refresh
Conflicting Context兩份資訊互相矛盾事先定義 Source Authority,仍有疑義由人確認
Untrusted Context來源不明或未經授權的內容被當成依據限制為可信來源,高影響結論由人核對

資訊

這六種失敗常常同時出現。診斷時先問:是資訊太多、太少、不對、過期、矛盾,還是不可信?
自我檢測

Agent 引用了已作廢的 2022 年報價單,而知識庫裡其實有 2025 年的新版。這屬於哪一種失敗模式?

Agent 引用了已作廢的 2022 年報價單,而知識庫裡其實有 2025 年的新版。這屬於哪一種失敗模式?

重點: 先辨認是六種失敗模式中的哪一種,再決定該從哪個步驟修正。

最佳化挑戰

5 分鐘

Context Optimization Challenge

挑戰情境:一位 Agent 要協助準備一份季度採購報告(模擬情境),但手邊的上下文已經塞滿了各式各樣的資訊。你要把每一項分到五個類別之一。

五個分類
分類意思例子(模擬)
Remove與這次任務無關,或不該提供,直接移除上一個不相關專案的討論、登入密碼
Keep這次任務必要,保留在上下文中本次報告的需求說明與截止日
Retrieve Later可能需要,但量大或常更新,需要時再檢索完整的採購政策庫、即時價格
Summarize有價值但太長,先縮成摘要再放入三個月的會議逐字稿
Store as Memory未來仍有價值,經確認後保存主管慣用的報告格式
  1. 閱讀情境
    看過這個被塞滿的上下文清單,先不要急著分類。
  2. 逐項分類
    每一項選一個分類,並用一句話寫下理由。
  3. 檢查敏感性
    確認密碼、個資與未授權資訊被移除,沒有被保存進 Memory。練習時請只使用模擬資料。
  4. 比較與討論
    與同學比較結果,同一項資訊可能有不同分類,重點是理由站得住腳。
自我檢測

「三個月的會議逐字稿」對這次報告有價值,但篇幅很長。最合適的分類是什麼?

「三個月的會議逐字稿」對這次報告有價值,但篇幅很長。最合適的分類是什麼?

重點: 每一項資訊都要有分類與理由:Remove、Keep、Retrieve Later、Summarize 或 Store as Memory。

重點回顧與下一步

5 分鐘

重點回顧與下一步

完成

Context Optimization 是把正確資訊,在正確時間,以正確份量交給 Agent:選擇、排序、壓縮、組合,再依結果更新 Memory,並由人審核與負責。
最佳化流程回顧
  1. Available Information
  2. Select
  3. Rank
  4. Compress
  5. Assemble Context
  6. Execute
  7. Update Memory

從 Memory、RAG、Chunking、Knowledge 與 Skills,到 Context Optimization,你已經走完 Agent 記憶、知識與技能設計的核心概念。下一步是把它們整合在一張 Agent Memory, Knowledge & Skills Canvas 中:人定義任務,AI 協助執行,人審核並負責結果。

重點: 最佳化的目的不是塞更多資訊,而是讓 Agent 在對的時間得到對的資訊,並由人負責。

接下來做什麼?