跳转至

從 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 SDKLangChain/AutoGenOpenAI 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 通常有兩個部分:

  1. 初始化工作(initializer agent):為多階段 workflow 建立起始架構、scripts、logs、記憶文件;
  2. 增量推進(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.txtmemory.md
  • 測試腳本與驗證模式。(Anthropic)

這就是常見的「給 agent 一套能持續重建狀態的腳本與記憶架構」。


(2) 保持增量進度(Incremental Progress)

每次 Session 都要往前走,不要重覆造輪子:

明確記錄每次改動 → 完整執行驗證 → 把變動與狀態寫入狀態管理文件。(Anthropic)

下次啟動時:

  1. 先讀取存儲在文件的狀態;
  2. 使用工具重建 context;
  3. 以增量方式推進工作。

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 一次做完,請 一律

  1. 做少量改動
  2. 驗證
  3. 寫入狀態
  4. 準備下一個 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 原則:

  1. 持久化存儲與狀態管理
  2. 檢索智能
  3. 原子一致性更新
  4. 衝突解析
  5. 成本性能優化

這些和前面講的結構化狀態、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)

  1. Claude Agent SDK Overview — Anthropic 官方 Agent SDK 文檔說明。(Claude)
  2. Effective context engineering for AI agents — Anthropic 關於 context management 的設計理念(context awareness)。(Anthropic)
  3. Medium: The Ultimate Guide to LLM Memory — 概念性 memory best practices。(Medium)
  4. Ultimate LLM Agent Build Guide — 多 agent workflow & context engineering 建議。(Vellum AI)
  5. Effective harnesses for long-running agents — 官方對跨多 context session workflows 的設計經驗。(Anthropic)
  6. How and when to build multi-agent systems — LangChain 關於 multi agent 工作流程與 context retrieval。(LangChain Blog)
  7. Memory engineering for multi-agent systems — 多 agent memory architecture 深度介紹。(MongoDB)
  8. Model Context Protocol (MCP) — API 交互標準,以 JSON-RPC 擴展狀態與上下文交換。(Wikipedia)


相關文章