iT邦幫忙

2026 iThome 鐵人賽

DAY 29
0

聯繫我

如果有任何問題或建議,歡迎隨時聯繫我:

前言

「我不會寫程式,但我做了一個網站。」

這句話在幾年前是吹牛,現在是事實。你描述你要什麼,AI 給你一個能跑、能看、能用的網站。這件事我完全支持——把「做東西」的門檻降下來,是這個時代最好的事情之一。

但今天要講一件比較掃興的事:門檻沒有消失,它只是搬家了。

它從「你做不出來」搬到了「你做出來了,但你不知道自己漏掉了什麼」。

而這兩種卡關有一個要命的差別:第一種會擋住你,第二種會放你過去。

目錄

天數 主題 描述
Day 1 Claude 模型怎麼選?2026 最新四階模型完整比較 Fable 5 / Opus 5 / Sonnet 5 / Haiku 4.5 的定位、規格與適用場景
Day 2 Claude 的計價邏輯:搞懂 input / output 為什麼差 5 倍 不背數字,理解計價結構,建立可長期沿用的成本直覺
Day 3 不知道用哪個模型?官方建議「從 Opus 5 開始」背後的思維 為什麼預設起手不是最便宜、也不是最強的那個
Day 4 Claude Haiku 4.5 適合做什麼?便宜模型的正確用法 便宜模型不是次等品,是專用工具
Day 5 Claude context window 是什麼?1M token 到底能塞多少東西 用實際檔案量換算,破除「塞越多越好」的迷思
Day 6 Claude 模型選擇決策表:一張圖判斷你該用哪一個 把前五天濃縮成一張可以貼在螢幕旁的決策流程
Day 7 Token 是什麼?為什麼你的 Claude 帳單比想像中貴 從 tokenizer 原理理解中文為什麼特別燒錢
Day 8 Claude 省 token 的 5 個實用技巧(一般使用者也適用) 不寫程式也能立刻套用的五個習慣
Day 9 Prompt Caching 是什麼?讓重複內容只算 10% 費用 快取寫入與命中的計價邏輯,以及什麼時候會虧
Day 10 Claude Batch API 教學:非即時任務直接省一半費用 用時間換金錢,非同步任務的正確打開方式
Day 11 新世代 tokenizer:同樣的中文為什麼變貴了 Claude 4.7 世代換了 tokenizer,這對中文使用者的實際影響
Day 12 對話越長越燒錢?Claude 長對話的成本陷阱與解法 每一輪都重算全部歷史——以及三種切斷成本累積的做法
Day 13 Claude 用量怎麼監控?成本失控前的預警機制 從 usage 欄位到 Console 儀表板,把帳單變成可觀測系統
Day 14 Claude effort 參數是什麼?五個檔位該怎麼設 low / medium / high / xhigh / max 的取捨與實測建議
Day 15 Adaptive Thinking 是什麼?為什麼你不用再寫「think step by step」 模型自己決定何時思考,舊 prompt 技巧為何失效
Day 16 Claude 回答變淺了?檢查這兩個隱藏設定 排查思路:先看 effort,再看 thinking 設定
Day 17 Claude Prompt 寫法教學:官方最佳實踐的骨架 一個可以套用在 90% 情境的 prompt 結構
Day 18 用 XML 標籤讓 Claude 輸出更穩定(結構化輸出教學) 為什麼 Claude 特別吃 XML,以及怎麼設計標籤
Day 19 System Prompt 怎麼寫?角色設定的正確姿勢 system 與 user 的分工,以及「你是一位專家」為什麼沒用
Day 20 Claude 幻覺怎麼防?降低錯誤輸出的實用做法 引用來源、允許說不知道、把驗證寫進流程
Day 21 Claude Code 是什麼?安裝與第一次使用完整教學 從安裝到跑完第一個任務,含常見卡關點
Day 22 Claude Code 省 token 設定:別讓它讀完整個專案 CLAUDE.md、忽略規則與 context 控制的實戰配置
Day 23 MCP 是什麼?把外部工具接進 Claude 的原理與實作 Model Context Protocol 的設計哲學與一個可跑的範例
Day 24 前端如何呼叫 Claude API?Messages 端點入門 第一支 API 請求,以及為什麼不該在瀏覽器直接呼叫
Day 25 Claude 串流輸出(Streaming):打造即時回應體驗 SSE 事件流解析與前端逐字渲染
Day 26 Claude API 錯誤處理與重試:正式環境該注意什麼 429 / 529 的正確退避策略與冪等性設計
Day 27 模型分流(Model Routing)是什麼?別再一支模型用到底 依任務難度動態選模型的判斷邏輯
Day 28 LLM 成本優化架構:小模型前置分流 + 大模型收尾 一套可落地的分層架構與失敗處理
Day 29 Vibecoding 做出網站之後:AI 不會主動告訴你的那些事 門檻降低的是「做出來」,不是「做對」——怎麼問出你不知道要問的問題
Day 30 Claude 使用總整理:模型、成本、設定一次看懂 全系列濃縮成一份可以收藏的速查表

一、AI 只回答你問的問題

