讓 AI 更聰明的「上下文工程」

讓 AI 更聰明的「上下文工程」

一、從 Prompt Engineering 到 Context Engineering

在過去幾年,AI 開發者最常提到的詞是「Prompt Engineering」——如何用最合適的指令讓模型表現出想要的結果。
但如今,我們面臨一個更大的問題:當 AI 不再只是回答問題,而是要長時間自主運作時,我們該如何為它安排思考的空間?
這正是 Context Engineering(上下文工程) 登場的時刻。

二、什麼是「上下文工程」?

在大語言模型(LLM)中,「上下文」指的是模型在推理過程中可見的所有資訊:
系統指令、對話歷史、工具調用、外部資料……
而上下文工程,就是如何在有限的上下文視窗裡,放入最有價值的資訊,讓模型在關鍵時刻能「想得對」。

它不再只是「寫提示詞」那麼簡單,而是一種資料管理與注意力設計的工程學
對開發者而言,這意味著每一個 token(文字單位)都必須物盡其用。

三、為什麼上下文工程如此重要?

LLM 和人一樣有「注意力預算」。
當上下文越來越長,模型的專注力會分散,準確性下降。這種現象被稱為 context rot(上下文腐蝕)
Transformer 架構讓每個 token 都能關注其他所有 token,這意味著上下文越大,注意力連結呈平方級增加,模型的「理解焦點」反而被稀釋。

因此,上下文是有限資源
就像人類需要選擇性注意,AI 也需要被設計成「有選擇地思考」。

四、打造有效上下文的原則

要讓模型保持「專注」,Anthropic 提出幾個關鍵策略:

  1. 清晰的 System Prompt
    • 用簡單直接的語言表達預期行為。
    • 不要寫死複雜邏輯,也不要空泛指導。
    • 「剛剛好」的指令,是能給出方向又保留靈活度的那種。
  2. 精簡高效的工具(Tools)
    • 每個工具功能明確、命名清楚。
    • 避免重疊或含糊的工具設計。
    • 工具應該幫助模型高效獲取資訊,而不是拖慢它的思考節奏。
  3. 典型的 Few-shot 示例
    • 不需要列出所有邊界情況。
    • 只要挑出能代表任務核心的「經典案例」,就能給模型最強的行為暗示。

總原則是:讓上下文「資訊密度高但體積小」

五、動態上下文與「即時檢索」

傳統的上下文是靜態的:在推理前一次性餵給模型所有資訊。
但更先進的策略是 Just-in-time retrieval(即時上下文)

這種方式讓 AI 代理像人一樣——只在需要時才去查找資料。
Claude Code 就採用了這種設計:
它不一次讀完整個資料庫,而是用工具在運行時動態載入片段、查詢結果、檔案摘要等。
這種「按需思考」讓模型保持輕盈,同時具備探索能力。

六、長期任務中的三大技巧

當任務需要持續數小時、跨越多輪推理時,Claude 採用三種策略來維持連貫性:

  1. Compaction(壓縮)
    將長對話或程式歷史壓縮成摘要,只保留關鍵資訊。
    像人做筆記一樣,濃縮出「精華上下文」。
  2. Structured Note-taking(結構化筆記)
    模型會定期把進度寫進外部筆記檔,如 NOTES.md。
    這讓它能在多階段任務中保有記憶,即使上下文被重置,也能從筆記中「回想起來」。
  3. Sub-agent Architecture(子代理架構)
    一個主代理負責規劃,多個子代理各自處理專項任務,再把結果壓縮回主代理。
    這種分層方式既減少記憶負擔,又能提升任務精度。

七、結語:上下文是稀缺資源

Context Engineering 是一場從「指令」到「認知設計」的轉變。
未來,隨著模型變得越來越聰明,人類將不再需要手把手地規定行為,
對上下文的精細管理,仍然是讓 AI 穩定且可控的核心。

“Do the simplest thing that works.”
—— Anthropic Applied AI Team

原文:https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents

油管:https://youtu.be/Arj6eVmT-Ro