[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-windsurf-flow-context-engine-2026-zh":3,"tags-windsurf-flow-context-engine-2026-zh":33,"related-lang-windsurf-flow-context-engine-2026-zh":48,"related-posts-windsurf-flow-context-engine-2026-zh":52,"series-tools-663a3bd8-6160-4b37-bf18-e3c54e7541d2":89},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":21,"translated_content":10,"views":22,"is_premium":23,"created_at":24,"updated_at":24,"cover_image":11,"published_at":25,"rewrite_status":26,"rewrite_error":10,"rewritten_from_id":27,"slug":28,"category":29,"related_article_id":30,"status":31,"google_indexed_at":32,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":10,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":23},"663a3bd8-6160-4b37-bf18-e3c54e7541d2","Windsurf Flow 怎麼讓上下文不斷線","\u003Cp>\u003Ca href=\"https:\u002F\u002Fcodeium.com\u002Fwindsurf\" target=\"_blank\" rel=\"noopener\">Windsurf\u003C\u002Fa> 想解的問題很直白。AI 寫碼工具常常忘東忘西。你剛改完一個檔案，它下一句又像沒看過 repo 一樣。\u003C\u002Fp>\u003Cp>這件事很傷。因為它不是只會多問幾次。它會直接拖慢你。\u003Ca href=\"\u002Fnews\u002Fcursor-vs-windsurf-4-tasks-same-prompts-zh\">Wind\u003C\u002Fa>s\u003Ca href=\"\u002Fnews\u002Fcursor-3-unified-workspace-agents-zh\">ur\u003C\u002Fa>f 的 Flow 系統，就是在處理這個痛點。\u003C\u002Fp>\u003Cp>它把 codebase 索引、session history、rules、memories 串起來。講白了，就是讓 AI 盡量記得你剛做了什麼。不是只看你現在打了什麼字。\u003C\u002Fp>\u003Ch2>上下文才是核心\u003C\u002Fh2>\u003Cp>很多人以為 AI 寫碼工具比的是模型大小。其實常見問題不是模型不會寫。是它不知道你在改哪個服務，也不知道團隊怎麼命名。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775272013033-va0v.png\" alt=\"Windsurf Flow 怎麼讓上下文不斷線\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>Winds\u003Ca href=\"\u002Fnews\u002Fcursor-3-autonomous-agents-platform-update-zh\">ur\u003C\u002Fa>f 把這個缺口當成主問題。它的想法很簡單。上下文要跟著工作流程更新。你切檔案、跑 terminal、開新 tab，系統都要跟上。\u003C\u002Fp>\u003Cp>這裡的核心是 \u003Ca href=\"https:\u002F\u002Fwww.pinecone.io\u002Flearn\u002Fretrieval-augmented-generation\u002F\" target=\"_blank\" rel=\"noopener\">RAG\u003C\u002Fa>。不是每個 repo 都重訓模型。先建立索引，再在需要時抓相關片段。這樣比較快，也比較實際。\u003C\u002Fp>\u003Cul>\u003Cli>RAG 先把 codebase 做成可搜尋索引\u003C\u002Fli>\u003Cli>session history 會記住你剛做的操作\u003C\u002Fli>\u003Cli>rules 管團隊規範\u003C\u002Fli>\u003Cli>memories 管長期記住的事\u003C\u002Fli>\u003C\u002Ful>\u003Cp>說真的，這比「模型很聰明」更重要。因為實務上，AI 最常犯的錯不是語法錯。是它抓錯檔案，或抓到過期資訊。\u003C\u002Fp>\u003Cp>Windsurf 的 Flow 不是在賭模型自己想通。它是在設計一個資料管線。這種思路比較像工程，不像行銷話術。\u003C\u002Fp>\u003Ch2>Cascade 怎麼吃進上下文\u003C\u002Fh2>\u003Cp>Windsurf 的深度模式叫 \u003Ca href=\"https:\u002F\u002Fcodeium.com\u002Fwindsurf\" target=\"_blank\" rel=\"noopener\">Cascade\u003C\u002Fa>。它不是只吃你當下那一句 prompt。它會先把多層資訊整理好，再送進 LLM。\u003C\u002Fp>\u003Cp>流程大概是這樣。先載入全域規則，再載入專案規則。接著讀 memories、開啟中的檔案、索引片段，最後加上最近的編輯與 terminal 指令。\u003C\u002Fp>\u003Cp>這順序很重要。因為它同時保留「你想做什麼」和「現在做到哪」。如果沒有這層整理，AI 很容易答非所問。\u003C\u002Fp>\u003Cblockquote>“You can’t have a conversation with a machine that doesn’t remember what you just said.” — Satya Nadella, Microsoft Build 2023 keynote\u003C\u002Fblockquote>\u003Cp>這句話放在這裡很貼切。AI 工具如果記不住前文，互動就會一直重置。你每次都得重講一次背景，超煩。\u003C\u002Fp>\u003Cp>對除錯來說，這差很多。你跑完測試失敗後，再問它下一步，它可以直接看到剛剛的錯誤。你不用再貼一次 log。\u003C\u002Fp>\u003Ch2>索引、M-Query、和 Tab 的差別\u003C\u002Fh2>\u003Cp>Windsurf 會在你開專案時先做 indexing。它掃描 repo，把檔案和 symbol 轉成 embeddings，再放進 vector index。這樣之後才能快速找相關內容。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775272012962-8gd9.png\" alt=\"Windsurf Flow 怎麼讓上下文不斷線\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>文章提到 embeddings 是 768 維。這個尺寸很常見。夠表達語意，又不會讓搜尋成本太誇張。對大型 repo 來說，這種平衡很實際。\u003C\u002Fp>\u003Cp>它還提到一個叫 \u003Ca href=\"https:\u002F\u002Fcodeium.com\u002Fwindsurf\" target=\"_blank\" rel=\"noopener\">M-Query\u003C\u002Fa> 的檢索方法。目的很直接。比起單純 cosine similarity，它想抓得更準。\u003C\u002Fp>\u003Cul>\u003Cli>Embeddings：768 維\u003C\u002Fli>\u003Cli>M-Query：比單純相似度搜尋更精準\u003C\u002Fli>\u003Cli>Free：本機索引為主\u003C\u002Fli>\u003Cli>Team \u002F Enterprise：支援遠端 repo 索引\u003C\u002Fli>\u003C\u002Ful>\u003Cp>這裡也要分清楚。Tab completion 和 Cascade 不是同一條管線。Tab 要快，通常只看游標附近、最近符號、短距離上下文。\u003C\u002Fp>\u003Cp>所以 Tab 會很即時，但也更容易看走眼。這不是它笨。是它被設計成低延遲工具，不是深度推理引擎。\u003C\u002Fp>\u003Ch2>規則、記憶、和快取不能混在一起\u003C\u002Fh2>\u003Cp>Windsurf 把靜態規則和持久記憶分開。這點我覺得很對。因為團隊規範和臨時決策，本來就不是同一種資料。\u003C\u002Fp>\u003Cp>專案規則放在 \u003Ca href=\"https:\u002F\u002Fdocs.codeium.com\u002Fwindsurf\u002Fwindsurf-rules\" target=\"_blank\" rel=\"noopener\">.windsurfrules\u003C\u002Fa>。像是 runtime、framework、ORM、test runner、logging 格式，這些都適合寫進去。\u003C\u002Fp>\u003Cp>Memories 則比較像長期筆記。像是團隊從 REST 改成 GraphQL，或某個 parser 有 ISO offset bug。這種資訊會變，適合放記憶，不適合寫死。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.codeium.com\u002Fwindsurf\u002Fwindsurf-rules\" target=\"_blank\" rel=\"noopener\">.windsurfrules\u003C\u002Fa>：每次互動都會載入\u003C\u002Fli>\u003Cli>Memories：跨 session 保留的事實\u003C\u002Fli>\u003Cli>Tab：低延遲補全\u003C\u002Fli>\u003Cli>Cascade：多步驟推理與編輯\u003C\u002Fli>\u003C\u002Ful>\u003Cp>這種切法也解釋了很多使用者的抱怨。你覺得 AI 答得怪，問題不一定在模型。可能是索引還沒跑完，或你把應該寫進 rules 的東西丟進 prompt。\u003C\u002Fp>\u003Cp>講白了，好的 AI 寫碼工具不是只看模型能力。它還看你怎麼餵資料。這跟資料工程很像。\u003C\u002Fp>\u003Ch2>價格和定位透露了什麼\u003C\u002Fh2>\u003Cp>Windsurf 的方案也很能看出定位。文章列到 Free、Pro、Team、Enterprise 幾種層級。Pro 大約是每月 15 美元。Team 和 Enterprise 大約每人每月 24 到 25 美元。\u003C\u002Fp>\u003Cp>差異不只是 context window。高階方案還有更大的索引量、更多 pinned slots、遠端 repo 索引。這些都很像給團隊用的功能，不是給單人玩票。\u003C\u002Fp>\u003Cp>如果你的前端、後端、共用 library 分在不同 repo，遠端索引就很重要。沒有這個功能，AI 只能看一小塊。那種感覺很像只拿到半張地圖。\u003C\u002Fp>\u003Cul>\u003Cli>Free：本機索引\u003C\u002Fli>\u003Cli>Pro：每月 15 美元\u003C\u002Fli>\u003Cli>Team \u002F Enterprise：每人每月約 24 到 25 美元\u003C\u002Fli>\u003Cli>高階方案：更多 context 與遠端 repo 索引\u003C\u002Fli>\u003C\u002Ful>\u003Cp>競品很多。像 \u003Ca href=\"https:\u002F\u002Fwww.cursor.com\u002F\" target=\"_blank\" rel=\"noopener\">Cursor\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fwww.jetbrains.com\u002Fai\u002F\" target=\"_blank\" rel=\"noopener\">JetBrains AI\u003C\u002Fa>，還有 \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\" target=\"_blank\" rel=\"noopener\">GitHub Copilot\u003C\u002Fa>，都在搶 AI 寫碼場景。\u003C\u002Fp>\u003Cp>但 Windsurf 的差異點很明確。它不是只拼補全。它是在拼上下文編排。這個方向我覺得更接近真實工作流。\u003C\u002Fp>\u003Ch2>這套設計放到產業裡怎麼看\u003C\u002Fh2>\u003Cp>AI 寫碼工具這一年很像在比誰更會「懂專案」。光會生成程式碼，已經不夠了。真正有用的是，它能不能知道你現在在改哪個模組。\u003C\u002Fp>\u003Cp>這也是為什麼 indexing、rules、memories 會變重要。它們讓工具從「會講話」變成「會跟著專案走」。這對大型 codebase 特別有感。\u003C\u002Fp>\u003Cp>我也覺得這會改變團隊習慣。以前大家靠 code review 補知識。現在如果工具能先讀懂 repo，很多低階重工就能少一點。\u003C\u002Fp>\u003Cp>但前提很現實。你要先把 .codeiumignore 設好，別讓 node_modules、dist、secret 一起進索引。你也要等 indexing 跑完，不然你在測的是半成品。\u003C\u002Fp>\u003Cp>如果是新專案，我會先寫好規則檔，再讓工具跑一輪索引。這比一開始就亂問，效果好很多。\u003C\u002Fp>\u003Ch2>結尾：別把上下文當附加功能\u003C\u002Fh2>\u003Cp>Windsurf Flow 最有意思的地方，是它把上下文當主角。不是把 AI 當魔法盒，而是當一個需要資料、規則、記憶的工作夥伴。\u003C\u002Fp>\u003Cp>我猜接下來大家會更在意這件事。不是誰的模型參數多幾億，而是誰能把 repo 狀態維持得更準。這才是實際差距。\u003C\u002Fp>\u003Cp>如果你最近在挑 AI 寫碼工具，我建議你先問自己一件事。它能不能記住你剛做了什麼。答案如果是否定的，那它多半還不夠好用。\u003C\u002Fp>","Windsurf Flow 用索引、記憶與規則維持 AI 上下文。本文拆解 Cascade、Tab、RAG 與 .windsurfrules 的運作方式，並比較它和其他 AI 寫碼工具的差異。","markaicode.com","https:\u002F\u002Fmarkaicode.com\u002Fwindsurf-flow-context-engine\u002F",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775272013033-va0v.png",[13,14,15,16,17,18,19,20],"Windsurf","Flow","Cascade","RAG","AI寫碼","上下文管理",".windsurfrules","embeddings","zh",1,false,"2026-04-04T03:06:35.776413+00:00","2026-04-04T03:06:35.668+00:00","done","6ef82930-5267-43cd-b404-bec611fb1bed","windsurf-flow-context-engine-2026-zh","tools","9e741ead-c3f3-4c24-936b-09a29042fe1f","published","2026-04-07T07:41:08.152+00:00",[34,36,38,40,41,42,44,46],{"name":13,"slug":35},"windsurf",{"name":16,"slug":37},"rag",{"name":19,"slug":39},"windsurfrules",{"name":20,"slug":20},{"name":18,"slug":18},{"name":15,"slug":43},"cascade",{"name":17,"slug":45},"ai寫碼",{"name":14,"slug":47},"flow",{"id":30,"slug":49,"title":50,"language":51},"windsurf-flow-context-engine-2026-en","How Windsurf Flow Keeps Context Alive","en",[53,59,65,71,77,83],{"id":54,"slug":55,"title":56,"cover_image":57,"image_url":57,"created_at":58,"category":29},"d058a76f-6548-4135-8970-f3a97f255446","why-gemini-api-pricing-is-cheaper-than-it-looks-zh","為什麼 Gemini API 定價其實比看起來更便宜","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778869845081-j4m7.png","2026-05-15T18:30:25.797639+00:00",{"id":60,"slug":61,"title":62,"cover_image":63,"image_url":63,"created_at":64,"category":29},"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":66,"slug":67,"title":68,"cover_image":69,"image_url":69,"created_at":70,"category":29},"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":72,"slug":73,"title":74,"cover_image":75,"image_url":75,"created_at":76,"category":29},"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":78,"slug":79,"title":80,"cover_image":81,"image_url":81,"created_at":82,"category":29},"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":84,"slug":85,"title":86,"cover_image":87,"image_url":87,"created_at":88,"category":29},"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",[90,95,100,105,110,115,120,125,130,135],{"id":91,"slug":92,"title":93,"created_at":94},"de769291-4574-4c46-a76d-772bd99e6ec9","googles-biggest-gemini-launches-in-2026-zh","Google 2026 最大 Gemini 盤點","2026-03-26T07:26:39.21072+00:00",{"id":96,"slug":97,"title":98,"created_at":99},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":101,"slug":102,"title":103,"created_at":104},"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":106,"slug":107,"title":108,"created_at":109},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":111,"slug":112,"title":113,"created_at":114},"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":116,"slug":117,"title":118,"created_at":119},"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":121,"slug":122,"title":123,"created_at":124},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":126,"slug":127,"title":128,"created_at":129},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":131,"slug":132,"title":133,"created_at":134},"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":136,"slug":137,"title":138,"created_at":139},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00"]