GPT溝通技巧

把自己當產品經理,GPT寫的程式就不用一直debug

這篇文章從語言模型本質切入,解釋GPT生成的程式碼可能語法正確卻邏輯有漏洞,原因多半是需求描述不夠完整。我建議把GPT當成生成程式碼的協助者而非主要開發者,並提出四個溝通技巧:用完整流程描述取代單點需求、明確定義資料格式、要求附上測試函式、把錯誤訊息直接貼給GPT重寫。文末給新手一套三句話框架,把想要達成的任務、資料來源與判斷結果的方式講清楚,就能大幅減少反覆除錯的次數。
把自己當產品經理,GPT寫的程式就不用一直debug

把自己當產品經理,GPT寫的程式就不用一直debug

你將學到什麼

用流程描述取代單點需求

先登入再抓資料最後寫入Excel,比寫一個抓資料的程式更明確,GPT對流程描述更敏感。

明確定義資料格式

想要JSON還是List of dict要講清楚,最好附上範例格式讓GPT照著做。

把自己當產品經理

不需要會寫程式碼,但要能定義目標、規格與預期結果,這是減少除錯的第一步。

環境限制要說清楚

Python版本、作業系統、套件限制都要交代,GPT才不會給出執行不了的程式碼。

昨天 ChatGPT 生活運用 有一篇爆文,就是昨天我分享的那個截圖,想用GPT寫爬蟲但一直失敗。

先釐清一下概念,ChatGPT本質上是語言模型,而語言模型的本質是生成式預測,不是驗證推論,所以產生的程式碼可能在語法結構上是正確的,但在邏輯上存在漏洞,特別是一些邊緣情況或複雜邏輯下會更容易出錯。

再者,如果上下文不完整、需求不夠明確,它就可能做出的上下文解讀的錯誤假設,然後就生成了錯誤的邏輯或無效的程式碼。

所以你要用ChatGPT來寫程式,可以,但更合適的角度是把ChatGPT當作是生成程式碼的協助者,而不是主要開發者。也就是說,它的主要目標是幫你加快開發速度,而不是直接產出可上線的最終產品。

但,回到正題,ChatGPT也不是寫不出正確的程式碼,只是你需要一些指令技巧,特別是你得像個程式架構師一樣的去跟GPT溝通才可以。

① 用流程來描述,不是只講出你的單點需求

ChatGPT 對「邏輯流程」很敏感,描述過程流程,比只說功能來得更清楚。

例如:「先登入 → 再抓資料 → 最後寫入 Excel」比「寫一個登入抓資料的程式」更明確。

② 明確定義變數與資料格式

要它輸出 JSON?還是 List of dict?如果可以就給它範例格式,它會照著做。

③ 要求加測試資料或測試函式

如果你不想寫完之後發現一堆Error,想更快驗證結果?直接加一句:「請一併寫出測試函式」,這樣就會讓它自動幫你 mock 出資料做測試。

④ 讓它當你的 Debug 助理

首先你得知道你的程式需要debug,但沒事,如果終端機跑出一堆錯誤訊息,你就知道有地方需要de一下啦!

如果你程式有錯,不用重貼整段 code,只要說「錯誤:(貼上局部的code)」就可以了,GPT會重寫一段code讓你複製貼上到原有的檔案內。

所以到底GPT可以幹嘛?

至少我用過的是它可以寫出邏輯正確、模組分明的程式架構,可以快速補足你還不熟的語法細節,可以協助除錯跟追蹤錯誤來源,可以組合出跨模組、跨領域的完整流程,當然也可以整合成可部署的 Web、API、資料報表、通知系統。

那GPT不能幹什麼?

它不會自動知道你要幹嘛,所以你要會具體描述目標與輸出格式。

它不會通靈發現你環境的限制(像是你磁碟路徑、封鎖 API),所以你要會閱讀錯誤訊息,要能回報狀況。

它模擬的是最常見做法,不是最終最佳化,所以你要會自己調整邏輯與參數。

怎樣才可以不需要debug?

這怎麼說呢,你大概都是需要debug的,但你可以從90%需要debug或重寫,變成只剩下5%不太重要的部分需要debug。

這裡的關鍵是你要扮演「產品經理」,而不是「委託代工業者」,所以你不需要會寫 code,但一定要會定義目標 + 規格 + 預期結果啊。當你是一個合格的產品經理時,你的提問就已經是好提問,這是不用debug的第一步。

然後你在描述時,輸入條件&資料格式都要講清楚說明白,比如:

我有一份 CSV 資料包含欄位:title、views、likes。

我想要:

1. 讀入資料(用 pandas)

2. 篩選出 likes > 100 的文章

3. 按照 views 排序後輸出成 Excel

請使用 pandas + openpyxl 寫出完整程式,檔案路徑用變數 path 指定。

這樣,懂?

還有什麼可以減少debug機率的技巧嗎?

有喔!你要把使用場景跟環境限制講清楚啊!

好比你用的是哪個 Python 版本號?不同版本號會有語法不相容的問題呀!

你用的是 Windows 還是 macOS?這兩者的路徑寫法完全不同誒,甚至有些操作,像是crontab也不同,所以你要說清楚。新手大概初期最容易撞牆的就是這一段,GPT不知道你的環境是啥,所以給了一組你執行不了的代碼,debug也會一直處於雞同鴨講的狀態。

然後你有沒有限制不能用某些套件?不能用 selenium?不能開瀏覽器?公司有連網限制?抓資料時要用 proxy?API有token限制?這些你都要講清楚,不然GPT寫下去,然後你這也不行那也不行,根本來浪費算力的你。

那小白新手到底該怎麼開始?

首先,小白新手不要去碰Codex,你在那邊撞牆的次數會更高啊!

你在GPT裏面,至少清楚的講好以下三件事,差不多就可以幫你做出一個像樣的玩意了。當然你還是需要debug,但會比你鬼打牆三天三夜來得快多了。

① 我想要______(你要達成的任務,不用管程式名稱)

② 我的資料來源是____,格式是____。

③ 我想看到____,或____,來判斷結果正確。

例如:我想要抓 PTT 八卦板的文章列表,我的資料來源是 https://xxx 用 requests 抓 HTML 分析文章標題和推文數。我想看到印出前 10 篇的文章標題和推文數,也可以存在 Excel。請幫我寫一段完整的程式碼。

*****我是分隔線*****

當然啦,如果你有程式概念,直接用Codex來操作會更快速喔!

#這個寫給小白新手看的

#附圖是一部分指令技巧

本文原發表於 2025/07/04 的 Facebook 貼文,原文照登,僅調整網頁排版;文中提及的產品、價格與活動以當時為準。

繼續追蹤酒Ann想看更多 AI 系統、工具實測、品牌方法與生活觀察,歡迎前往 酒Ann 的 Facebook

延伸學習

把這篇文章分享給需要的人FacebookLINEThreadsX

常見問答

為什麼GPT寫的程式常常需要修改?
因為語言模型的本質是生成式預測而非驗證推論,如果需求描述不完整,就容易在邊緣情況或複雜邏輯下產生錯誤。
新手該怎麼開始跟GPT溝通寫程式?
可以套用三句話框架:想要達成的任務、資料來源與格式、以及想看到什麼結果來判斷是否正確,逐步練習描述需求。