一、從 Prompt Engineering 到 Context Engineering
在過去幾年,AI 開發者最常提到的詞是「Prompt Engineering」——如何用最合適的指令讓模型表現出想要的結果。
但如今,我們面臨一個更大的問題:當 AI 不再只是回答問題,而是要長時間自主運作時,我們該如何為它安排思考的空間?
這正是 Context Engineering(上下文工程) 登場的時刻。
二、什麼是「上下文工程」?
在大語言模型(LLM)中,「上下文」指的是模型在推理過程中可見的所有資訊:
系統指令、對話歷史、工具調用、外部資料……
而上下文工程,就是如何在有限的上下文視窗裡,放入最有價值的資訊,讓模型在關鍵時刻能「想得對」。
它不再只是「寫提示詞」那麼簡單,而是一種資料管理與注意力設計的工程學。
對開發者而言,這意味著每一個 token(文字單位)都必須物盡其用。
三、為什麼上下文工程如此重要?
LLM 和人一樣有「注意力預算」。
當上下文越來越長,模型的專注力會分散,準確性下降。這種現象被稱為 context rot(上下文腐蝕)。
Transformer 架構讓每個 token 都能關注其他所有 token,這意味著上下文越大,注意力連結呈平方級增加,模型的「理解焦點」反而被稀釋。
因此,上下文是有限資源。
就像人類需要選擇性注意,AI 也需要被設計成「有選擇地思考」。
四、打造有效上下文的原則
要讓模型保持「專注」,Anthropic 提出幾個關鍵策略:
- 清晰的 System Prompt
- 用簡單直接的語言表達預期行為。
- 不要寫死複雜邏輯,也不要空泛指導。
- 「剛剛好」的指令,是能給出方向又保留靈活度的那種。
- 精簡高效的工具(Tools)
- 每個工具功能明確、命名清楚。
- 避免重疊或含糊的工具設計。
- 工具應該幫助模型高效獲取資訊,而不是拖慢它的思考節奏。
- 典型的 Few-shot 示例
- 不需要列出所有邊界情況。
- 只要挑出能代表任務核心的「經典案例」,就能給模型最強的行為暗示。
總原則是:讓上下文「資訊密度高但體積小」。
五、動態上下文與「即時檢索」
傳統的上下文是靜態的:在推理前一次性餵給模型所有資訊。
但更先進的策略是 Just-in-time retrieval(即時上下文)。
這種方式讓 AI 代理像人一樣——只在需要時才去查找資料。
Claude Code 就採用了這種設計:
它不一次讀完整個資料庫,而是用工具在運行時動態載入片段、查詢結果、檔案摘要等。
這種「按需思考」讓模型保持輕盈,同時具備探索能力。
六、長期任務中的三大技巧
當任務需要持續數小時、跨越多輪推理時,Claude 採用三種策略來維持連貫性:
- Compaction(壓縮)
將長對話或程式歷史壓縮成摘要,只保留關鍵資訊。
像人做筆記一樣,濃縮出「精華上下文」。 - Structured Note-taking(結構化筆記)
模型會定期把進度寫進外部筆記檔,如 NOTES.md。
這讓它能在多階段任務中保有記憶,即使上下文被重置,也能從筆記中「回想起來」。 - 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