[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-windsurf-turns-coding-into-agent-driven-editing-zh":3,"article-related-windsurf-turns-coding-into-agent-driven-editing-zh":30,"series-tools-7f9cba9e-2646-428f-ab12-d07966ce9fad":83},{"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":22,"views":26,"created_at":27,"published_at":28,"topic_cluster_id":29},"7f9cba9e-2646-428f-ab12-d07966ce9fad","windsurf-turns-coding-into-agent-driven-editing-zh","Windsurf 把寫 code 變成代理編輯","\u003Cp data-speakable=\"summary\">我拆 \u003Ca href=\"\u002Ftag\u002Fwindsurf\">Windsurf\u003C\u002Fa> 的 agentic IDE 思路，順手給你一份能直接抄進真實 codebase 的 Cascade 工作流。\u003C\u002Fp>\u003Cp>我用 AI 寫 \u003Ca href=\"\u002Fnews\u002Fxiaomi-mimo-code-beats-claude-code-long-tasks-zh\">code\u003C\u002Fa> 用到現在，最怕的不是它不會寫，是它太會點頭。你丟一句\u003Ca href=\"\u002Fnews\u002Fbotanix-shutdown-proves-bitcoin-defi-lacks-demand-zh\">需求\u003C\u002Fa>，它回你「好啊」。你說改方向，它也說「可以」。看起來很乖，實際上常常只是把我本來就要做的判斷，包成一坨更大的待辦。Windsurf 一開始給我的感覺也差不多，什麼 agentic IDE、Cascade、多檔案編輯、終端機執行，聽起來很滿，但我心裡第一個反應是：又來一個把 autocomplete 包裝成助理的工具吧。\u003C\u002Fp>\u003Cp>後來我去看 \u003Ca href=\"https:\u002F\u002Faiwiki.ai\u002Fwiki\u002Fwindsurf\">AI Wiki 的 Windsurf 頁面\u003C\u002Fa>，才發現它不是想裝成聊天框，而是想把編輯器直接\u003Ca href=\"\u002Fnews\u002Fvibe-coding-workflow-plan-prompt-refine-zh\">做成\u003C\u002Fa>能動手的工作台。這個差很多。因為我真正煩的，從來不是「它能不能回答」，而是它能不能少讓我在檔案、終端機、測試結果之間來回跳。這篇我就拆這個想法，順便把我會怎麼用 Cascade 寫成一份可直接抄的版本。\u003C\u002Fp>\u003Ch2>Windsurf 不是聊天框，是把你從搬運工變回工程師\u003C\u002Fh2>\u003Cblockquote>Launched in November 2024, Windsurf positions itself as the first \"agentic IDE,\" combining traditional code editing with an AI agent called Cascade that can understand entire codebases, perform multi-file edits, and execute terminal commands ...\u003C\u002Fblockquote>\u003Cp>這句話我翻白話就是：它不想只幫你補幾行字，它想把「看 code、改 code、跑驗證」這三件事塞進同一個流程裡。這才是重點。因為真正耗時間的，從來不是那幾行 patch，而是 patch 之後一堆連帶工作：找相關檔案、補測試、跑指令、看失敗、再回頭修。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781568201368-r0vx.png\" alt=\"Windsurf 把寫 code 變成代理編輯\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>我以前最常卡住的，就是工具很會答，但不會接著做。你問它怎麼改，它給你一段漂亮說明；你要它真的動手，它又開始只改當下那個檔案，然後把後果留給你。這種工具我用久了只會更累，因為我等於多了一個會講話但不會收尾的實習生。\u003C\u002Fp>\u003Cp>Windsurf 的野心比較務實：它要把「編輯器」變成一個能接住上下文、能跨檔案協調、能跑驗證的工作環境。這不代表它真的懂整個 repo，老實說沒有模型真的會像人一樣懂一個亂七八糟的專案；但只要它能看到更多相關檔案、保留更多脈絡、少讓我手動搬東西，它就已經比很多只會在單一游標旁邊講幹話的工具有用。\u003C\u002Fp>\u003Cp>我自己在 monorepo 做過一個功能，牽到 UI component、shared util、還有 test。傳統 chat 助手最愛做的事，就是只改你眼前那個檔案，然後裝沒看到其他地方。結果我還是得自己追 import、追測試、追行為差異。那種體驗很像你請人幫忙搬家，結果他只幫你把箱子貼上標籤。\u003C\u002Fp>\u003Cp>實操上，我會把 Windsurf 放在「牽涉範圍明確但不是單點修改」的任務上。像重構、\u003Ca href=\"\u002Ftag\u002Fapi\">API\u003C\u002Fa> rename、測試同步更新、功能串接，這些都適合。只有一行的小修正，我不會故意開 \u003Ca href=\"\u002Ftag\u002Fagent\">agent\u003C\u002Fa>，因為那是在浪費工具的協調能力，也是在浪費我的注意力。\u003C\u002Fp>\u003Cul>\u003Cli>適合：跨檔案重構、符號改名、測試同步、功能串接。\u003C\u002Fli>\u003Cli>不適合：明顯只有一行的修補、我已經知道答案的修改。\u003C\u002Fli>\u003Cli>原則：讓工具處理搬運，我只負責判斷對不對。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Cascade 的價值，不是會聊，是會把事情收完\u003C\u002Fh2>\u003Cp>Cascade 是 Windsurf 真正的核心。AI Wiki 明講它可以做多檔案編輯，還能執行終端機命令；Windsurf 官方網站也把它放在產品敘事中心。\u003Ca href=\"https:\u002F\u002Fwindsurf.com\u002F\">Windsurf 官網\u003C\u002Fa> 這種寫法其實很直白：它不是要你把 editor 當聊天視窗，而是把 agent 放進編輯器裡，讓它從修改一路做到驗證。\u003C\u002Fp>\u003Cp>白話一點說，Cascade 不是只會生 code，它還能把 code 送去跑。這個差別超大。因為我最煩的不是寫完，是寫完之後那串瑣事：裝依賴、跑測試、看 build、抓錯誤訊息、再回頭修。很多 \u003Ca href=\"\u002Ftag\u002Fai-coding\">AI coding\u003C\u002Fa> 工具卡在這裡，因為它們只負責「生成」，不負責「收尾」。\u003C\u002Fp>\u003Cp>我之前遇過一個情境，模型把 function 改對了八成，卻漏掉一個 test expectation。假如工具只能吐字，我就得自己切到 terminal，自己跑，自己看錯誤，自己再回來改。這種來回切換是最耗精神的。若 agent 能直接跑驗證命令，至少它可以把失敗提早攤開，不要讓我晚十分鐘才發現整包都歪了。\u003C\u002Fp>\u003Cp>但我也不會天真到把 terminal 權限當成加分就全開。這東西的風險很直接：它不只可以幫你跑測試，也可以幫你亂跑命令。所以我的做法一直都很保守。先改碼，再驗證，再看 diff。不要讓它自由發揮，更不要讓它在沒審過的情況下碰破壞性指令。\u003C\u002Fp>\u003Cp>實操寫法很簡單：每次都先把驗證命令講清楚。你要它跑測試就講測試，要它跑 build 就講 build。不要丟一句「幫我修好」然後期待它自己知道該怎麼收尾。Agent 不是通靈，它只是比較會做事。\u003C\u002Fp>\u003Cul>\u003Cli>先定義驗證命令，再讓它改。\u003C\u002Fli>\u003Cli>優先用「改碼 → 跑驗證 → 看結果」的循環。\u003C\u002Fli>\u003Cli>危險命令不要默認放行，尤其是 migration、deploy 這類。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Repo-aware 不是更聰明，是比較少瞎猜\u003C\u002Fh2>\u003Cp>很多 AI coding 工具都愛講自己更聰明，但我其實不太吃這套。對我來說，真正有差的是它有沒有 repo awareness。也就是說，它是不是知道這個專案裡哪些檔案彼此有關，哪些地方改了會連動，哪些測試會一起炸。這種能力不華麗，但很值錢。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781568200523-c4uz.png\" alt=\"Windsurf 把寫 code 變成代理編輯\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>翻譯一下就是：它不只看游標附近那一小塊，而是能把整個專案的結構拿來當參考。這對真實 codebase 很重要，因為真實 codebase 從來不乾淨。你改一個 hook，component 會跟著變；你改一個 type，test fixture 會跟著壞；你改一個 config，可能連 CI 都要補。這些關係如果工具看不到，它就只會產出看起來合理、實際上很危險的建議。\u003C\u002Fp>\u003Cp>我在前端專案裡最常遇到這種事。你以為只是在 component 裡換個 prop 名稱，結果還有 story、test、mock data、甚至某個共用 helper 要一起動。只看單檔的助手會一直裝作事情很單純，然後把清理工作留給我。repo-aware 的價值就在這裡：它至少有機會把相關面一起抓出來。\u003C\u002Fp>\u003Cp>但我還是要講難聽一點：它能找出相關檔案，不代表它就真的懂架構。所以我不會讓它靠感覺亂改。我會要求它先列出它認為相關的檔案，講清楚為什麼，然後再動手。這樣我可以先擋掉一半瞎猜，避免它把錯誤擴散到更多地方。\u003C\u002Fp>\u003Cp>實操上，你下指令時要把影響範圍講完整。不要說「幫我改登入流程」，要說「改 hook、consumer component、相關 test，順便確認 type 沒壞」。你越具體，它越少亂飄。\u003C\u002Fp>\u003Cul>\u003Cli>先點名受影響的檔案層級，不要只講功能名。\u003C\u002Fli>\u003Cli>要求它先列相關檔案，再進行修改。\u003C\u002Fli>\u003Cli>把「可能連動的測試」也一起講進去。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>多檔案編輯有用，但前提是你會看 diff\u003C\u002Fh2>\u003Cp>多檔案編輯這件事很容易被講得很神，好像只要工具會一次改很多檔，就代表它很厲害。不是。它只是把機械性搬運做得比較快而已。真正值錢的是，它能不能在你不想手動複製貼上時，幫你把連動的修改先鋪好。\u003C\u002Fp>\u003Cp>我自己的經驗是，這種功能最適合做符號改名、refactor、測試同步、設定檔調整。這些工作有一個共同點：它們的變動規則很機械。只要規則清楚，agent 就很適合接手。可是一旦牽涉到語意判斷，你就不能只看它改了幾個檔案，還要看它有沒有真的保住行為。\u003C\u002Fp>\u003Cp>我以前被一個助手搞過一次。它把 implementation 改了，也把 test 名稱改了，看起來整齊到不行，結果漏掉一個 assertion 還在驗證舊邏輯。那種 diff 很有欺騙性，表面上像整理過，實際上只是把錯誤包得更漂亮。所以我現在看多檔案修改，一律當草稿，不當答案。\u003C\u002Fp>\u003Cp>這裡的實操方法其實很土，但有效：讓 agent 做機械搬運，然後你自己看 diff。不要只看總結，要一檔一檔看。尤其是它額外碰了你沒點名的檔案時，先問原因，不要先按接受。\u003C\u002Fp>\u003Cp>如果你要我講一句最實際的原則，就是：多檔案編輯能省時間，但前提是你把省下來的時間拿去做 review，不是拿去偷懶。\u003C\u002Fp>\u003Cul>\u003Cli>把多檔案編輯當 draft generator，不要當 authority。\u003C\u002Fli>\u003Cli>逐檔 review，不要只看一坨總 diff。\u003C\u002Fli>\u003Cli>每次都跑你原本會跑的驗證指令。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>終端機權限讓它像真的在做事，但也更需要你設界線\u003C\u002Fh2>\u003Cp>Windsurf 讓 Cascade 能跑 terminal commands，這就是它跟很多 AI 編輯器拉開差距的地方。因為一旦它能跑命令，它就不只是「建議你怎麼做」，而是可以直接參與開發流程。這個差別很實際，尤其是在你已經快被上下文切換搞瘋的時候。\u003C\u002Fp>\u003Cp>白話講，這代表它可以幫你跑 install、test、build，甚至把錯誤訊息帶回來。對我來說，這是最像「真的有幫上忙」的部分。因為我不想一邊盯 code，一邊還要手動切到 terminal 找錯。能把這段交給 agent，至少我比較能專心看它改得對不對。\u003C\u002Fp>\u003Cp>但我也不會把這件事浪漫化。terminal 權限不是免費午餐，是風險放大器。它如果只是在 code 層面犯錯，你還能靠 review 擋住；它如果開始亂跑命令，事情就會變得更麻煩。所以我對這種工具的期待一直都很明確：它可以快，但不能自己亂決定。\u003C\u002Fp>\u003Cp>我的做法是先訂 command policy。哪些能跑、哪些不能跑，先寫死。測試和 build 可以，migration、deploy、刪資料這種不行。然後把常用驗證命令固定下來，避免每次都重新討論。這樣 agent 才不會把你的環境當實驗場。\u003C\u002Fp>\u003Cp>如果你想找類似的工作流對照，我會順手看 \u003Ca href=\"https:\u002F\u002Fcode.visualstudio.com\u002F\">Visual Studio Code\u003C\u002Fa> 的擴充方式、\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\">GitHub Copilot\u003C\u002Fa> 的定位，還有 \u003Ca href=\"https:\u002F\u002Fwww.cursor.com\u002F\">Cursor\u003C\u002Fa> 怎麼講 repo-aware editing。這幾個都能幫你看清楚 Windsurf 到底在賣什麼。\u003C\u002Fp>\u003Ch2>我對 agentic IDE 的底線很簡單：保留意圖，檢查成果\u003C\u002Fh2>\u003Cp>很多人用這類工具會犯一個錯：把 agent 當成替代判斷的人。這很危險，也很沒效率。比較合理的期待是，它幫你減少機械成本，讓你少做那些重複搬運、重複追檔案、重複跑命令的事。判斷還是你做，工具只是幫你把路鋪平一點。\u003C\u002Fp>\u003Cp>也就是說，你要的是 workflow，不是神諭。先丟清楚任務，讓它跨檔案修改，跑驗證，然後你自己看 diff。這才是 agentic IDE 真正有價值的地方。太鬆，它會亂飄；太緊，它就退化回昂貴的 autocomplete。\u003C\u002Fp>\u003Cp>我現在最喜歡的用法其實很無聊：任務寫得很具體，範圍寫得很明確，驗證命令寫得很死。像「把這個 API field 改名，連 test 一起更新，然後跑 test suite」。這種 prompt 不性感，但它有效。因為模型最怕的不是難題，是你講話像在許願。\u003C\u002Fp>\u003Cp>如果你也想把 Windsurf 或類似工具用得像樣，我建議你先把「人要做什麼、agent 要做什麼」切開。人負責定義，agent 負責搬運和驗證。這樣你才不會每次都在等它自作聰明。\u003C\u002Fp>\u003Ch2>可抄的模板\u003C\u002Fh2>\u003Cpre>\u003Ccode># Windsurf \u002F Cascade 工作流模板：把 agent 變成可控的改碼助手\n\n## 任務定義\n- 目標：一句話講清楚我要達成什麼結果\n- 範圍：列出檔案、資料夾、module、symbol\n- 約束：哪些東西不能改，哪些行為不能變\n- 驗證：要跑的 test \u002F build \u002F lint 指令\n\n## 丟給 agent 的 prompt\n你現在在我的 codebase 裡工作。\n\n先找出跟這個任務相關的檔案，並簡短說明為什麼它們相關。\n接著只做達成目標所需的最小修改。\n修改完成後，請執行我指定的驗證命令，並回報結果。\n\n規則：\n- 不要改與任務無關的程式碼。\n- 不要用猜的方式補架構，除非 repo 已經明確有既有模式。\n- 如果測試失敗，先解釋失敗原因，再繼續改。\n- 保持 diff 簡單、可 review。\n- 若需要新增檔案，先說明新增原因。\n\n## 範例任務\n目標：把 billing flow 裡的 `userId` 改成 `accountId`\n範圍：`src\u002Fbilling`、相關 tests、shared types\n約束：不要改 API response shape\n驗證：`npm test -- billing`\n\n## Review checklist\n- [ ] 受影響的檔案都更新到了\n- [ ] import \u002F export 還能正常解析\n- [ ] tests 已反映新行為\n- [ ] 驗證命令有跑完\n- [ ] 沒有夾帶無關重構\n\n## 追問模板\n先給我 diff summary，再告訴我你額外改了哪些我沒點名的檔案，以及原因。\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>這段就是我會真的存下來的版本。它把 agent 卡在一個很窄的 lane：先列相關檔案，再做最小修改，再跑驗證，最後把額外變動交代清楚。這樣用，Windsurf 才像工具；不這樣用，它就只是會講話的麻煩製造機。\u003C\u002Fp>\u003Cp>來源致謝：核心觀點來自 \u003Ca href=\"https:\u002F\u002Faiwiki.ai\u002Fwiki\u002Fwindsurf\">AI Wiki 的 Windsurf 頁面\u003C\u002Fa>，以及 \u003Ca href=\"https:\u002F\u002Fwindsurf.com\u002F\">Windsurf 官網\u003C\u002Fa>。上面這套 workflow 與模板是我根據來源內容整理、再加上自己的實戰習慣改寫出來的。\u003C\u002Fp>","我拆 Windsurf 的 agentic IDE 思路，順手給你一份能直接抄進真實 codebase 的 Cascade 工作流。","aiwiki.ai","https:\u002F\u002Faiwiki.ai\u002Fwiki\u002Fwindsurf",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781568201368-r0vx.png","tools","zh","7fba3c18-f82c-48d9-80ba-a0209898c80b",[17,18,19,20,21],"Windsurf","Cascade","agentic IDE","repo-aware editing","multi-file edits",[23,24,25],"Windsurf 的重點不是聊天，而是把讀 code、改 code、跑驗證收進同一個流程。","Cascade 最有價值的地方是能跨檔案動手，還能接終端機命令把收尾做完。","真正可用的做法是先定義任務與驗證，再讓 agent 改碼，最後自己 review diff。",0,"2026-06-16T00:02:57.207578+00:00","2026-06-16T00:02:57.19+00:00","ddbe17bf-4560-43f7-af76-3e7d6e08e601",{"tags":31,"relatedLang":42,"relatedPosts":46},[32,34,36,38,40],{"name":17,"slug":33},"windsurf",{"name":19,"slug":35},"agentic-ide",{"name":18,"slug":37},"cascade",{"name":20,"slug":39},"repo-aware-editing",{"name":21,"slug":41},"multi-file-edits",{"id":15,"slug":43,"title":44,"language":45},"windsurf-turns-coding-into-agent-driven-editing-en","Windsurf turns coding into agent-driven editing","en",[47,53,59,65,71,77],{"id":48,"slug":49,"title":50,"cover_image":51,"image_url":51,"created_at":52,"category":13},"736e7c19-d81b-4266-b1ff-6f13295b1608","cursors-latest-update-ide-workflow-tools-zh","Cursor 最新更新證明：IDE 必須升級成工作流程工具","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781491671914-7wov.png","2026-06-15T02:47:20.32431+00:00",{"id":54,"slug":55,"title":56,"cover_image":57,"image_url":57,"created_at":58,"category":13},"f4124807-6c95-424a-8d27-4c79020cff1a","cursor-bugbot-before-push-not-pr-zh","Cursor 的 Bugbot 應該先於 push，而不是卡在 PR","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781490766583-u6gl.png","2026-06-15T02:32:16.371174+00:00",{"id":60,"slug":61,"title":62,"cover_image":63,"image_url":63,"created_at":64,"category":13},"c66ec601-83a5-4f30-933d-9cb6f033d1b1","prompt-engineering-writing-skill-not-magic-trick-zh","提示工程不是魔法，是寫作能力","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781470976122-5307.png","2026-06-14T21:02:27.880576+00:00",{"id":66,"slug":67,"title":68,"cover_image":69,"image_url":69,"created_at":70,"category":13},"2a3ab73e-e585-42cb-9ee8-1552d1307bb8","open-notebook-turns-notebooklm-into-open-source-zh","Open-Notebook 讓 NotebookLM 變開源","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781450302934-yaye.png","2026-06-14T15:17:50.078985+00:00",{"id":72,"slug":73,"title":74,"cover_image":75,"image_url":75,"created_at":76,"category":13},"8c54af61-2536-4778-b286-fbc4ba04b5b8","gpu-mag-list-turns-gpu-tests-into-workflow-zh","GPU Mag 清單變成測試流程","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781440405583-axcq.png","2026-06-14T12:33:00.102614+00:00",{"id":78,"slug":79,"title":80,"cover_image":81,"image_url":81,"created_at":82,"category":13},"4e519cd3-4dcd-41b6-8ff1-66a58921acf7","openai-pricing-turns-token-math-into-budgets-zh","OpenAI 定價把 token 算成預算","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1781436795172-y91a.png","2026-06-14T11:32:53.757498+00:00",[84,89,94,99,104,109,114,119,124,129],{"id":85,"slug":86,"title":87,"created_at":88},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":90,"slug":91,"title":92,"created_at":93},"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":95,"slug":96,"title":97,"created_at":98},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":100,"slug":101,"title":102,"created_at":103},"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":105,"slug":106,"title":107,"created_at":108},"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":110,"slug":111,"title":112,"created_at":113},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":115,"slug":116,"title":117,"created_at":118},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":120,"slug":121,"title":122,"created_at":123},"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":125,"slug":126,"title":127,"created_at":128},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00",{"id":130,"slug":131,"title":132,"created_at":133},"3ce6e6e2-bac5-463e-9f8d-45caabcc61f7","awesome-ai-for-science-research-tools-map-zh","AI 科研工具清單，開始像地圖了","2026-03-27T01:46:50.521945+00:00"]