[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-ibm-vibe-coding-guide-turns-prompts-into-code-zh":3,"article-related-ibm-vibe-coding-guide-turns-prompts-into-code-zh":35,"series-tools-a1bd40fe-2b96-430c-bce3-17f4b3284333":87},{"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":10,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":29,"topic_cluster_id":33,"embedding":34,"is_canonical_seed":20},"a1bd40fe-2b96-430c-bce3-17f4b3284333","IBM Vibe Coding 把提示詞變程式碼","\u003Cp data-speakable=\"summary\">IBM 的 \u003Ca href=\"\u002Fnews\u002Fvibe-coding-turns-app-ideas-into-crowded-markets-zh\">vibe\u003C\u002Fa> coding 指南其實是在教你用提示詞先產出第一版程式碼，再靠人類把它修好。\u003C\u002Fp>\u003Cp>我最近一直在看 \u003Ca href=\"\u002Ftag\u002Fvibe-coding\">vibe coding\u003C\u002Fa>，越看越有種熟悉的煩躁感。不是因為它沒用，剛好相反，是它太容易看起來有用。我把需求丟給模型，它回我一坨像樣的程式碼；我再多問幾句，它又補得頭頭是道。問題是，這種順手常常會騙人。你以為自己在加速，其實只是更快拿到一份需要重寫的草稿。\u003C\u002Fp>\u003Cp>我讀 IBM 這篇 \u003Ca href=\"https:\u002F\u002Fwww.ibm.com\u002Fthink\u002Ftopics\u002Fvibe-coding\">What is Vibe Coding?\u003C\u002Fa> 時，最有感的不是它把 vibe coding 說得多漂亮，而是它至少沒有裝傻。它講得很白：先用自然語言表達意圖，讓 AI 生出骨架，再由人去 refine。這就對了。很多人只聽到「AI 會寫 code」，就開始幻想把工程師整個外包給模型，然後再花兩週追 bug，追到懷疑人生。\u003C\u002Fp>\u003Cp>所以我想把 IBM 這份說法拆開，不是講概念，而是講我會怎麼用。重點只有一個：它到底怎麼把提示詞變成可控的第一版程式碼，哪裡好用，哪裡會翻車，最後又怎麼寫成你真的能照抄的工作流。\u003C\u002Fp>\u003Cp>這篇的起點是 IBM 的文章 \u003Ca href=\"https:\u002F\u002Fwww.ibm.com\u002Fthink\u002Ftopics\u002Fvibe-coding\">What is Vibe Coding?\u003C\u002Fa>，作者是 Shalini Harkar。文中還提到 Andrej Karpathy，以及 \u003Ca href=\"https:\u002F\u002Freplit.com\u002F\">Replit\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fwww.cursor.com\u002F\">Cursor\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\">GitHub Copilot\u003C\u002Fa> 這些常見\u003Ca href=\"\u002Fnews\u002Fanthropic-buys-stainless-sdk-tool-rivals-zh\">工具\u003C\u002Fa>；我下面的拆解是沿著這些來源往下拆，不是憑空發明一套新名詞。\u003C\u002Fp>\u003Ch2>Vibe coding 不是免寫程式，是先寫提示詞\u003C\u002Fh2>\u003Cblockquote>“Vibe coding” is a new and loosely-defined term in software development that refers to the practice of prompting AI tools to generate code rather than writing code manually.\u003C\u002Fblockquote>\u003Cp>翻譯一下就是：你不是直接敲每一行程式，而是先把意圖、限制、輸入輸出講清楚，讓模型先吐出第一版。這件事最重要的地方，不是「AI 幫你寫」，而是你把工作單位從「逐行輸入」改成「描述需求」。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1779183875735-m3wz.png\" alt=\"IBM Vibe Coding 把提示詞變程式碼\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>IBM 的重點其實很務實。它沒有把 vibe coding 說成\u003Ca href=\"\u002Fnews\u002Fwhy-claude-release-timeline-proves-platform-war-zh\">什麼\u003C\u002Fa>神奇新宗教，只是把它定義成一種 prompt-first 的流程。對我來說，這個說法比「AI 寫 code」準多了。因為真正有價值的部分，從來不是模型會不會打字，而是你能不能把需求講到夠清楚，讓產物可以直接進下一步。\u003C\u002Fp>\u003Cp>我自己最常拿來測這件事的，是 UI 或內部工具。你如果只說「做一個 dashboard」，模型通常會回你一個很像 dashboard 的東西，但細節空洞得要命。可是一旦你說「React、左側導覽、表格、inline filter、loading\u002Ferror\u002Fempty state 都要有」，它就會開始像樣。不是因為它懂你的產品，是因為你把骨架講出來了。\u003C\u002Fp>\u003Cp>這裡 IBM 提到的工具也很有代表性：\u003Ca href=\"https:\u002F\u002Fchat.openai.com\u002F\">ChatGPT\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fclaude.ai\u002F\">Claude\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fopenai.com\u002Findex\u002Fintroducing-codex\u002F\">OpenAI Codex\u003C\u002Fa>。我會把它們看成不同型態的助手，不會幻想一套工具通吃。有人適合做 scaffold，有人適合 refactor，有人適合來回問答。你如果拿錯工具，還怪它不聰明，那其實是你 workflow 沒分清楚。\u003C\u002Fp>\u003Cp>實操上，我會把 AI 當成一個打字很快、但需要超明確指令的 junior engineer。你要告訴它 stack、檔案邊界、使用者流程、不能做什麼、成功標準是什麼。這些東西你自己都說不出來的話，先別急著 vibe coding，因為那不是 AI 的問題，是你還沒把需求想完整。\u003C\u002Fp>\u003Cul>\u003Cli>先寫提示詞，再寫 code，不要反過來。\u003C\u002Fli>\u003Cli>一定要交代 framework、runtime、輸出格式。\u003C\u002Fli>\u003Cli>先切最小可用片段，別一口氣丟整個產品。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>真正省下來的是 boilerplate，不是思考\u003C\u002Fh2>\u003Cp>IBM 說 vibe coding 可以讓人留在創造的狀態，把瑣碎工作交給 AI，還能快速產出標準化的 codebase 結構。這句話我認，因為它講的是速度，不是智商。模型不會替你想產品方向，但它很會幫你把那些重複到讓人想翻桌的東西先鋪好。\u003C\u002Fp>\u003Cp>我最有感的是重複性高的 setup。新 feature branch，routing 要接、表單驗證要寫、loading\u002Ferror\u002Fempty state 要補、component shell 要拉。這些工作不是難，是煩。煩到你很容易把注意力浪費在「把東西打出來」而不是「這功能到底該怎麼長」。如果 AI 能先把骨架弄好，我就可以把腦力留給真正該想的地方。\u003C\u002Fp>\u003Cp>IBM 也提到一種「先做出來，再慢慢修」的思路。我同意，但前提是「慢慢修」真的有發生。很多團隊最會犯的錯，就是把第一版草稿當成半成品真理，然後開始裝忙。結果不是沒有加速，而是把風險往後拖，拖到最後一起爆。\u003C\u002Fp>\u003Cp>所以 vibe coding 最適合的場景很明確：原型、內部工具、demo、驗證想法。你先把東西做出來，讓人看見流程和互動，再決定要不要重做。這比一開始就把每個細節雕到完美，然後發現方向根本錯了，要實際得多。\u003C\u002Fp>\u003Cp>實操上，我會用一句話判斷要不要上 vibe coding：這個任務的最大風險，是「想法不對」還是「系統撐不住」？如果是前者，AI 很適合。若是後者，別鬧了，先別把核心邏輯交給模型。\u003C\u002Fp>\u003Cul>\u003Cli>適合：prototype、internal app、throwaway experiment、UI scaffold。\u003C\u002Fli>\u003Cli>不適合：核心交易流程、安全敏感流程、分散式系統。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>提示詞品質，其實就是需求品質\u003C\u002Fh2>\u003Cblockquote>“The more effective the prompt is, the better the output will be.”\u003C\u002Fblockquote>\u003Cp>這句話很直白，但我還是要講，因為太多人嘴上說懂，手上卻還在丟「幫我做一個好看的頁面」這種空話。提示詞不是魔法咒語，它就是換了介面的需求文件。你寫得越模糊，模型就越會用它自己的預設值補洞。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1779183870377-pbui.png\" alt=\"IBM Vibe Coding 把提示詞變程式碼\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>IBM 給的例子不錯：一個互動視覺體驗，會隨音樂、使用者互動、即時資料變化，還指定 JavaScript 或 React，甚至提到不同 mood 的客製化。這種 prompt 之所以有效，不是因為它長，而是因為它把行為、限制、技術棧都講了。模型最怕的不是複雜需求，是你什麼都沒說，卻期待它懂。\u003C\u002Fp>\u003Cp>我現在寫 prompt，會直接想成在交代一個只會做第一版的外包工程師。我要它知道五件事：做什麼、給誰用、用什麼 stack、要有哪些狀態、哪些東西不要碰。只要這五件事講清楚，輸出通常就會從「看起來很像」變成「我真的能改」。\u003C\u002Fp>\u003Cp>我以前踩過的坑很典型：我只說要做一個表單，結果模型幫我加了一堆自作聰明的驗證與 UI 裝飾，最後我還得先砍掉八成內容。後來我改成先寫清楚輸入、輸出、錯誤狀態、非目標，模型反而更像在幫忙，而不是在亂猜。\u003C\u002Fp>\u003Cp>實操上，prompt 要像規格，不要像心情。你可以直接照這個結構寫：功能、受眾、stack、行為、限制、非目標、交付物。這樣模型才知道自己是在產出哪一層的東西，而不是隨便發揮。\u003C\u002Fp>\u003Cul>\u003Cli>功能描述要可驗收，不要只寫感覺。\u003C\u002Fli>\u003Cli>一定要列出 loading、empty、error、success。\u003C\u002Fli>\u003Cli>最好要求它回傳檔案結構與假設，方便你接手。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>修正階段才是真正的工程\u003C\u002Fh2>\u003Cp>IBM 的四步驟其實很老實：選平台、定需求、修生成結果、檢查後再交付。聽起來像廢話，因為它本來就該是這樣。真正難的不是叫模型吐 code，而是你有沒有耐心把第三步做完。\u003C\u002Fp>\u003Cp>我看過太多人卡在第一版就停了。模型一輸出，大家就開始說「差不多了吧」。差不多通常就是最危險的詞。因為你如果沒有真的檢查結構、命名、邊界、錯誤處理，那你只是把重寫的工作延後，沒有省掉。\u003C\u002Fp>\u003Cp>我自己用 AI 寫 React 小功能時，最常遇到的問題就是 state 分散、component 太肥、命名不一致。這時候我不會直接手工整坨重寫，而是回頭要求模型做更小的切分、抽 helper、把 props 邊界講清楚。這個節奏很重要：先生成，再檢視，再收斂，再重生一次。\u003C\u002Fp>\u003Cp>IBM 也提醒要在部署前 review。這一步不能只看一眼，真的不能。我要看的是正確性、可讀性、依賴數量、錯誤處理、以及模型是不是偷偷塞了我沒同意的假設。AI 很會補假設，而且通常補得很自然，像沒事一樣。問題就在這裡。\u003C\u002Fp>\u003Cp>實操上，我會把 refinement 變成清單，而不是感覺。缺測試就補測試，component 太大就拆，架構太鬆就先要 folder map 或流程圖，再碰 business logic。你只要願意把修正當工程做，vibe coding 才真的有用。\u003C\u002Fp>\u003Cul>\u003Cli>先看結構，再看行為，最後才看美觀。\u003C\u002Fli>\u003Cli>盡量用 targeted edit，不要每次都整份重寫。\u003C\u002Fli>\u003Cli>生成的 code 要小到你能口頭講完。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>IBM 最有價值的提醒，是它直接講限制\u003C\u002Fh2>\u003Cblockquote>“AI simply generates code, but true creativity, goal alignment and out-of-the-box thinking remain uniquely human.”\u003C\u002Fblockquote>\u003Cp>這句我很買單。AI 可以生 code，但它不會替你扛產品目標，也不會替你決定什麼叫合理妥協，更不會在出事時自己去跟老闆解釋。它只是很會產出看起來像答案的東西。\u003C\u002Fp>\u003Cp>IBM 列的限制我覺得都很實在：技術複雜度、code quality、performance、debugging、maintenance、security。這些不是附註，這些才是 vibe coding 真正會撞牆的地方。你在 demo 階段覺得它很神，不代表你有能力把它養到上線後還活著。\u003C\u002Fp>\u003Cp>特別是安全性。IBM 直接提醒，AI 產出的 code 可能被排除在 review 和 security check 之外，這會製造風險。我看過最常見的翻車方式，就是團隊太相信「看起來對」，結果沒人再做一次認真的檢查。這種東西最容易帶著自信上線，然後在最不想修的時候出事。\u003C\u002Fp>\u003Cp>維護也是大坑。模型生成的 code 常常不是按照你團隊的命名、資料夾、測試、lint 規範來寫，它會自己長出一套很順手但很陌生的結構。短期看沒事，三個月後你自己回頭看，會懷疑這到底是不是你家 repo。\u003C\u002Fp>\u003Cp>實操上，我會把 vibe coding 放在 guardrails 裡面，不讓模型定架構，不讓它跳過測試，也不讓它繞過 review。快是快，但快不是理由，快只是前提；能不能長期維護，才是重點。\u003C\u002Fp>\u003Ch2>最適合的場景，是人類主導的快速原型\u003C\u002Fh2>\u003Cp>IBM 把快速原型、問題導向思考、降低風險，還有 voice、visual、text 的多模態輸入都放進來，這一點我覺得很準。因為 vibe coding 最強的地方，從來不是證明工程有多高級，而是幫你更快看見事情長什麼樣子。\u003C\u002Fp>\u003Cp>我比較喜歡把它想成草圖板，不是成品。你先畫出流程、互動、資料流的大概樣子，拿去驗證想法。如果草圖有戲，再進入正式開發。這樣做的好處是，你不會在錯的方向上雕太久。\u003C\u002Fp>\u003Cp>這也是為什麼早期團隊常常會愛上這套方法。因為他們要的是訊號，不是完美。只要能更快知道「這東西有人要嗎」，就值得。你如果還在 pre-product market fit，卻把每個 function 都當成銀行核心系統在寫，那通常是自虐，不是專業。\u003C\u002Fp>\u003Cp>IBM 提到的 \u003Ca href=\"https:\u002F\u002Freplit.com\u002F\">Replit\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fwww.cursor.com\u002F\">Cursor\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Ffeatures\u002Fcopilot\">GitHub Copilot\u003C\u002Fa> 都可以用，但工具不是關鍵，流程才是。沒有 review 沒有測試，最強工具也只是更快把垃圾生出來。反過來說，只要流程有規矩，普通工具也能很好用。\u003C\u002Fp>\u003Cp>實操上，我會在團隊裡明確切一條「vibe coding lane」：只用在 idea、prototype、internal experiment。只要要碰到使用者或金流，就回到正常 engineering review。這樣你才有速度，也才不會把風險假裝不見。\u003C\u002Fp>\u003Ch2>可抄的模板\u003C\u002Fh2>\u003Cpre>\u003Ccode># Vibe Coding 工作流模板（可直接複製改寫）\n\n## 1) 先定義問題\n- 我要做什麼？\n- 給誰用？\n- 解決哪個痛點？\n- 什麼叫做成功？\n\n## 2) 丟給 AI 的 prompt\nBuild a [feature\u002Fapp\u002Fcomponent] for [audience] using [stack].\n\nRequirements:\n- Core behavior: [list]\n- Inputs: [list]\n- Outputs: [list]\n- States: loading, empty, error, success\n- UI\u002FUX constraints: [list]\n- Performance constraints: [list]\n- Accessibility constraints: [list]\n- Security constraints: [list]\n- Non-goals: [list]\n\nDeliverables:\n1. Suggested file structure\n2. Implementation code\n3. Short explanation of key decisions\n4. Assumptions made\n5. Follow-up questions for me\n\n## 3) 第一輪 review 清單\n- 行為有沒有對上需求？\n- 結構是不是看得懂？\n- loading \u002F empty \u002F error \u002F success 有沒有處理？\n- 有沒有測試或至少可測試案例？\n- 依賴有沒有太多？\n- 有沒有安全或隱私問題？\n- 三個月後別人看得懂嗎？\n\n## 4) 精修 prompt\nRefine the code with these changes:\n- [specific change 1]\n- [specific change 2]\n- [specific change 3]\n\nKeep the same stack. Keep the scope limited to these changes. Preserve working behavior unless explicitly requested otherwise.\n\n## 5) 上線規則\n不要把生成的 code 直接丟 production，直到：\n- 人類 review 過\n- tests 跑過\n- 安全敏感路徑檢查過\n- code 不看 prompt 也能看懂\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>這份模板就是我把 IBM 文章拆成可執行版本後，留下來最有用的部分。它的精神很簡單：先把需求講清楚，再讓 AI 產第一版，然後你要真的做 review 和 refinement，不要把「快」誤認成「完成」。\u003C\u002Fp>\u003Cp>原始來源是 IBM 的 \u003Ca href=\"https:\u002F\u002Fwww.ibm.com\u002Fthink\u002Ftopics\u002Fvibe-coding\">What is Vibe Coding?\u003C\u002Fa>。上面關於流程、風險與模板的整理，是我根據原文做的實務化改寫；模板本身是我自己的可複製版本，不是 IBM 原文直接附上的內容。\u003C\u002Fp>","我把 IBM 的 vibe coding 指南拆成可直接上手的流程、限制與可複製模板，讓你用提示詞先做出第一版程式碼。","www.ibm.com","https:\u002F\u002Fwww.ibm.com\u002Fthink\u002Ftopics\u002Fvibe-coding",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1779183875735-m3wz.png",[13,14,15,16,17],"vibe coding","prompt engineering","AI-assisted coding","code review","prototype","zh",0,false,"2026-05-19T09:44:02.030134+00:00","2026-05-19T09:44:02.003+00:00","done","b1aaf2b8-af84-4fc1-9953-5e0e18689a0e","ibm-vibe-coding-guide-turns-prompts-into-code-zh","tools","c68c66d5-fd1a-42c3-be06-29843ec3f7fb","published",[30,31,32],"vibe coding 的核心是先寫提示詞，再讓 AI 產出第一版程式碼","真正省時間的是 boilerplate，不是工程判斷","要把生成、review、refine 做成固定流程，避免直接把草稿當成成品","c3c88dd2-a940-438a-b359-0e5a24562273","[0.00327652,0.01042108,0.0080502,-0.089958616,-0.0022245313,-0.0071658283,-0.021393308,0.0014755683,0.024644323,-0.010006819,-0.027524196,-0.027562298,0.006888203,-0.0072290655,0.14373821,-0.0045973887,0.016456444,0.007388128,0.016314412,-0.012135439,0.014816167,0.03086827,0.013060357,-0.021954289,-0.000730651,-0.0297986,0.016114691,0.033012897,0.04264788,0.0016190843,0.008631187,0.036192022,-0.0051593157,0.018983081,-0.006055232,0.02354653,0.009519179,-0.023306133,0.022409832,0.021351863,-0.0095503,0.001530706,-0.010731312,0.004587566,0.026105365,0.006276339,-0.011404154,-0.02354769,0.011677024,0.04615473,0.0007581418,0.029067794,-0.023393119,-0.15504636,-0.0012171691,0.0051191133,-0.022019517,0.013999552,0.012026669,0.03114659,-0.0048656086,0.02309305,-0.024889126,-0.020869557,-0.016585696,-0.011422261,0.022393793,-0.0059518577,0.0018711886,-0.014543171,-0.01451648,0.0011568198,0.0014435701,-0.04222842,0.0027304345,-0.0065273843,0.0027320802,-0.024197774,-0.017974552,0.03095767,0.005189827,-0.044718474,0.017599607,-0.0034527977,0.005053447,-0.016027723,-0.012479964,-0.0074643358,0.0038090218,-0.009332494,-0.012399656,0.036397867,0.0069920723,-0.021276735,0.014188067,-0.008569508,-0.01719407,0.012232219,-0.00266558,-0.02415296,-0.014702293,-0.031681154,-0.0063652294,-0.012357182,0.022365913,0.019930027,-0.031979542,-0.022991603,-0.0021014558,-0.013203241,0.019750047,-0.040680762,-0.009880119,0.012889114,-0.006028661,-0.12819049,0.0013154255,0.0032397932,0.02570077,-0.0002684278,-0.018103164,-0.011606942,0.002167708,0.027338143,0.00034921046,-0.008797779,0.013200772,0.023999868,-0.004515366,0.024734488,-0.012626615,0.018637288,-0.008241412,0.0039009352,-0.012676877,0.0071599153,0.0043765907,-0.0046279305,-0.021871466,-0.053974185,-0.011157203,0.030478332,-0.011722469,0.0003665714,-0.014283035,-0.019504093,-0.011180463,0.030230103,0.0020685324,-0.03091838,-0.017511267,-0.0048647244,-0.0037647174,0.006243407,0.0018721746,-0.02428287,0.028426947,-0.0010475164,0.001964124,-0.009892513,-0.0029468497,0.0017600106,-0.014896618,0.007133222,0.009914881,0.02982656,0.006114294,0.016124988,-0.014776124,0.019500446,0.023217242,0.004887558,0.008073387,-0.00053877116,0.010452186,0.0047093215,-0.0021569317,-0.021969784,-0.029367398,-0.0027681403,0.021096738,-0.007319445,-0.016793078,0.018954702,0.007119159,-0.0006790465,-0.0053736237,0.015040205,0.017898135,0.02487898,0.005392605,0.015455292,0.025568701,0.0049067517,0.0062386766,-0.020355513,-0.015196023,-0.02212154,0.013050388,0.032393277,0.027074808,-0.01803356,-0.011467107,-0.041089505,0.027164064,-0.021516254,-0.017796459,-0.010977274,0.016495455,0.0019729019,-0.015726104,0.0015388811,0.02493943,-0.007429755,0.012023218,-0.01988041,0.0050220494,-0.033245925,0.019254504,-0.0035355987,-0.0034971433,-0.004787228,0.026509494,0.014234551,0.0037889106,-0.025034841,-0.0051928135,-0.021421213,-0.00087612966,-0.0051151286,0.014497525,-0.01741027,0.0107054785,-0.00042636239,0.0092440145,0.013282337,-0.0005385647,0.023305122,0.009603804,-0.0095422,-0.017637506,-0.01036466,0.010069181,-0.01735448,0.033156566,0.010679081,-0.021481032,0.009013125,-0.014836265,0.0033546935,-0.030168187,-0.017920826,0.010790408,-0.018138787,-0.00038028535,-0.019213207,-0.00829819,0.0013663179,-0.010430416,0.021829467,0.002596257,-0.0032653126,-0.008619698,-0.019456467,0.01755495,-0.0018764578,0.025343413,0.027392475,-0.004219922,-0.01920649,0.0030127552,0.04057838,-0.0061412067,-0.042652223,0.005594127,0.007811252,-0.081423946,0.041882593,0.015711166,-0.02161785,-0.007996016,0.016231997,0.014154272,0.017778888,-0.031855863,0.0076025813,-0.020448208,-0.012656335,0.011000158,-0.00940895,0.016725529,0.0010538538,-0.024858491,-0.017074212,0.009318619,-0.00556364,-0.0135499295,-0.012803109,-0.0069422578,0.0056665624,0.023484815,-0.0155676985,0.035961572,0.038973346,0.003462232,0.009322975,0.0064817336,0.029955968,0.0066221333,-0.0027270804,-0.014603456,-0.021122478,0.043863166,0.021559035,0.0030082695,0.011615653,0.029222265,-0.0038889614,0.02084778,-0.0002768021,-0.017219706,0.0011290875,-0.011512166,-0.0032311783,-0.028545039,0.024152067,-0.004936399,-0.010676317,0.0061314297,-0.020394148,0.0061011515,0.028399786,0.02948312,0.0033851995,0.01936422,-0.011780773,-0.022886721,0.012559205,-0.0041787806,0.008763457,-0.017533185,-0.012197116,-0.018535009,-0.00348539,-0.030727567,0.018302454,-0.000935523,0.0038061952,0.009437161,-0.021081338,0.007486142,0.005748578,0.004266225,-0.010386943,-0.036333207,0.013107036,-0.007042449,-0.00896423,0.017121684,0.007562005,0.005885262,-0.0013279495,-0.0052308454,-0.0002030677,-0.00045225138,-0.016309876,0.0031852513,0.020814769,-0.010537671,0.0025542362,-0.010349739,0.002533243,0.0022001925,-0.0058412678,-0.009056235,0.008822195,-0.013495628,0.007332012,0.0129031055,-0.0005569717,-0.009525281,0.009393687,-0.054241184,-0.007952828,-0.014853916,0.0076089017,0.03303828,0.01890945,0.0072934693,-0.0045489687,0.025372678,-0.013539281,-0.0024314136,0.0070563396,-0.0011478001,0.0039782533,-0.030513754,0.0068507898,0.0018262209,0.0053614653,0.0017520009,0.01072741,-0.020086594,0.019891981,-0.00959515,-0.003222638,-0.006345143,0.0073071206,-0.003174454,0.00260096,0.00040405712,-0.013298575,0.01901992,0.014410839,0.021393739,0.024416937,-0.01111932,0.025850061,0.003140304,-0.005420307,-0.01202321,0.011028445,-0.0058272392,-0.019695966,-0.014618417,-0.038954806,-0.023481663,-0.019899743,0.01691581,-0.0040507675,0.0019796044,0.00043179907,0.008070662,-0.017036846,-0.022348095,-0.0010472024,-0.026871162,0.003734226,-0.022862662,-0.01735826,0.024945362,0.0063001737,0.015241692,0.011762069,0.02185551,-0.018023012,0.005882975,-0.020518119,-0.039829522,-0.0013587527,0.03554179,0.0074440334,-0.006959569,-0.019990984,0.018283632,-0.036840033,-0.0010760792,0.015327857,-0.0068619535,-0.013712178,0.014453211,0.010759753,0.015382463,0.016602904,-0.003640795,0.0291708,-0.005507908,0.008760048,-0.023554282,0.017054746,-0.021241285,0.006050288,0.0022303862,0.012240977,-0.009149078,-0.0073686717,-0.009197849,-0.0072404444,0.0071478677,-0.017068023,-0.01325629,0.015279328,-0.00744572,-0.0050134747,-0.010306856,0.012627372,-0.016091509,-0.02361021,0.0072276336,-0.0044367444,0.025466213,0.03654208,0.01077973,0.009061153,-0.014941294,0.011719644,-0.0026877709,-0.00053920405,0.005034922,-0.01667225,-0.0017395999,-0.01918136,-0.0087901475,-0.036263842,0.007958295,-0.001162302,-0.019125765,-0.0101277465,0.009762934,-0.015391719,-0.0084620295,-0.009502551,-0.010339342,0.027053395,0.008628591,-0.015507131,0.009166645,0.0016351778,-0.0002293102,0.01101804,-0.010754569,-0.016996209,0.00038483937,0.020042405,-0.030250667,-0.019397251,0.029811889,-0.00094683765,0.033359237,0.008363758,-0.02038491,0.023487128,-0.016077925,-0.020901356,0.004670004,-0.011607502,0.0036635622,0.029064767,-0.005664389,0.019671025,-0.011860458,-0.004618697,-0.023585234,0.0012752955,0.010308403,-0.11668774,-0.012879042,-0.004029966,-0.024912588,0.011009611,-0.012489691,0.008812556,-0.0076171607,0.033729605,0.0028929524,0.02464507,0.0019162775,0.012948855,-0.005963425,-0.009023096,0.008705891,-0.008190903,-0.023586366,0.01951379,-0.033176456,0.0020778168,0.018200403,0.0048593627,-0.020852303,-0.017390987,-0.008546246,-0.013466015,-0.011997784,2.2915072e-05,-0.004686164,-0.039903596,-0.00011290078,0.016743613,0.0037240114,-0.019832343,0.020590514,0.025101608,0.0009465911,0.016193012,-0.016906679,-0.010749489,-0.015741928,-0.01821041,-0.014161982,0.0056402753,0.0024309778,0.00035357382,-0.012553746,-0.0006277142,0.010730236,-0.053542458,-0.0314153,-0.010269783,-0.020233525,0.019328197,0.02200144,-0.008658704,0.0041009216,-0.038609494,0.013732036,-0.02739647,0.017160749,0.00069691084,0.018799366,0.002027856,0.011687303,0.019241482,-0.0058048693,-0.002702822,0.008041247,0.01857849,0.008450714,-0.00498788,0.020689905,-0.02029217,0.029280175,-0.012513186,0.035688832,0.003753382,0.0091920225,-0.016699484,-0.0085964305,-0.06807656,-0.017223682,0.00013443675,0.0009564602,0.0072229276,0.0036504148,0.025856243,-0.0064488985,-0.0036931972,-0.008731777,0.0028088551,-0.01118367,-0.019807823,-0.021572707,-0.0069920425,-0.0033169119,-0.03497677,-0.01240461,-0.0084407395,-0.0018046831,-0.0006868306,0.016074369,0.022369364,-0.025199091,-0.013061403,0.0135029685,0.003070909,-0.0051827976,-0.0034170232,-0.009968731,-0.014181485,-0.14374308,-0.03658702,0.005288124,-0.017180543,-1.5586307e-05,0.0073472406,-0.016216425,-0.008282338,-0.014925737,-0.022104548,0.0042780284,-0.043331977,-0.028721035,-0.009250148,-0.0032211079,0.11070323,-0.013707237,-0.002267846,-0.0051308176,0.017426733,-0.004317916,0.0017705866,-0.007507515,0.0022312035,0.018776853,-0.024062445,0.02297101,-0.018133976,-0.002279331,-0.008419952,-0.0052884556,0.023599284,-0.010168532,0.029569788,-0.00018654762,-0.0017629643,0.018085804,-0.020311758,-0.0010554169,0.013308573,0.011269543,0.03744546,0.0026234942,-0.016331263,-0.0058587617,-0.0007405552,-0.023398241,-0.03803161,-0.010026838,-0.014972328,-0.004685375,-0.059807356,0.011882729,-0.017899524,-0.0012616224,0.0041297786,-0.01430883,0.005877026,0.051364996,-0.011904829,0.0047502536,0.002798287,-0.0044065444,0.03132711,-0.029506473,-0.017492091,0.01269644,0.026072714,0.00244383,0.0054269815,0.0063483557,-0.010575796,0.0049994783,-0.00039064093,-0.0049951477,-0.020873783,0.003939169,0.016342487,0.015787996,-0.01966975,-0.006616685,0.0048700175,0.01798784,-0.016578685,-0.014493831,0.026830364,0.01960276,-0.028035648,-0.00051016506,-0.023008142,0.011314628,-0.002181077,0.011600898,0.031060372,0.011486672,0.04622369,-0.008988346,0.034359805,0.008258695,-0.013261116,-0.0016434154,-0.0006974451,-0.013693167,-0.019747017,0.017698877,-0.004361734,-0.021936353,0.01934307,0.022210602,0.0150957145]",{"tags":36,"relatedLang":46,"relatedPosts":50},[37,39,41,42,44],{"name":15,"slug":38},"ai-assisted-coding",{"name":14,"slug":40},"prompt-engineering",{"name":17,"slug":17},{"name":13,"slug":43},"vibe-coding",{"name":16,"slug":45},"code-review",{"id":27,"slug":47,"title":48,"language":49},"ibm-vibe-coding-guide-turns-prompts-into-code-en","IBM’s vibe coding guide turns prompts into code","en",[51,57,63,69,75,81],{"id":52,"slug":53,"title":54,"cover_image":55,"image_url":55,"created_at":56,"category":26},"55c43732-c8a9-4ee1-a373-383fa27a41b4","anthropic-buys-stainless-sdk-tool-rivals-zh","Anthropic 收購 Stainless，SDK 工具進入戰局","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1779180252426-zkmj.png","2026-05-19T08:43:39.377553+00:00",{"id":58,"slug":59,"title":60,"cover_image":61,"image_url":61,"created_at":62,"category":26},"bdb4f000-f70d-47cd-a1c2-4c7262dcfb9f","wembanyama-stat-page-turns-into-recap-zh","Wembanyama 資料頁變成賽後整理","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1779170691970-7pm6.png","2026-05-19T06:04:22.282386+00:00",{"id":64,"slug":65,"title":66,"cover_image":67,"image_url":67,"created_at":68,"category":26},"08d746ba-f428-4078-a652-afeab390810a","webassembly-browser-c-to-wasm-tutorial-zh","瀏覽器裡的 C-to-WASM 教學","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1779168232653-g8lb.png","2026-05-19T05:23:23.991487+00:00",{"id":70,"slug":71,"title":72,"cover_image":73,"image_url":73,"created_at":74,"category":26},"31b9c458-eab8-44fa-b154-502ea8343f10","webassembly-turns-native-code-into-web-modules-zh","WebAssembly 讓原生碼變模組","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1779167068634-g7cy.png","2026-05-19T05:04:01.650875+00:00",{"id":76,"slug":77,"title":78,"cover_image":79,"image_url":79,"created_at":80,"category":26},"eb8ba5dd-3093-4c8e-8625-bfd5f11f3800","zhihu-soft-copywriting-four-tips-zh","知乎軟文教你寫出能賣貨的標題","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1779146044192-aild.png","2026-05-18T23:13:42.179515+00:00",{"id":82,"slug":83,"title":84,"cover_image":85,"image_url":85,"created_at":86,"category":26},"8c6ebfe4-617a-4380-a06b-69b5a80bdde2","github-copilot-app-desktop-agent-preview-zh","GitHub Copilot 桌面代理預覽開放","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1779141829436-mot7.png","2026-05-18T22:03:22.898714+00:00",[88,93,98,103,108,113,118,123,128,133],{"id":89,"slug":90,"title":91,"created_at":92},"de769291-4574-4c46-a76d-772bd99e6ec9","googles-biggest-gemini-launches-in-2026-zh","Google 2026 最大 Gemini 盤點","2026-03-26T07:26:39.21072+00:00",{"id":94,"slug":95,"title":96,"created_at":97},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":99,"slug":100,"title":101,"created_at":102},"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":104,"slug":105,"title":106,"created_at":107},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":109,"slug":110,"title":111,"created_at":112},"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":114,"slug":115,"title":116,"created_at":117},"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":119,"slug":120,"title":121,"created_at":122},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":124,"slug":125,"title":126,"created_at":127},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":129,"slug":130,"title":131,"created_at":132},"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":134,"slug":135,"title":136,"created_at":137},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00"]