[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-agent-memory-framework-analysis-zh":3,"article-related-agent-memory-framework-analysis-zh":30,"series-ai-agent-367128a2-5c5f-4d39-a51f-9cedd4d538a5":81},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":11,"views":27,"created_at":28,"published_at":29,"topic_cluster_id":11},"367128a2-5c5f-4d39-a51f-9cedd4d538a5","agent-memory-framework-analysis-zh","AI Agent 記憶怎麼設計","\u003Cp>說真的，AI a\u003Ca href=\"\u002Fnews\u002Fagent-harness-ai-engineering-2026-zh\">gent\u003C\u002Fa> 不是只會聊天就夠。\u003Ca href=\"https:\u002F\u002Fopenai.com\" target=\"_blank\" rel=\"noopener\">OpenAI\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\" target=\"_blank\" rel=\"noopener\">Anthropic\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fai.google\" target=\"_blank\" rel=\"noopener\">Google\u003C\u002Fa> 都在推 agent 工作流。問題也很\u003Ca href=\"\u002Fnews\u002Ffeishu-open-source-cli-ai-agent-office-zh\">直接\u003C\u002Fa>：模型能答一次，不代表它能記住上一次做了什麼。\u003C\u002Fp>\u003Cp>這件事很現實。LLM 可以很會講，但一旦要跨工具、跨步驟、跨時間維持狀態，記憶就變成核心能力。沒有記憶，agent 每次都像重開機。你叫它接著做，它卻像失憶一樣。\u003C\u002Fp>\u003Cp>講白了，agent memory 就是讓系統記住任務。它要記使用者偏好，也要記工具輸出，還要記中間狀態。這不是花俏功能。這是 agent 能不能真的幹活的分水嶺。\u003C\u002Fp>\u003Ch2>為什麼 agent 記憶這麼重要\u003C\u002Fh2>\u003Cp>單輪聊天和多步驟 agent，需求完全不同。前者只要回一句像樣的答案。後者要記得前面查了什麼、失敗過什麼、還剩哪些步驟沒做完。這種差異，直接改變架構設計。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775058021870-r6l5.png\" alt=\"AI Agent 記憶怎麼設計\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>如果沒有記憶，agent 每次都從零開始。它可能剛剛才讀過文件，下一輪又問一次。它可能已經抓到 API 回應，下一步卻把資料忘光。這種行為在 demo 很可愛，在正式產品就很煩。\u003C\u002Fp>\u003Cp>所以現在很多團隊都把記憶當成系統設計的一部分。不是加個聊天紀錄就算數。你要想清楚，哪些資料只活 30 秒，哪些要留 30 天，哪些甚至要永久保存。這才像真的在做產品。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>短期上下文\u003C\u002Fstrong>：目前對話與最近工具呼叫\u003C\u002Fli>\u003Cli>\u003Cstrong>工作狀態\u003C\u002Fstrong>：目標、子任務、暫存變數\u003C\u002Fli>\u003Cli>\u003Cstrong>長期記憶\u003C\u002Fstrong>：偏好、歷史決策、穩定事實\u003C\u002Fli>\u003Cli>\u003Cstrong>外部記憶\u003C\u002Fstrong>：資料庫、向量庫、檔案、log\u003C\u002Fli>\u003C\u002Ful>\u003Cp>這四層很重要，因為它們用途不同。你不會把所有東西都塞進 prompt。那樣 Token 很快爆掉。你也不會把所有東西都丟進向量庫。那樣你很難保證精準狀態。\u003C\u002Fp>\u003Cp>我覺得，真正成熟的 agent，第一個能力不是會推理。是會管理記憶。它知道什麼該留，什麼該丟，什麼該查。這比單純把模型換大，還更接近實戰。\u003C\u002Fp>\u003Ch2>記憶層怎麼分工\u003C\u002Fh2>\u003Cp>大多數 agent 架構都會拆成多層記憶。原因很簡單。沒有一種儲存方式可以同時處理即時上下文、精準狀態、語意回憶，還有跨 session 持久化。想一次全包，通常只會做得很痛苦。\u003C\u002Fp>\u003Cp>短期上下文最直接。它就是 prompt window，速度快，實作也簡單。缺點也很明顯，Token 有上限。你如果一直塞工具輸出，最後不是成本爆，就是模型開始漏看重點。\u003C\u002Fp>\u003Cp>長期記憶則比較像資料層。它可以存使用者偏好、任務結果、歷史紀錄。這類資訊通常要結構化，不然之後很難查，也很難除錯。說白了，能查才有救。\u003C\u002Fp>\u003Cblockquote>“The future of AI does not belong to those who build the biggest models, but to those who learn how to make them useful.” — Fei-Fei Li\u003C\u002Fblockquote>\u003Cp>這句話很貼切。模型再大，忘東忘西還是沒用。真正有價值的是它能把事情做完。記憶就是把「會講」變成「會做」的那條線。\u003C\u002Fp>\u003Cp>另一個常見做法是把記憶按時間切。秒級記憶放在上下文。分鐘級記憶放在工作狀態。天級或月級記憶放到資料庫。這種分層很土，但很實用。工程上常常就是土法最穩。\u003C\u002Fp>\u003Ch2>現在主流框架怎麼做\u003C\u002Fh2>\u003Cp>現在很多框架都開始把記憶做成一等公民。\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain\" target=\"_blank\" rel=\"noopener\">LangChain\u003C\u002Fa> 有記憶相關抽象，\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fautogen\" target=\"_blank\" rel=\"noopener\">Microsoft AutoGen\u003C\u002Fa> 走多 agent 協作，\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frun-llama\u002Fllama_index\" target=\"_blank\" rel=\"noopener\">LlamaIndex\u003C\u002Fa> 則偏向外部知識檢索。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775058050790-67o5.png\" alt=\"AI Agent 記憶怎麼設計\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>它們都在解同一題，但解法不同。有的保留聊天紀錄後再摘要。有的把狀態寫進結構化儲存。有的只在需要時才抓回舊資料。差別在於，你要的是連貫感，還是可追蹤性，或是低延遲。\u003C\u002Fp>\u003Cp>實務上，框架常見的不是單一記憶，而是混搭。這很正常。因為 agent 的任務本來就混雜。它既要即時反應，也要記住長期偏好，還要能回頭查歷史事件。單一方法很難全扛。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>Prompt memory\u003C\u002Fstrong>：快，但受 context window 限制\u003C\u002Fli>\u003Cli>\u003Cstrong>Summary memory\u003C\u002Fstrong>：省 Token，但容易丟細節\u003C\u002Fli>\u003Cli>\u003Cstrong>Vector memory\u003C\u002Fstrong>：適合語意回憶，但不保證順序\u003C\u002Fli>\u003Cli>\u003Cstrong>Structured memory\u003C\u002Fstrong>：精準可查，但要先設 schema\u003C\u002Fli>\u003C\u002Ful>\u003Cp>這裡的取捨很像選資料庫。你要查詢快，還是要寫入簡單。你要可追溯，還是要語意相似。沒有免費午餐。每種方案都在不同地方付錢。\u003C\u002Fp>\u003Cp>還有一個現實問題是延遲。每多一次檢索，就多一段等待。每多一層儲存，就多一點維護成本。產品團隊最常犯的錯，就是把記憶想得太浪漫，最後把伺服器搞得很累。\u003C\u002Fp>\u003Ch2>用數字看記憶取捨\u003C\u002Fh2>\u003Cp>先看模型本身的限制。\u003Ca href=\"https:\u002F\u002Fplatform.openai.com\u002Fdocs\u002Fmodels\" target=\"_blank\" rel=\"noopener\">GPT-4.1\u003C\u002Fa> 文件提到，部分版本支援 100 萬 token c\u003Ca href=\"\u002Fnews\u002Fcontext-is-the-new-os-zettlab-agent-computer-zh\">onte\u003C\u002Fa>xt window。這數字很大，但你一旦把工具輸出、文件、歷史對話都放進去，空間還是會被吃掉。\u003C\u002Fp>\u003Cp>再看 \u003Ca href=\"https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fbuild-with-claude\u002Fcontext-windows\" target=\"_blank\" rel=\"noopener\">Claude\u003C\u002Fa>。它也有很大的 context window。可是一個 session 結束後，狀態還是會消失。你如果沒把資料寫到外部記憶，下一次進來還是得重來。\u003C\u002Fp>\u003Cp>這就是外部記憶的價值。資料庫可以永久保存。向量庫可以做相似檢索。log 可以保留完整操作序列。這三種東西看起來老派，但在 agent 系統裡很管用。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Cstrong>Context window\u003C\u002Fstrong>：適合即時推理，但受 Token 上限約束\u003C\u002Fli>\u003Cli>\u003Cstrong>Summary store\u003C\u002Fstrong>：跨 session 省空間，但會壓縮細節\u003C\u002Fli>\u003Cli>\u003Cstrong>Vector database\u003C\u002Fstrong>：適合模糊回憶，依賴 embedding 品質\u003C\u002Fli>\u003Cli>\u003Cstrong>SQL 或文件庫\u003C\u002Fstrong>：適合精準狀態與稽核\u003C\u002Fli>\u003C\u002Ful>\u003Cp>如果你做客服 agent，這個差異更明顯。最近幾輪對話放 prompt。帳號資訊放資料庫。相似案件放向量庫。這樣做不華麗，但很好 debug。工程團隊最愛這種東西，因為出事時知道去哪裡查。\u003C\u002Fp>\u003Cp>我也會直接講結論。記憶設計不是看誰最會塞資料。是看誰能把資料分層，還能證明自己記對了。這才是可上線的系統，不是只會 demo 的玩具。\u003C\u002Fp>\u003Ch2>產業脈絡與實作現實\u003C\u002Fh2>\u003Cp>agent memory 之所以最近很熱，是因為大家都卡到同一個瓶頸。模型會說話，但流程不會自己延續。你要它做訂票、查資料、寫報告、跑工作流，它就得記住前一步做了什麼。\u003C\u002Fp>\u003Cp>這也解釋了為什麼很多團隊開始重視 state machine、資料表、事件 log。說穿了，很多 agent 問題根本不是 NLP 問題，而是軟體工程問題。你要的是可靠性，不是漂亮句子。\u003C\u002Fp>\u003Cp>台灣開發者如果要做這類系統，我會建議先從最簡單的做法開始。先把工作狀態寫進明確的欄位。再決定哪些欄位需要檢索。最後才考慮摘要或語意記憶。順序反過來，很容易把系統做得很玄，卻不好維護。\u003C\u002Fp>\u003Ch2>接下來該怎麼做\u003C\u002Fh2>\u003Cp>如果你現在在做 agent，我的建議很直接。先定義三件事：哪些資料要短期保存，哪些要長期保存，哪些根本不該記。這比一開始就追求更大的 context window 實際多了。\u003C\u002Fp>\u003Cp>下一步，再決定每一層記憶要放哪裡。prompt、資料庫、向量庫、log，各有用途。不要把所有東西都交給 LLM。那樣成本高，還很難查錯。講白了，記憶越清楚，agent 越像產品。\u003C\u002Fp>\u003Cp>我自己的判斷是，接下來 12 個月，做得好的 agent 框架會更像資料系統，而不是純聊天框架。你如果現在就把記憶層拆好，之後換模型、換供應商、換工具，會輕鬆很多。你可能會想問：那第一步是什麼？答案很簡單，先把 state 寫清楚。\u003C\u002Fp>","AI agent 要能跨任務保持狀態，記憶設計就很重要。本文拆解短期、長期與外部記憶，並比較框架、資料庫與向量檢索的取捨。","zhuanlan.zhihu.com","https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F2004958359774839763",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775058021870-r6l5.png","ai-agent","zh","01299403-0ffd-4a04-abbb-5b4d792fd01c",[17,18,19,20,21,22,23,24,25,26],"AI agent","agent memory","LLM","context window","vector database","LangChain","AutoGen","LlamaIndex","資料庫","向量庫",6,"2026-04-01T10:21:33.242276+00:00","2026-04-01T10:21:33.164+00:00",{"tags":31,"relatedLang":40,"relatedPosts":44},[32,34,36,38,39],{"name":22,"slug":33},"langchain",{"name":23,"slug":35},"autogen",{"name":19,"slug":37},"llm",{"name":17,"slug":13},{"name":25,"slug":25},{"id":15,"slug":41,"title":42,"language":43},"agent-memory-framework-analysis-en","Agent Memory: How AI Agents Keep State","en",[45,51,57,63,69,75],{"id":46,"slug":47,"title":48,"cover_image":49,"image_url":49,"created_at":50,"category":13},"cde225a8-eb8e-4724-a089-77f36af0e8a6","mcps-new-primitives-make-agent-middleware-obsolete-zh","MCP 的新原語，正在淘汰自製 agent middleware","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782748974384-f5w9.png","2026-06-29T16:02:24.789168+00:00",{"id":52,"slug":53,"title":54,"cover_image":55,"image_url":55,"created_at":56,"category":13},"6e37d84c-aa27-4d4d-bbf1-81c47dc4522d","mcp-servers-ai-workflows-explained-zh","MCP Server 讓 AI 工具接上工作流","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782747180723-q3gs.png","2026-06-29T15:32:33.536175+00:00",{"id":58,"slug":59,"title":60,"cover_image":61,"image_url":61,"created_at":62,"category":13},"a5333ae2-bfd1-434a-92dd-575e824538c3","openmontage-open-source-ai-video-production-zh","OpenMontage 證明 AI 影片製作該由開源接管","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782685072512-v02f.png","2026-06-28T22:17:22.846394+00:00",{"id":64,"slug":65,"title":66,"cover_image":67,"image_url":67,"created_at":68,"category":13},"caea04da-9e30-4eb8-bb08-2ac3afc4f09e","gemini-35-flash-computer-use-safeguards-zh","Gemini 3.5 Flash 讓你寫電腦操作腳本","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782681504454-c1ly.png","2026-06-28T21:17:56.883563+00:00",{"id":70,"slug":71,"title":72,"cover_image":73,"image_url":73,"created_at":74,"category":13},"362a448e-b40e-437c-9529-94b0fd6a7689","design-md-bridge-taste-to-ui-scaffolds-zh","DESIGN.md 是把品味變成 UI 骨架的缺失橋樑","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782586072806-w93e.png","2026-06-27T18:47:23.886521+00:00",{"id":76,"slug":77,"title":78,"cover_image":79,"image_url":79,"created_at":80,"category":13},"4a77707d-c370-4584-bf40-e71c0414720e","openclaw-agent-control-layer-matters-zh","OpenClaw 證明：代理系統的勝負在控制層，不在模型","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782561770712-4ch7.png","2026-06-27T12:02:20.114404+00:00",[82,87,92,97,102,107,112,117,122,127],{"id":83,"slug":84,"title":85,"created_at":86},"4ae1e197-1d3d-4233-8733-eafe9cb6438b","claude-now-uses-your-pc-to-finish-tasks-zh","Claude 開始幫你操作電腦","2026-03-26T07:20:48.457387+00:00",{"id":88,"slug":89,"title":90,"created_at":91},"5bede67f-e21c-413d-9ab8-54a3c3d26227","googles-2026-ai-agent-report-decoded-zh","Google 2026 AI Agent 報告解讀","2026-03-26T11:15:22.651956+00:00",{"id":93,"slug":94,"title":95,"created_at":96},"2987d097-563f-46c7-b76f-b558d8ef7c2b","kimi-k25-review-stronger-still-not-legend-zh","Kimi K2.5 評測：更強，但還不是神作","2026-03-27T07:15:55.277513+00:00",{"id":98,"slug":99,"title":100,"created_at":101},"95c9053b-e3f4-4cb5-aace-5c54f4c9e044","claude-code-controls-mac-desktop-zh","Claude Code 也能操控 Mac 了","2026-03-28T03:01:58.58121+00:00",{"id":103,"slug":104,"title":105,"created_at":106},"dc58e153-e3a8-4c06-9b96-1aa64eabbf5f","cloudflare-100x-faster-ai-agent-sandbox-zh","Cloudflare 的 AI 沙箱跑超快","2026-03-28T03:09:44.142236+00:00",{"id":108,"slug":109,"title":110,"created_at":111},"1c8afc56-253f-47a2-979f-1065ff072f2a","openai-backs-isara-agent-swarm-bet-zh","OpenAI 挺 Isara 的 agent swarm …","2026-03-28T03:15:27.513155+00:00",{"id":113,"slug":114,"title":115,"created_at":116},"7379b422-576e-45df-ad5a-d57a0d9dd467","openai-plan-automated-ai-researcher-zh","OpenAI 想做自動化 AI 研究員","2026-03-28T03:17:42.090548+00:00",{"id":118,"slug":119,"title":120,"created_at":121},"48c9889e-86df-450b-a356-e4a4b7c83c5b","harness-engineering-ai-agent-reliability-2026-zh","駕馭工程：從「馬具」到「作業系統」，AI Agent 可靠性的終極密碼","2026-03-31T06:42:53.556721+00:00",{"id":123,"slug":124,"title":125,"created_at":126},"96d8e8c8-1edd-475d-9145-b1e7a1b02b65","mcp-explained-from-prompts-to-production-zh","MCP 怎麼把提示詞變工作流","2026-04-01T09:24:39.321274+00:00",{"id":128,"slug":129,"title":130,"created_at":131},"f2ca7720-b471-4ce5-9336-2a9ac2a876fd","amazon-bedrock-agents-multi-agent-workflows-zh","Amazon Bedrock Agents 進入多代理工作流","2026-04-01T09:30:29.945429+00:00"]