使用生成式 AI 的底層邏輯

何謂 AI 槓桿工具

有用槓桿:AI 真正放大工程師價值

身為工程師,我深刻體會到「有用槓桿」的本質,就是善用 AI 工具來放大自己的產能與專業價值。這不只是單純地「用 AI」,而是讓 AI 成為你專業能力的倍增器。具體來說:

  • 提升效率:像是用 Agent mode 協助重構、測試、文件撰寫,AI 能自動化繁瑣重複的工作,讓我能專注在架構設計、問題分析等高價值任務。
  • 擴展能力邊界:透過 Felo、Dia 等 web search AI 工具,能快速學習新領域知識。例如我曾用 AI 查詢「賭博成癮者多巴胺影響」,發現不僅贏錢時會產生快感,連輸錢時也因預期心理產生多巴胺,這種跨領域知識的獲取變得前所未有的高效。
  • 降低門檻、加速實現:利用 v0、Bolt.new、Loveable 等工具,能快速進行 Vibe Coding、驗證想法,讓初學者也能產出可用成果,資深工程師則能更快原型設計。
  • 專業知識疊加:AI 是放大器,真正的價值來自工程師本身的專業判斷。像我會用 AI 探討重構想法,尋找更好的做法,但始終保持批判性思維,不盲信 AI。

實例分享

  • 用 AI 自動生成 API 文件、單元測試,節省大量重複勞動。
  • 利用 AI 協助 debug、重構舊有程式碼,提升維護效率。
  • 在專案初期用 AI 快速產生原型,讓團隊能更快進入實作階段。

無用槓桿:AI 成為效率黑洞或技術債來源

反之,「無用槓桿」則是表面上用了 AI,實際卻沒帶來產能提升,甚至產生反效果。常見情境包括:

  • 產出品質不佳:AI 生成的程式碼充滿 bug 或技術債,工程師反而花更多時間修正。
  • 過度依賴、失去思考:只會照單全收 AI 產出,卻不了解背後原理,導致專案可維護性下降,個人能力也停滯不前。
  • 錯誤應用場景:將 AI 用在不適合的任務(如複雜架構設計),結果反而增加溝通與驗證成本。
  • 工具即答案的迷思:誤以為「有 AI 就能解決一切」,忽略專業判斷與流程設計,結果工具成為負擔。

實例分享

  • 用 AI 生成大量程式碼,卻沒時間審查,導致專案後期維護困難、bug 頻傳。
  • 新人只會用 AI 寫程式,卻無法解釋設計原因,遇到問題時無法獨立解決。
  • 在 AI 無法勝任的領域(如高併發、分散式架構)強行套用,結果產出無法用的解法。

LLM 的本質:機率模型下的不可預期回應

LLM 本質的機率性與推理限制

LLM(大型語言模型)本質上是機率模型,生成過程充滿隨機性。即使給定明確且優質的 prompt,回應仍會受到隨機採樣、內部權重分布、訓練資料偏誤等多重因素影響。

  • 隨機性:同一個 prompt,多次詢問 LLM 也可能得到不同答案。
  • 推理能力有限:LLM 擅長模式擬合而非嚴格推理,遇到複雜或多步驟問題時,容易出現不一致或錯誤。

沒有給予足夠的 context(如 prompt、reference),LLM 就像穿越時空來到現代的金魚腦,無法準確解決你的問題。

Prompt 工程的現實挑戰

  • Prompt 並非萬能:即使 prompt 很明確,LLM 也可能因知識盲點、語境理解偏差而無法給出理想答案。
  • 需要迭代與互動:與其追求「完美 prompt」,不如先用簡單 prompt 試探,根據回應再逐步調整,這是一個互動、迭代的過程。
  • 模型差異:不同 LLM(如 GPT、Claude、Llama)即使面對相同 prompt,也會因訓練資料、架構不同而產生不同結果。

實務建議

  • 善用思維鏈(Chain-of-Thought)等進階技巧:引導模型一步步思考,提升正確率。
  • 反覆測試與優化:持續調整 prompt,快速判斷回應品質。
  • 結合外部工具或知識庫:對於 LLM 無法處理的複雜推理,可結合外部 API、資料庫輔助。