整篇最重要的一句話,先講在前面:

AI 只回答你問的問題。你不知道要問什麼,那個問題對它來說就不存在。

你說「幫我做一個會員登入」,它給你一個會員登入。能註冊、能登入、能登出,畫面還挺好看。整件事花你十分鐘。

它做錯了嗎?沒有。它完全照你說的做了。

問題在於,「一個會員登入」這句話裡,藏著一整包你沒說出口的假設:這個系統會公開上線嗎?會有多少人用?存的是不是個資?有沒有人有動機來搞它?——這些問題的答案會徹底改變該怎麼做,但你一個字都沒提。

而 AI 不會追問。它預設你知道自己在要什麼。

這件事我們在 Day 6 講過一個縮小版:那個叫「出事就升級」的反模式——結果不好就換更貴的模型,換完好像真的變好了。當時的結論是,更強的模型之所以有效,常常是因為它會自己補完你沒寫清楚的意圖,問題被掩蓋而不是被解決。

Vibecoding 是同一件事在整個產品層級發生。差別只在於,這次被掩蓋的不是一段程式碼的品質,是你對整個系統該長什麼樣子的無知

它補得了「常見做法」,補不了「你的情境特有的風險」。 而後者恰恰是你最需要幫忙、卻最不可能開口問的部分——因為你不知道它存在。

二、不會報錯,才是最危險的地方

傳統學程式的路徑,其實藏著一個很少人感謝的好處:它會不斷打你臉。

語法寫錯,它報錯。邏輯有問題,測試不過。效能爛,頁面卡住轉圈圈。每一次失敗都在逼你補上一塊你原本沒有的知識。這個過程很痛,但它有一個關鍵特性——回饋是即時的,而且是強制的。

Vibecoding 的路徑沒有這個機制。網站跑起來了、按鈕會動、資料存得進去、朋友點進去說「哇你好強」。所有你看得到的訊號都在說「成功了」。

而安全問題最麻煩的特性正是:它平常完全不影響功能。

一個權限沒設好的資料庫,跟一個設好的資料庫,在你自己測試的時候表現一模一樣。你點進去看得到自己的資料,功能正常,畫面漂亮。你不會知道別人也看得到你的資料——因為你只會用「自己的帳號」去測。

這就是整件事最違反直覺的地方:

沒有收到錯誤訊息,不代表沒有錯。只代表這個錯不會用錯誤訊息的形式通知你。

它會用別的形式通知你。可能是某天早上的一封信,可能是一張你看不懂的帳單,可能是使用者在社群上的截圖。而那些形式的共同點是——等你收到的時候,已經來不及了。

三、幾類「功能正常但有洞」的典型

以下不是攻擊教學,是上線前檢查清單。每一項的共同點都是:你沒說,所以它沒做——而不是它做錯了。

項目 為什麼 AI 不一定會幫你想到 怎麼自我檢查
金鑰放在前端 你要的是「能跑」,放前端確實能跑 打開瀏覽器開發者工具的 Network 分頁,看請求標頭裡有沒有你的金鑰(Day 24 完整講過)
資料存取權限 AI 不知道你的業務規則裡「誰該看到誰的資料」 用另一個帳號登入,試著讀取第一個帳號的資料,看擋不擋得住
沒有流量限制 你沒說這會公開上線,它就當作是你自己用 想像有人每秒打你的 API 一百次,會發生什麼事?(帳單的部分見 Day 13)
錯誤訊息太詳細 開發時你要詳細錯誤才好除錯,沒人會提醒你上線要關掉 故意輸入錯誤的資料,看回傳的訊息有沒有吐出檔案路徑、資料表名稱、內部細節
第三方服務的預設值 很多服務預設開放,是為了讓你開發時不卡關 逐一檢查你接的每個服務,預設設定是「方便」還是「安全」

看出這張表的共同結構了嗎?

每一列的「為什麼」,都不是 AI 的錯。 它們全部是「在你沒有提供的資訊下,AI 做了一個合理但不適合正式上線的預設選擇」。

它預設你是在自己電腦上玩。而你預設它知道你要上線。兩個預設剛好錯開,中間那個縫隙就是洞。

四、怎麼問,才問得出你不知道要問的事

前面講了一堆問題,這節是解法——而且是你今天就能用的。

核心動作只有一個:把提問方向反轉過來。

  • ❌ 「幫我做一個 X」——你在要一個結果
  • ✅ 「這個 X 會怎麼壞?」——你在要一份清單

三個可以直接複製貼上的 prompt:

① 列舉盲點

這是我要上線的功能:[描述你的功能]

請列出我「應該檢查、但初學者常常不知道要檢查」的項目。
針對每一項說明三件事:為什麼危險、我怎麼確認自己有沒有中、以及怎麼修。

② 上線前的設定差異

這個專案目前是開發階段的設定。
如果要正式上線給真實使用者用,有哪些設定必須改?
特別列出那些「開發時方便、但上線後會變成風險」的設定。

③ 防禦性審查

請以資安審查的角度檢視這段程式碼,
指出如果它公開上線,哪些地方會成為風險。
只需要指出問題與修正方式,不需要示範攻擊手法。

