[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-why-microsoft-agent-framework-durable-workflows-matter-zh":3,"tags-why-microsoft-agent-framework-durable-workflows-matter-zh":34,"related-lang-why-microsoft-agent-framework-durable-workflows-matter-zh":43,"related-posts-why-microsoft-agent-framework-durable-workflows-matter-zh":47,"series-tools-369fb0ae-2c27-42d0-9ccc-52bfc452388c":84},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":18,"translated_content":10,"views":19,"is_premium":20,"created_at":21,"updated_at":21,"cover_image":11,"published_at":22,"rewrite_status":23,"rewrite_error":10,"rewritten_from_id":24,"slug":25,"category":26,"related_article_id":27,"status":28,"google_indexed_at":29,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":30,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":20},"369fb0ae-2c27-42d0-9ccc-52bfc452388c","為什麼 Microsoft Agent Framework 的耐久工作流很重要","\u003Cp data-speakable=\"summary\">\u003Ca href=\"\u002Ftag\u002Fmicrosoft\">Microsoft\u003C\u002Fa> \u003Ca href=\"\u002Ftag\u002Fagent\">Agent\u003C\u002Fa> Framework 的耐久工作流，能把脆弱的 \u003Ca href=\"\u002Fnews\u002Fai-agent-clis-new-supply-chain-attack-surface-zh\">agen\u003C\u002Fa>t 串接變成可恢復、可觀測的狀態式系統。\u003C\u002Fp>\u003Cp>Microsoft Agent Framework 的新工作流模型是對的方向，因為它把容易失敗的 p\u003Ca href=\"\u002Fnews\u002Fprompt-engineering-jobs-2026-worth-it-zh\">romp\u003C\u002Fa>t 串接，變成能承受重啟、等待與中斷的狀態式軟體。官方 .NET 文章已經把重點講得很清楚：同一份 workflow 定義可以先在記憶體中跑，之後再切到具備 checkpoint、分散式執行與 dashboard 的耐久 runtime，而且不必重寫 executor。這不是小幅改善，而是把「demo」和「能上線」分開的關鍵差異。\u003C\u002Fp>\u003Ch2>第一個論點：耐久性不是加分項，而是 agent 系統的基本盤\u003C\u002Fh2>\u003Cp>這次更新最重要的不是 graph 語法，也不是 executor 抽象，而是框架承認失敗是常態。在 in-process runner 裡，workflow 只存在記憶體中，程序一當機或重啟，狀態就消失；耐久 runtime 則在每個步驟後自動 checkpoint，讓流程可以接著跑，而不是從頭再來。對多步驟 agent 系統來說，這不是便利功能，是最低要求。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778552442654-07g0.png\" alt=\"為什麼 Microsoft Agent Framework 的耐久工作流很重要\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>文章中的訂單取消案例很能說明問題：先查訂單，再取消，再寄信，三個步驟各自由 executor 負責。當這條流程被放進 Durable Task Scheduler 後，每一步都會變成可追蹤的 durable activity，dashboard 也能看到執行時間線、輸入與輸出。當客服問「退款步驟有沒有跑」或 PM 問「為什麼審批卡住」，這種可觀測性就是答案。沒有它，agent 系統只是在黑盒子裡賭運氣。\u003C\u002Fp>\u003Ch2>第二個論點：圖狀工作流比零散的 agent 呼叫更接近可維護軟體\u003C\u002Fh2>\u003Cp>MAF 的 workflow builder 不是把 agent orchestration 做得更花俏，而是做得更像工程。typed executors、directed edges、編譯期合約檢查，再加上 sequential chain、parallel fan-out\u002Ffan-in、branching 與 human approval，這些都在逼團隊把資料流講清楚。研究顯示，\u003Ca href=\"\u002Ftag\u002Fgoogle\">Google\u003C\u002Fa> 的 DORA 指標長期都在強調可預測性與變更風險控制，而圖狀結構正是把風險顯性化的手段。\u003C\u002Fp>\u003Cp>fan-out\u002Ffan-in 的例子尤其有說服力。文章展示 MAF 直接把 \u003Ca href=\"\u002Ftag\u002Fai-agents\">AI agents\u003C\u002Fa> 當 executor，用 AsAIAgent extension 讓同一份輸入平行送給多個 agent，再等全部完成後往下走。這不是玩具抽象，而是實際架構原語：一個 agent 負責研究，一個負責批判，一個負責摘要，工作流圖就能精確表達。相較之下，手寫 orchestration script 往往只剩下一串 retry、if\u002Felse 與 prompt glue，出事時連責任邊界都看不見。\u003C\u002Fp>\u003Ch2>反方可能怎麼說\u003C\u002Fh2>\u003Cp>最強的反對意見是：這又是一層框架。市場上已經有 orchestration system、durable runtime、agent SDK，團隊為什麼還要再學一套 MAF？更現實一點說，workflow abstra\u003Ca href=\"\u002Fnews\u002Fgithub-agentic-workflows-ai-github-actions-zh\">ctio\u003C\u002Fa>n 常常把複雜度往後藏，開發時看起來整齊，到了 production 才發現跨步驟除錯很痛，尤其是涉及模型呼叫、重試與人工作業時。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778552443500-96pn.png\" alt=\"為什麼 Microsoft Agent Framework 的耐久工作流很重要\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>這個疑慮不是錯的，但只在框架沒有帶來槓桿時成立。MAF 的價值正是把同一份 workflow 定義從 in-memory 直接搬到 Durable Task，hosting 只換一層，executor 邏輯不必重寫。這代表它不是再包一層脆弱抽象，而是在 local 開發與 production durability 之間提供可移植性。限制也很明確：如果你只是做單次、無狀態的模型呼叫，這套東西確實太重；但只要是多步驟、需要 checkpoint、需要人工審核的 agent 流程，耐久工作流就是必要條件，而不是附加選項。\u003C\u002Fp>\u003Ch2>你能做什麼\u003C\u002Fh2>\u003Cp>如果你是工程師、PM 或創辦人，現在就該停止把 agent orchestration 當成 \u003Ca href=\"\u002Ftag\u002Fprompt-engineering\">prompt engineering\u003C\u002Fa> 的延伸。把每個有業務意義的步驟拆成 executor，讓 graph 保持 typed 與顯式，先用 in-memory runner 做本地迭代，等流程一旦牽涉到使用者、金流、審批或 SLA，就切到耐久 runtime。先求可恢復、可觀測，再談更聰明的 agent；這才是把 AI 系統做成產品的正確順序。\u003C\u002Fp>","Microsoft Agent Framework 的耐久工作流，能把脆弱的 agent 串接變成可恢復、可觀測的狀態式系統。","devblogs.microsoft.com","https:\u002F\u002Fdevblogs.microsoft.com\u002Fdotnet\u002Fdurable-workflows-in-microsoft-agent-framework\u002F",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778552442654-07g0.png",[13,14,15,16,17],"Microsoft Agent Framework","durable workflows","agent orchestration","checkpointing","observability","zh",0,false,"2026-05-12T02:20:22.490684+00:00","2026-05-12T02:20:22.472+00:00","done","913a69d2-84d2-4e5d-a44e-29e18ccb0145","why-microsoft-agent-framework-durable-workflows-matter-zh","tools","4e365333-505e-49dd-ac83-3056bcd43838","published","2026-05-12T09:00:12.885+00:00",[31,32,33],"耐久工作流把 agent 流程從脆弱串接變成可恢復的狀態式系統。","圖狀、typed 的 workflow 比零散 prompt glue 更適合維護與除錯。","對多步驟、需要審批或金流的場景，durability 不是加分，而是必需。",[35,36,38,40,41],{"name":17,"slug":17},{"name":13,"slug":37},"microsoft-agent-framework",{"name":14,"slug":39},"durable-workflows",{"name":16,"slug":16},{"name":15,"slug":42},"agent-orchestration",{"id":27,"slug":44,"title":45,"language":46},"why-microsoft-agent-framework-durable-workflows-matter-en","Why Microsoft Agent Framework’s durable workflows matter","en",[48,54,60,66,72,78],{"id":49,"slug":50,"title":51,"cover_image":52,"image_url":52,"created_at":53,"category":26},"68e4be16-dc38-4524-a6ea-5ebe22a6c4fb","why-vidhub-huiyuan-hutong-bushi-quan-shebei-tongyong-zh","為什麼 VidHub 會員互通不是「買一次全設備通用」","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778789450987-advz.png","2026-05-14T20:10:24.048988+00:00",{"id":55,"slug":56,"title":57,"cover_image":58,"image_url":58,"created_at":59,"category":26},"7a1e174f-746b-4e82-a0e3-b2475ab39747","why-buns-zig-to-rust-experiment-is-right-zh","為什麼 Bun 的 Zig-to-Rust 實驗是對的","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778767879127-5dna.png","2026-05-14T14:10:26.886397+00:00",{"id":61,"slug":62,"title":63,"cover_image":64,"image_url":64,"created_at":65,"category":26},"e742fc73-5a65-4db3-ad17-88c99262ceb7","why-openai-api-pricing-is-product-strategy-zh","為什麼 OpenAI API 定價是產品策略，不是註腳","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778749859485-chvz.png","2026-05-14T09:10:26.003818+00:00",{"id":67,"slug":68,"title":69,"cover_image":70,"image_url":70,"created_at":71,"category":26},"c757c5d8-eda9-45dc-9020-4b002f4d6237","why-claude-code-prompt-design-beats-ide-copilots-zh","為什麼 Claude Code 的提示設計贏過 IDE Copilot","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778742645084-dao9.png","2026-05-14T07:10:29.371901+00:00",{"id":73,"slug":74,"title":75,"cover_image":76,"image_url":76,"created_at":77,"category":26},"4adef3ab-9f07-4970-91cf-77b8b581b348","why-databricks-model-serving-is-right-default-zh","為什麼 Databricks Model Serving 是生產推論的正確預設","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778692245329-a2wt.png","2026-05-13T17:10:30.659153+00:00",{"id":79,"slug":80,"title":81,"cover_image":82,"image_url":82,"created_at":83,"category":26},"b3305057-451d-48e4-9fb9-69215f7effad","why-ibm-bob-right-kind-ai-coding-assistant-zh","為什麼 IBM 的 Bob 才是對的 AI 寫碼助手","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778664653510-64hc.png","2026-05-13T09:30:21.881547+00:00",[85,90,95,100,105,110,115,120,125,130],{"id":86,"slug":87,"title":88,"created_at":89},"de769291-4574-4c46-a76d-772bd99e6ec9","googles-biggest-gemini-launches-in-2026-zh","Google 2026 最大 Gemini 盤點","2026-03-26T07:26:39.21072+00:00",{"id":91,"slug":92,"title":93,"created_at":94},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":96,"slug":97,"title":98,"created_at":99},"9b19ab54-edef-4dbd-9ce4-a51e4bae4ebb","mcp-in-2026-the-ai-tool-layer-teams-use-zh","2026 年 MCP：團隊真的在用的 AI 工具層","2026-03-26T08:01:46.589694+00:00",{"id":101,"slug":102,"title":103,"created_at":104},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":106,"slug":107,"title":108,"created_at":109},"05553086-6ed0-4758-81fd-6cab24b575e0","garry-tan-open-sources-claude-code-toolkit-zh","Garry Tan 開源 Claude Code 工具包","2026-03-26T08:26:20.068737+00:00",{"id":111,"slug":112,"title":113,"created_at":114},"042a73a2-18a2-433d-9e8f-9802b9559aac","github-ai-projects-to-watch-in-2026-zh","2026 必看 20 個 GitHub AI 專案","2026-03-26T08:28:09.619964+00:00",{"id":116,"slug":117,"title":118,"created_at":119},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":121,"slug":122,"title":123,"created_at":124},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":126,"slug":127,"title":128,"created_at":129},"bfdb467a-290f-4a80-b3a9-6f081afb6dff","aiml-2026-student-ai-ml-lab-repo-review-zh","AIML-2026：像課綱的學生實驗 Repo","2026-03-27T01:21:51.467798+00:00",{"id":131,"slug":132,"title":133,"created_at":134},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00"]