開發上如何有效避免幻覺

1. 善用高品質、權威資料來源

  • 選擇可靠知識來源:讓 LLM 回答時參考權威、經過驗證的資料(如官方 API 文件、專業知識庫),多寫 Readme 讓 AI 有資料可查。
  • 結合外部知識庫(RAG 技術):將 LLM 與企業內部資料、專業文件結合,顯著降低幻覺發生率。

2. 明確、具體地設計 Prompt

  • 精確描述需求:像 cursor rules 一樣,描述專案樣貌或團隊開發習慣,讓 AI 產出減少幻覺。
  • 限制回答範圍:要求模型只根據提供資料回答,若無資料請回答不知道。
  • 指定格式或範本:要求 LLM 依照指定格式、欄位、步驟作答,減少自由發揮空間。

3. 增加驗證與審查機制

  • 人工審查關鍵輸出:團隊 code review、husky、lint 等機制,避免 AI 一直挖坑。
  • 多模型交叉驗證:同一問題用不同 LLM 或 prompt 詢問,對比結果。
  • 自動化測試與靜態分析:AI 生成程式碼時,結合單元測試、Lint 工具等自動化檢查。

4. 提升團隊 AI 素養與使用文化

  • 教育與培訓:讓團隊了解 LLM 局限與幻覺風險,培養批判性思維。
  • 建立回饋機制:鼓勵工程師主動回報 AI 產生的錯誤或幻覺,持續優化 prompt 與應用流程。
  • 制定 working agreement:commiter 就要對 code 負責,不要都推給無辜的 AI。

5. 其他技術性建議

  • 限制模型自由度:調整 temperature、top-p 等參數,降低隨機性。
  • 定期更新與優化資料集:確保訓練資料新穎且多元。
  • 明確定義 AI 角色與責任:AI 只負責輔助、建議,最終決策仍由人類工程師把關。

AI 幻覺是 LLM 應用無法完全避免的現象,但工程師可以透過「資料把關、精確 prompt、人工審查、團隊教育」等多層策略,大幅降低幻覺對產能與品質的負面影響。善用這些方法,才能真正發揮 AI 的產能槓桿,同時守住專業底線。

選對模型與工具

Windsurf 的開發者們對於模型的看法

3.7. Sonnet:
這個模型主動且自信,但有時候會做得太多。儘管如此,它通常被認為是最有能力的。
「3.7 就是非常有行動力,總是很積極地想用工具、做事情。我寧願去阻止一個過於積極的模型,也不想費力去引導一個不夠積極的模型。」

Gemini 2.5 Pro:
適合需要乾淨、結構化回應的任務。
它比 Claude 3.7 沒那麼主動,但更穩定,也比較不會產生無關或重複的程式碼。
「它的程式碼品質和 Sonnet 3.7 差不多,但更穩定一致。」

3.5 Sonnet:
最適合用於除錯、工具使用,以及範圍明確的重構,當專注於明確任務比創意更重要時。
它很少偏離主題,總是能穩定地維持在嚴格的範圍內。
「它讓我對編輯有更多掌控權,而且總是能精準地把握好範圍。」

GPT-4.1:
當你想要速度與可靠性兼具時最適合。它傾向於在編輯前先規劃一個方案。
而且比大多數模型更能處理較長的檔案。
「它會在執行前先產生一個計畫,而其他模型則是直接動手做,然後才告訴你計畫。」

Cascade Base:
用於快速、低複雜度的任務。它速度快,非常適合小型、獨立的編輯,當深度推理不是重點時特別理想,而且是免費的!
「它很快,處理小事情時通常都能搞定。」
你都用哪些模型?你同意這些開發者的看法嗎?你最喜歡用哪些模型來工作?

用目的選工具達到有用槓桿

  • 提升效率:使用 Windsurf、Cursor 的 Agent mode 協助開發重構、測試、文件撰寫
  • 擴展能力邊界:Felo、Dia 之類的 web search AI tool,快速學習新領域知識
  • 降低門檻、加速實現: v0, Bolt.new, Loveable 快速 Vibe Coding 快速驗證想法
  • 專業知識疊加:使用 Windsurf、Cursor 的 View mode 探討重構想法,並尋找更好的做法

Referrence