這三個 prompt 有一個共同的設計:它們都在明確要求 AI 講出你「沒問到」的東西。

這正是 Day 20 那招的反向操作。Day 20 教的是「允許 Claude 說不知道」——給它空間承認不確定,能大幅降低幻覺。今天這裡是同一個機制的另一面:給它空間指出你的疏漏。

兩件事的原理完全一樣:你必須主動創造那個空間,否則它預設就只會回答你問的那一題。

五、Vibecoding 不是原罪

平衡一下,免得這篇讀起來像在酸人。

我不是要你回去手刻。 快速把一個想法變成能點、能展示、能收到回饋的東西,這件事的價值是真的。過去要驗證一個點子得先花兩個月做出來,現在一個下午就能知道這個方向有沒有搞頭——這是實實在在的進步,不該被唱衰。

問題從來不在「用 AI 做」,在**「做完就以為結束了」**。

所以請把這兩件事分清楚:

Prototype(原型) Production(正式上線)
目的 驗證想法可不可行 服務真實使用者
可以接受 髒程式碼、只有一條路走得通、有洞 以上全部不行
有什麼在線上 你自己的時間 別人的資料、你的帳單、你的信譽

Vibecoding 在第一欄是神器。危險的是把第一欄的產出,直接搬去第二欄用。

而這個搬移通常不是一個決定,是一個沒有決定——你做完原型,覺得還不錯,就順手發出去了。中間沒有任何一個時刻,有人問你「等等,這東西準備好了嗎?」

那個問句得由你自己補上。

六、它答得很有自信 ≠ 它答得對

最後一件事,是關於怎麼聽 AI 說話。

AI 有一個容易讓人放下戒心的特性:它不會用「我不太確定」的語氣講話,除非你要求它這麼做。

所以你會拿到一段讀起來非常篤定、結構完整、術語準確的答案。而那份篤定,跟它對不對,沒有任何關係。

這跟人不一樣。人講到自己不確定的地方,會有訊號跑出來——語速變慢、加上「應該是」「我記得好像」、眼神飄一下。你聽得出來。AI 預設沒有這些訊號,全程一樣穩。

養成一個習慣:

「它講得很順」不能當作「它講得對」的證據。

越是重要的決定——會影響資料、影響金錢、影響使用者的那些——越要回頭查一手來源。這不是不信任 AI,是理解它的輸出特性:流暢度跟正確性,是兩個獨立的東西,只是它們給你的感覺很像。

本篇自我挑戰

  • 今日挑戰:挑一個你用 AI 做出來、而且已經公開或準備公開的東西,把第四節那三個 prompt 各跑一次。

    重點不是看它給出什麼答案,是數一件事:有幾項是你完全沒想過的? 那個數字就是你目前的盲區大小。我自己第一次跑的時候是四項,其中兩項我看完才知道那是問題。

  • 反思:為什麼「做出來了」的成就感,這麼容易蓋過「這東西安全嗎」的警覺?

    我的答案是——做出來是看得見的,安全是看不見的。 你會為看得見的成果感到驕傲,也只會為看得見的問題感到焦慮。而安全問題在爆掉之前,永遠是看不見的那一類。你有沒有其他「因為看不見,所以一直沒去處理」的事?

總結

門檻降低是好事,但降低的是「做出來」的門檻,不是「做對」的門檻。這兩件事被很多人混為一談。

三個帶得走的重點:AI 只回答你問的問題——你不知道要問什麼,那個問題就不存在;沒有錯誤訊息不等於沒有錯,安全問題的特性正是它平常完全不影響功能,等它用別的形式通知你就來不及了;把提問方向反轉,從「幫我做 X」改成「這個 X 會怎麼壞」,主動要求它講出你沒問到的部分。

而 Vibecoding 本身沒有錯。錯的是把原型當成成品——那通常不是一個決定,是一個沒有人提出的問句。

本日關鍵字回顧

  • AI 只回答你問的問題:未被提問的需求,對模型而言等同不存在,它不會主動追問你的前提。
  • 沒有回饋訊號:安全問題平常不影響功能,缺乏傳統開發中「報錯逼你學」的即時回饋機制。
  • 功能正常但有洞:多數風險來自「你沒說,所以它沒做」的預設落差,而非模型執行錯誤。
  • 反轉提問:從要求結果(做一個 X)改成要求清單(X 會怎麼壞),主動創造指出疏漏的空間。
  • Prototype vs Production:兩者可接受的品質標準完全不同,最大的風險是「沒有決定」地把前者當後者用。
  • 流暢度 ≠ 正確性:AI 預設不帶不確定訊號,篤定的語氣不能當作正確的證據。

明天是最後一天。我們把 30 天的內容濃縮成一份可以收藏的速查表——模型、成本、設定,一次看懂。

Day 30,全系列總整理。


上一篇
【Day 28】LLM 成本優化架構:小模型前置分流 + 大模型收尾
下一篇
【Day 30】Claude 使用總整理:模型、成本、設定一次看懂
系列文
Claude 用得對,也用得省:工程師帶你搞懂選模型、Token 優化與底層邏輯30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言