當ChatGPT不只是回答你怎麼寫程式,而是直接幫你寫好時,寫程式這件事會變得多簡單?AI Coding在夯什麼?至於最近前特斯拉AI總監提出Vibe Coding的概念,那又是什麼?不會寫程式的人,真的只要用「說的」就能做出App、寫出爬蟲?Vibe Coding 與AI Coding差異?一文完整帶你理解。
AI寫程式是什麼?
AI寫程式(AI Coding)指的是利用AI,協助人們撰寫程式碼,AI具體能做的涵蓋提供語法建議、自動完成、偵錯到直接生成完整程式碼,可能用在解決日常任務,例如自動更新報表、定期爬取資料,也可能應用在專業的軟體開發流程之中。
為什麼AI寫程式蔚為風潮?
AI寫程式之所以變得流行,關鍵在於生成式AI的進展,讓寫程式的門檻同步變低。
角川集團架構師、微軟AI領域最有價值專家(MVP)孫玉峰解釋,對沒有接觸過寫程式的人來說,即便線上課程眾多,程式學習資源也隨處可見,但學習程式、寫程式始終有門檻在。
當AI工具如ChatGPT、Claude出現以後,人們可以用自然語言描述需求,在對話間AI就能「聽懂」,將需求轉化成可以執行的程式碼,大幅降低開發門檻,讓不具資訊與工程背景的人,也有機會利用AI寫程式解決問題。
除了對話式的AI服務以外,整合基礎模型的整合開發環境(IDE),也成為打造應用程式與服務的利器。
以前打開Visual Studio Code、PyCharm以後,程式小白(沒有寫程式經驗的人)常常只能望著螢幕發愣,但現在可以直接在如Windsurf和Cursor與AI模型對話,來回幾次釐清需求,AI就寫好完整網頁與服務,讓開發難度下降了一級。
不僅在開發過程中AI能夠派上用場,學習寫程式時,AI也有妙處。
AI Fund管理合伙人暨DeepLearning.AI創辦人吳恩達(Andrew Ng)本月(3)來台演講時,也向聽眾分享,無論是Google DeepMind,還是他參與創辦的Coursera,都在實驗如何利用AI教導人們寫程式。
「許多學生在學習過程中會遇到困難,像是寫了程式碼,卻不確定為什麼無法運作。」吳恩達表示,過往學生受挫時,可能要向老師或者助教尋求協助,AI助教出現以後,可以立刻解決問題。
他也補充,AI不會直接提供答案,而是給予提示,「就像一位優秀的老師一樣,幫助你學習。」他對於教育現場的進展感到興奮。
誰可以用AI寫程式?程式小白、工程師都能用?
不管是從未接觸過寫程式的人,還是資歷尚淺的工程師,就連有一定開發經驗的工程師,全數都能利用AI寫程式。
程式小白用AI寫程式
以不擅長寫程式的人來說,不管是「只出一張嘴」、將全數工作交給AI,絲毫不管過程的「直覺開發」(Vibe Coding),還是在AI生成程式碼後,認真釐清每份程式碼的意義,AI工具都實現一定程度的科技民主化,讓非工程師也能完成原本需要專業工程師才能完成的任務。
新創Zeabur創辦人林沅霖用「新時代的開發者」,形容這群揮舞Claude和Cursor等工具的人們。「他們還在焦慮,可是這個學習跟成長曲線很快。」在AI的協助之下,他們快速打造出解決方案,把創意轉化為可以運行的產品。
工程師用AI寫程式
對初階(junior)工程師來說,AI的助益不小。除了原本就有、跟著模型進步一起進化的程式碼建議和自動完成功能以外,也有不少工程師放手讓AI生成程式碼,自己在從旁觀察,吸取日月精華,藉此增進自己缺乏的開發經驗。
孫玉峰表示,若直接將完整專案交給初階工程師,上手還是有一定難度,很難自己發想出架構與邏輯。
此時AI剛好可以提供初稿,再讓工程師調整內容,「它可以很快給你一個能動的structure(架構),你再基於這東西上面調整,把一些bug修掉,這件事情本身就會有起到幫助的效果。」
即便是有經驗的工程師,AI也能幫上忙。就像文字工作者把繁瑣、重複性的任務交給AI,資深(senior)工程師也是一樣,AI可以輔助撰寫測試案例、尋找問題,也能快速轉換開發語言,自己省下時間以後,把心力花在設計架構、釐清使用者需求上。
孫玉峰補充,他自己學習新語言時,AI工具就頗有幫助。「我會去研究它的程式碼、跟他pair programming(結對程式設計),知道為什麼它要這樣寫、看這個語言的特色。⋯⋯不管是資淺還是資深,對工程師來說,寫程式變得不只是消耗自己的知識,同時還可以多一些學習。」
AI寫程式工具?Windsurf、Cursor正夯
就AI寫程式想滿足的需求-打造能夠處理問題的解決方案來說,其實ChatGPT、Claude或者Gemini都能完成需求。
這幾款工具背後的模型,包含GPT 4.5、OpenAI o1、Claude 3.7 Sonnet或者Google Gemini 2.0,都在開發任務中得到好成績;工具本身也有Canvas、Artifacts等利於編輯程式碼的功能。
使用者只要清楚描述需求,AI就會產出可以在雲端上或者電腦上運行的程式碼,前者例如Google Spreadsheet上的Google Apps Script,後者例如R、Python程式碼。
不過,跟ChatGPT和Claude協作時,使用者要反覆在網頁和開發環境之間切換,不斷把程式碼貼過去、貼回來,接著跟AI來回確認,最後再手動複製結果,貼回編輯器當中,若專案規模複雜度提升,容易讓人覺得麻煩。
如果想進一步鑽研AI寫程式,可以考慮使用Cursor與Windsurf。
跟直接用ChatGPT或Claude生成程式碼最大的差別在於,AI已經深度整合在Cursor與Windsurf的開發環境之中,不只是回答怎麼寫程式,而是直接寫程式的畫面裡即時協助。
它知道你目前的上下文、看得見你的專案架構,甚至可以幫你跨檔案找出需要同步修改的地方,它可以能主動理解、補齊、甚至提示你可能沒注意到的地方,就像能夠動手幫忙的副駕駛一樣。對照下來,ChatGPT只像是聰明的問答工具而已。
Vibe Coding是什麼?與一般AI Coding有何差異?
創辦OpenAI、曾任特斯拉AI總監的卡帕西(Andrew Karpathy)發明了Vibe Coding「直覺開發」(或譯為氛圍開發)一詞,迅速在開發者之間引爆熱潮。
「有一種全新的寫程式方式,我稱之為『直覺開發』(Vibe Coding)。完全放飛自我,信任AI,甚至忘記程式碼的存在。這一切之所以可行,是因為 LLM(如Cursor Composer搭配Sonnet)已經強大到讓人懷疑人生。」
Vibe Coding看似也是在使用AI工具寫程式,但和一般AI協助開發的最大差異在於,前者把主導權轉移給AI。
平常利用AI工具時,使用者心中多半已有明確的開發目標,只是將實作過程交給AI,重點仍是由人來定義規格、決定架構。而Vibe Coding的想法則是以終為始,「我只要知道我要什麼功能,其他全部交給 AI」,包括架構、語法、檔案結構、甚至命名風格,都讓AI決定。
We're vibing this nice Sunday morning. Added more functionality. Using the approx 3500kcal ~= 1lb of fat, we now show a really cool animated ring that fills up to 3500 in either +/- direction, and completing the circle adds it on the bottom. So e.g. 3 green circles = 3lb lighter,… pic.twitter.com/AJgcbAFztv
— Andrej Karpathy (@karpathy) March 23, 2025
卡帕西本人就分享,儘管他沒有寫過Swift,但透過AI,他還是以Swift開發出能夠追蹤個人卡路里消耗的應用程式,花費大約一小時,就能在手機上運行,這就是直覺開發的好案例。
不過,具有豐富開發經驗的卡帕西也強調,實際開發過程中,他很少完全放手讓AI自行發揮。
「更多時候,我會採取漸進式的迭代方式:先審查AI生成的程式碼,確保邏輯正確,再一步步加入複雜度;同時透過持續提出釐清性的問題,慢慢釐清模組之間的互動關係。」若有經過這樣相對嚴謹的流程,就不算在直覺開發的範疇。
直覺開發的開發過程,不再以寫程式為核心,而是透過對話、引導和探索,打造出解決方案。即便不熟悉程式語言、不知道怎麼替函數命名,只要持續和AI互動、微調指令,功能就會慢慢變得完整。
與其說Vibe Coding在寫程式,不如說使用者在鞭策AI創造產品。
Vibe Coding可能帶來的長遠影響是,開發變得更即興、更像創作,開發者可能從一段對話開始,隨著想法流動,接著AI給出建議,整個產品樣貌就在過程中浮現。
這種模式不只會改變工程師,也可能改變設計師、創業者、甚至整個產品開發的文化。
無論是讓AI輔助Coding,還是放手Vibe Coding,都有一定風險不可不慎。
但可以確定的是,寫程式不是任何人的專利, 人人運用AI Coding的時代,已經到來。