最近跟不少工程師朋友聊,發現大家對 AI 寫扣,欸不是,是輔助寫扣這件事,態度蠻兩極的。有些人覺得是神器,有些人覺得是個很會唬爛的實習生,花時間修它產的 bug 還不如自己寫比較快。我自己是覺得,這東西真的不是魔法,比較像是一把很強的瑞士刀,你得知道什麼時候該用哪個工具。
老實說,2025 年的現在,AI 已經能做到很多事了:寫出能跑的 code、幫你 review PR、生測試案例,甚至分析 log、做架構設計... 基本上你想得到的它好像都能碰一點。但問題是,大部分人因為沒有一套方法,用起來就很挫折。
重點一句話
別把 AI 當成一個「幫你寫更多行 code」的工具,而是把它當成一個「在不犧牲品質的前提下,交付更多功能」的夥伴。關鍵在於「駕馭」它,而不只是「使用」它。
所以 AI 到底有幾種?先搞懂你的工具箱
在我們談「怎麼跟 AI 合作」之前,得先理解一下這傢伙腦子裡到底在想什麼。你不用懂到什麼深度學習的數學啦,但至少要有一個概念,才知道它的極限在哪,才不會老是聽到它跟你說:「啊,您說的對,我完全錯了!」然後氣到中風。
簡單說,AI 不是靠「理解」來跟你對話,它是靠「機率」。你給它一串字 (tokens),它把它們變成一堆數學向量,然後去猜下一個最可能出現的字是什麼。「email」跟「message」的向量很像,所以它可能會根據上下文隨便挑一個給你。
它沒有長期記憶,除非你把資料塞給它。所以每次對話,你給的「上下文 (Context)」就是它的全世界。這個 Context 有多大,就決定了你能塞多少東西給它。有些模型像金魚一樣只有幾秒記憶 (幾千個 tokens),有些則像大象,可以記住整本小說 (上百萬個 tokens)。
這就帶到一個重點了:不是所有 AI 模型都一樣。就像你的開發團隊裡,有專門做前端的、有專門弄後端的、也有專門嘴砲的...呃不是,是專門做架構的。AI 也是分工的。
GenAI (創意產生型)
這就是大家最熟的 ChatGPT、Claude、Gemini 這類的。你叫它寫文案、寫程式、想點子,它都很會掰。很適合用來做一些有創意但需要結構的工作,比如寫使用者故事、重構程式碼讓它變好讀。但缺點就是,它有時候太「熱心」了,不懂也會裝懂,也就是我們常說的「幻覺 (hallucinations)」,很容易一本正經地胡說八道。
DeepSearch (增強搜尋型)
這種 AI 不太會「創作」,但超會「找資料」。你把它跟你公司的文件庫、程式碼庫或是一些內部資料庫接在一起(這個技術叫 RAG),它就能變成一個超懂你家業務的萬事通。很適合拿來做內部的 FAQ 機器人、或是自動化客服。不過呢,自己架一套 RAG 系統有點複雜,而且資料品質要夠好,不然它也是找不到東西。
DeepThink (進階推理型)
這種就是 AI 界的資深架構師了。你丟給它複雜的演算法問題、系統設計、Bug 分析,它能一步一步推導給你看。像 Anthropic 的 Claude Opus 或 Google 的 Gemini Pro 就很擅長這個。但缺點是,有時候會有點囉嗦,解釋得太多,而且你需要給它非常精準的指令,不然它也不知道從何想起。
開源/本地端模型 (自己動手型)
像是 Mistral、LLaMA 3 這些,最大的好處就是可以完全跑在你自己電腦上。資料絕對不會外洩,想怎麼玩就怎麼玩,甚至可以拿你自己的程式碼去微調 (fine-tuning) 它,讓它變成最懂你專案的形狀。當然啦,天下沒有白吃的午餐,它們的性能通常比不上雲端的巨頭,而且安裝跟設定需要一點 DevOps 的技能。對了,還有你的電腦要夠力...不然跑起來會想哭。
怎麼做:把 AI 從實習生調教成資深同事
好的,既然知道 AI 有這麼多種,那要怎麼跟它們好好溝通?關鍵就在「提示工程 (Prompt Engineering)」。一個好的 Prompt,可以把 AI 從笨手笨腳的實習生,變成能跟你並肩作戰的夥伴。
結構化你的 Prompt,別再瞎聊了
別再直接丟一句「幫我寫個登入功能」給它了。一個專業的 Prompt 應該要像一份正式的需求單,至少包含這幾塊:
- 角色 (Role): 你希望 AI 扮演誰?「你是一位專精 TypeScript 的後端架構師。」
- 上下文 (Context): 這是最重要的一塊。把相關的程式碼片段、規格文件、錯誤訊息都貼給它。
- 目標 (Objective): 明確告訴它要做什麼。「修正這個函式,但不要改變它的商業邏輯。」
- 限制/格式 (Constraints/Format): 告訴它產出的規則。「保持嚴格的型別檢查」、「用 JSON 格式回覆」、「解釋你做了哪些修改」。
我自己很愛用 Markdown 的註解方式來組織,AI 似乎也比較能抓到重點:
## CONTEXT
...這裡貼上你的程式碼或文件...
## OBJECTIVE
...告訴它具體要做什麼...
## CONSTRAINTS
...使用的語言是 Python 3.9、請遵循 PEP 8 規範...
## FORMAT
...請用表格方式呈現修改前後的對比...
還有個小技巧,我自己是用一個叫 `Espanso` 的文字擴充工具,設定一個快捷鍵,比如 `:promptgpt`,就能直接叫出這個模板。超方便,團隊用起來風格也統一。
學幾招進階的溝通技巧
有時候,只給一個結構化的 Prompt 還不夠,特別是處理複雜問題時。這時候可以試試一些更進階的技巧:
- Few-Shot Prompting: 與其解釋半天,不如直接給它幾個「範例」。比如,「這是三個寫得很好的 PR,請用一樣的風格來 review 這一個新的 PR。」效果通常比你用文字描述風格好得多。
- Chain of Thought (CoT): 在你的指令最後面加上一句魔法咒語:「Think step by step before giving a final answer.」(在給出最終答案前,請逐步思考)。這會強迫 AI 把它的思考過程也寫出來,對於需要邏輯推理的任務,準確率會提高不少。
- ReAct (Reason + Act): 這招更猛,是 CoT 的進化版。你直接命令它「先思考,再行動」。例如:「## 問題:如何優化這段腳本? ## 思考:先分析邏輯 -> 找出重複的部分 -> 提出更好的結構。## 行動:提供重構後並加上註解的程式碼。」這對建立自動化 AI Agent 特別有用。
挑對戰場:你的開發環境準備好了嗎?
工欲善其事,必先利其器。光會下指令還不夠,你的開發環境也得跟上。
現在很多 IDE 都內建了 AI 功能。說真的,這比你一直切換視窗去問 ChatGPT 有效率多了。這裡比較一下幾個 2025 年比較紅的 AI-first IDE。
| 工具 | 一句話點評 | 適合場景 | 個人覺得的缺點 |
|---|---|---|---|
| Cursor | 老實說,這傢伙就是個 VSCode 的魔改完全體。AI 整合得超暴力,直接內建 GPT-4/Claude。 | 重構、寫測試、自動生成文件,基本上是全能型選手。 | 有時候感覺比純 VSCode 稍微笨重一點點,但功能換來的,值得。 |
| Windsurf | 另一個 VSCode fork,但走輕量快速路線。跟 Claude 3.5 整合得不錯。 | 快速迭代、做點小 prototype,工作流程很順。 | 處理那種跨很多檔案的大型複雜專案,感覺就沒 Cursor 那麼給力。 |
| Claude Code | 這不是一個真正的 IDE,更像一個讓你跟 Claude 聊超大程式碼庫的網頁工具。 | 整個 repo 丟給它,叫它做架構審查、寫文件摘要,超強。一次可以讀差不多一百萬 token,很扯。 | 不能直接執行或編輯,就是個純聊天的分析師。 |
| Cline | 一個很新的 AI-first IDE,你可以直接用自然語言叫它「幫我用 Go 蓋一個微服務」。 | 當成一個超強的 Pair Programming 夥伴,很適合從零開始蓋東西。 | 還很年輕,生態系跟穩定性可能還要再觀察一下,但潛力蠻大的。 |
| JetBrains Junie | 嗯...怎麼說呢,官方出的,但感覺有點雷聲大雨點小。 | 適合拿來 demo 或寫寫非常簡單的 code。 | 整合得有點慢,對大專案不太給力。我自己是覺得可以先觀望... |
說到這個,法國有一個開發者社群叫 `AI-Driven Dev`,他們整天就在實驗這些東西,分享很多實戰經驗。不過對大部分人來說,還是先從 OpenAI 或 Anthropic 官方文件看起最快。官方文件會教你很多 Prompt 的基本功,而社群則會有很多「野路子」的奇招,兩邊都看看蠻有幫助的。
風險與應變:別讓 AI 變成你的豬隊友
AI 很強大,但也很危險。特別是資安跟隱私問題。
千萬記得,絕對不要把任何敏感資料,像是客戶數據、API keys、公司內部的商業邏輯,直接貼到公開的 ChatGPT 或類似的雲端服務上。天曉得它會不會拿去訓練下一代模型,或是哪天被駭客挖出來。
怎麼辦呢?
- 建立內部政策:公司內部要有一套明確的規範,告訴大家什麼可以問,什麼不行問。
- 優先使用本地模型:如果處理的資料非常敏感,優先考慮用前面提到的本地端模型。雖然比較麻煩,但至少心安。
- 善用知識庫:與其把整個專案的 code 貼上去,不如建立一個 `KNOWLEDGE.md` 檔案。裡面只放「非敏感」的資訊,比如架構圖連結、程式碼規範、API 文件 (Swagger) 的位置等等。當你要問 AI 問題時,先把這個知識庫的內容餵給它,讓它在有「背景知識」的情況下回答,而不是把機密原始碼丟給它。
這就像你要請一個顧問,你不會把公司所有帳本都給他看,但你會給他看財報摘要跟市場分析報告。是同一個道理。
常見錯誤與誤解釐清
最後整理幾個我常看到大家在用 AI 時會犯的錯。
- 誤解一:把 AI 當成搜尋引擎。 AI 不是 Google,它會「創造」答案而不是「尋找」答案。所以它給你的函式庫名稱或 API endpoint 很有可能是它自己發明的。一定要去驗證!
- 誤解二:一個模型打天下。 就像前面說的,不同模型有不同專長。你不會叫一個創意文案去解演算法,對吧?搞清楚你的任務是需要「創意生成」、「資料搜尋」還是「邏輯推理」,然後選對模型。根據 `Artificial Analysis` 的報告,如果是需要策略思考的,Claude 3.7 Sonnet 或 GPT-4o 表現很好;如果是純寫扣,Mistral 的 Devstral 或 Yi-Coder 可能更適合。
- 誤解三:Prompt 越長越好。 不是的,Prompt 的重點是「精準」跟「清晰」,不是長度。塞太多不相關的資訊,反而會干擾 AI 的判斷,讓它抓不到重點。
- 誤解四:AI 可以取代資淺工程師。 我覺得這完全是錯的。AI 反而是資淺工程師的超級加速器。它可以幫你快速學習、看懂資深同事寫的複雜程式碼、給你重構建議。但它不能取代你的「判斷力」跟「產品思維」。
總結來說,AI 現在就是一個開發者的「認知義肢」。它延伸了我們的能力,幫我們處理掉很多雜事,讓我們可以更專注在真正重要的事情上——也就是打造出好產品。學會駕馭它,你會發現寫程式這件事,變得比以前更有趣了。
換你動動腦了:在你日常的開發工作中,你覺得最重複、最想丟給 AI 處理的任務是什麼?是寫單元測試?寫文件?還是 code review?在下面留言分享你的想法吧!
