從 Context Window 到 Multi-Context Workflow:打造可靠 AI Agent 的記憶與狀態管理實踐
Multi-context workflow 是讓 AI agent 能跨越多個獨立 context window 工作的設計模式 — 把 memory、進度 artifacts 與驗證腳本外部化為文件,讓 agent 在每次執行時重新讀取並接續推進。 即使 Claude Sonnet 4.5 已提供 200K token 的 context window(docs.claude.com),長時間運行的 agent 仍需要這套模式:單一 session 仍會 truncate、丟失狀態,並重新探索已完成的工作。
隨著 AI Agents(Claude Agent SDK、LangChain/AutoGen、OpenAI Agents 等)在工程與開發中越來越常見,「單一對話 Context Window」的限制就常常擋路:一次 token 窗口塞不下長時間任務,跨次執行也帶不走狀態。長時間運行的 agent system 需要 multi-context workflows 與明確的 state management(狀態管理)。
1. 為什麼要 Multi-Context Workflow?
在傳統 LLM 使用方式裡:
- 模型只能在單一 context window 內工作;
- 若超出限制,系統會 either truncate tokens(截斷)或回傳錯誤;
- 無法跨多個 session 自動保留狀態與進度。
而 multi-context workflow 的核心目標是:
讓 agent 能夠跨越多個獨立 context window(例如每天工作多次、或分段完成複雜任務),並且能記住、恢復並持續推進。
Anthropic 的文件對 long-running agents 的核心難題講得很清楚:每次 session 之間都要留下夠清楚的「進度 artifacts」,下次才不用重新探索已完成的工作。(Anthropic)
這類 workflow 通常有兩個部分:
- 初始化工作(initializer agent):為多階段 workflow 建立起始架構、scripts、logs、記憶文件;
- 增量推進(incremental progress):每次執行都要 做少量改動 → 檢查驗證 → 寫出 state → 給下一次使用。(Anthropic)
2. Agent SDK(以 Claude Agent SDK 為例)的狀態與 Context 管理功能
Claude Agent SDK(原 Claude Code SDK) 是 Anthropic 官方的 Agent 工具庫,可以用來建構能:
- 讀寫文件;
- 呼叫工具(tools);
- 執行命令(run commands);
- 以迭代方式完成任務的 agent。
文件裡寫到:
Claude Agent SDK 提供與 Claude Code 相同的工具(例如讀取文件、運行 bash 等),並支援與 context 管理相關的功能,例如 memory 與 sessions。(Claude)
SDK 本身就內建了一部分 multi-window workflow 支援:
| 功能 | 說明 | |
|---|---|---|
Sessions |
對應多次執行階段的 session 生命週期 | |
Memory & Skills |
支持儲存與引用可重建的長期狀態 | |
Subagents |
支持為特定任務啟動子 agent 各自工作 | |
MCP(Model Context Protocol) |
標準化 LLM 與工具間的 context exchange(如文件、命令結果) | (Claude) |
MCP(Model Context Protocol) 是個開源協議,讓 LLM 與應用程式之間能共享狀態,包括讀取外部文件與工具輸出。(Wikipedia) 想看用這些模式實作的 OpenClaw plugin,可參考為 OpenClaw 打造提醒外掛。
3. Multi-context Window Workflow|核心設計思路
(1) 初始 Prompt 與架構設置
第一個 context window 別直接開幹,先把這些準備好:
- 初始化 scripts(如
init.sh); - 初始的進度記錄檔
progress.txt或memory.md; - 測試腳本與驗證模式。(Anthropic)
這就是常見的「給 agent 一套能持續重建狀態的腳本與記憶架構」。
(2) 保持增量進度(Incremental Progress)
每次 Session 都要往前走,不要重覆造輪子:
明確記錄每次改動 → 完整執行驗證 → 把變動與狀態寫入狀態管理文件。(Anthropic)
下次啟動時:
- 先讀取存儲在文件的狀態;
- 使用工具重建 context;
- 以增量方式推進工作。
Workflow 能持續走下去,也不會 context window 爆掉或推錯方向。
(3) 子 Agent 與 Context 切分設計
對於更複雜、多角色任務:
- 為不同子任務啟動不同 agent(sub-agents);
- 每個子 agent 各自在自己的 context window 裡工作;
- 透過共享外部 state(如共享 memory、shared files、message queues)協調進度。(Vellum AI)
Sub-agents 模式適合用在:每個 agent 各自處理特定子任務、各自的 Context Window 範圍能控制得更乾淨、並行處理與可擴展性也比較好。
4. State Management Best Practices(狀態管理最佳實踐)
在 multi-context workflows 下,狀態管理比單一 context 更吃重。整理幾個來自業界與研究的做法:
① 用結構化格式來記錄狀態(Structured State)
對於任務執行狀態、測試結果、TODO 清單這類東西,JSON、YAML 等 結構化格式 比自然語言文字好用,原因在於:
✔ 便於程式讀取與驗證 ✔ 方便版本比對(diff) ✔ 可直接供 agent 用 MCP 或 tools 解析 ✔ 減少 LLM 解析歧義
例如:
{
"tests": {
"unit": "pass",
"integration": "fail"
},
"todo": [
"正確實作 API",
"重跑集成測試"
]
}
比較認真的 agent memory 方案大多會推這種結構化狀態。(Medium)
② 用非結構化文字補充進度說明(Unstructured Notes)
結構化格式適合狀態變數,但設計決策的背景、下游風險、走到某個結論的思路,還是用自然語言(Markdown/文本)比較合適。它能幫後續的 agent 了解 why,而不只是 what。
兩種一起用。(Medium)
③ 用版本控制跟踪狀態變化(Git as State Tracking)
與其讓 model 只能靠 context 片段去回推,不如用 Git 版本控制:
✔ checkpoint(檢查點) ✔ diff(差異比較) ✔ rollback(回滾) ✔ blame(責任追蹤)
而且把狀態寫進文件,比塞一堆 token 進 prompt 划算多了。Anthropic 的 agent 文件也把版本控制列為長期 agent 工作可靠性的關鍵之一。(Anthropic)
④ 強調增量進步(Emphasize Incremental Progress)
長任務別期待 agent 一次做完,請 一律:
- 做少量改動
- 驗證
- 寫入狀態
- 準備下一個 session
incremental progress 是建立可靠 multi-window workflow 的核心心法。(Anthropic)
5. Multi-Agent 系統中的記憶工程(Memory Engineering)
最近一篇 multi-agent systems memory engineering 的技術文章講得很直白:
多 agent 系統失敗往往不是 communication(溝通) 的問題,而是 memory(記憶/狀態)管理失敗。 agents 不能可靠地共享一致的 state 會導致重複工作、版本衝突與效率低下。(MongoDB)
為此,他們提出一套開發多 agent 系統所需的五大 memory engineering 原則:
- 持久化存儲與狀態管理
- 檢索智能
- 原子一致性更新
- 衝突解析
- 成本性能優化
這些和前面講的結構化狀態、Git、增量推進是互補的。
6. 結語:未來趨勢與實際落地方向
多 context window workflows 不是調 prompt 參數就能解決的事,它需要:
✔ 結構化 state ✔ 可持續重建的 artifacts(如記憶文件、測試結果、git commit) ✔ 明確的增量 workflow ✔ 工具鏈(filesystem、shell、git、測試)與模型結合 ✔ Shared memory / coordination patterns(對 multi-agent)
這些實踐在學術論文、產業文件,以及 Claude Agent SDK、LangChain/AutoGen 等框架裡都看得到。
隨著 MCP 與 context orchestration 成熟,真正可執行、可中斷、可重啟的 agent workflow 會成為標準工程實踐——而不是靠超大 context window 的「token 分身術」。
參考資料(References)
- Claude Agent SDK Overview — Anthropic 官方 Agent SDK 文檔說明。(Claude)
- Effective context engineering for AI agents — Anthropic 關於 context management 的設計理念(context awareness)。(Anthropic)
- Medium: The Ultimate Guide to LLM Memory — 概念性 memory best practices。(Medium)
- Ultimate LLM Agent Build Guide — 多 agent workflow & context engineering 建議。(Vellum AI)
- Effective harnesses for long-running agents — 官方對跨多 context session workflows 的設計經驗。(Anthropic)
- How and when to build multi-agent systems — LangChain 關於 multi agent 工作流程與 context retrieval。(LangChain Blog)
- Memory engineering for multi-agent systems — 多 agent memory architecture 深度介紹。(MongoDB)
- Model Context Protocol (MCP) — API 交互標準,以 JSON-RPC 擴展狀態與上下文交換。(Wikipedia)
相關文章
- 撰寫 Claude.md – 如何撰寫有效的專案指令來引導 Claude 的工作流程
- Agent Skills 最佳實踐 – 使用漸進式揭露設計技能以確保可靠選擇和執行
- Claude Code 簡介 – Claude Code CLI 入門指南