在教學的過程中,
我看過許多人以為 AI 會讀心術或通靈。
於是問了一些沒頭沒腦的問題,
最後得出一個結論:「AI 很笨,根本沒辦法幫上什麼忙」
這就像一個外國人說:
「你們的粽子很好吃,可是外面生菜太硬了!」
啊你就完全搞錯了啊!XD
我們下面就針對「請 AI 寫一個程式/功能」的情境,
來看幾組好問題與壞問題的對比。
案例 1:Excel 自動填寫
模糊不清的壞問題:
「我想自動填寫 Excel 表格,該怎麼寫程式?」
利用 CO-STAR 框架提問:
上下文 (Context):我有一個 Excel 表格,裡面包含了客戶資料。我希望能透過一個 VBA 程式,根據客戶的購買記錄,自動填寫對應欄位,例如「上次購買日期」和「總購買次數」。
目標 (Objective):我想寫一個 VBA 程式,從另一張表單抓取數據並填入主表格的相關欄位,避免手動操作。
風格 (Style):請用簡單易懂的方式解釋,並附上註解的程式碼片段。
語氣 (Tone):語氣應該是耐心且指導性的,適合初學者理解。
受眾 (Audience):我對 VBA 有基本了解,但不熟悉從其他表單提取數據的操作。
響應 (Response):請提供一個 VBA 程式範例,並解釋如何修改以符合不同的需求。
案例 2:Google Sheets 計算總和
模糊不清的壞問題:
「我想寫個程式來計算 Google Sheets 中的總和,要怎麼做?」
利用 CO-STAR 框架提問:
上下文 (Context):我正在使用 Google Sheets 來記錄日常花費,我希望能寫一段 Google Apps Script 程式,自動計算特定範圍內的花費總和,並將結果顯示在工作表中的特定單元格。
目標 (Objective):我需要一個 Google Apps Script 程式,可以選擇特定範圍內的數字,並自動將總和填寫到指定的單元格。
風格 (Style):請以初學者能理解的方式寫出程式,並加入註解說明每個步驟。
語氣 (Tone):語氣應該是鼓勵性且清晰的,讓我能一步步學習。
受眾 (Audience):我是初次接觸 Google Apps Script,對 JavaScript 有基礎理解。
響應 (Response):請提供程式碼範例,並說明每個步驟的用途和效果。
案例 3:檔案下載功能
模糊不清的壞問題:
「我想要實現一個檔案下載功能,程式要怎麼寫?」
利用 CO-STAR 框架提問:
上下文 (Context):我正在開發一個網站,使用 Flask 作為後端,前端是 Vue。我想實現一個功能,讓用戶可以點擊按鈕下載伺服器上的 PDF 檔案。
目標 (Objective):我希望能知道如何寫 Flask 後端和 Vue 前端的程式碼,以支持這個下載功能。
風格 (Style):請以開發者能快速理解的方式提供解答。
語氣 (Tone):語氣應該是直接且技術性的,便於快速實作。
受眾 (Audience):我有基礎的 Flask 和 Vue 開發經驗,但不太清楚如何實現文件下載的後端和前端交互。
響應 (Response):請提供 Flask 和 Vue 兩部分的程式範例,並解釋它們如何協同工作。
案例 4:自動化電子郵件發送
模糊不清的壞問題:
「我要怎麼寫程式來發送電子郵件?」
利用 CO-STAR 框架提問:
上下文 (Context):我正在用 Python 開發一個小型應用程式,需要自動化發送電子郵件。這些郵件內容基於一個 Excel 檔案中的數據,如客戶名稱和訂單狀況。
目標 (Objective):我希望知道如何使用 Python 的 smtplib
庫來發送電子郵件,並從 Excel 中動態抓取郵件內容和地址。
風格 (Style):請使用簡單的 Python 程式範例,並附上關於每個步驟的說明,讓我可以靈活修改。
語氣 (Tone):語氣應該是清晰且詳細的,特別是在如何從 Excel 獲取數據這一部分。
受眾 (Audience):我有一定的 Python 經驗,但從未嘗試過發送郵件和從 Excel 提取數據的整合操作。
響應 (Response):請提供一個完整的程式範例,並包含如何連接 Excel 和發送郵件的步驟。
案例 5:網頁表單驗證
模糊不清的壞問題:
「我要怎麼寫一個表單驗證程式?」
利用 CO-STAR 框架提問:
上下文 (Context):我在開發一個基於 React 的網頁應用程式,表單中包含用戶名、電子郵件和密碼。我想實現一個前端表單驗證功能,來檢查這些欄位的有效性,例如電子郵件格式和密碼強度。
目標 (Objective):我希望知道如何在 React 中寫一個表單驗證功能,檢查用戶的輸入是否符合要求。
風格 (Style):請用 React Hooks 的方式解釋,並包含簡單明瞭的程式碼範例。
語氣 (Tone):語氣應該是教學性的,適合初中級 React 開發者學習。
受眾 (Audience):我有基礎的 React 知識,但對於表單驗證的最佳做法還不是很熟悉。
響應 (Response):請提供具體的程式碼範例,並解釋每個驗證規則的實現方式。
蛤 怎麼問個問題也這麼麻煩
看完上面的問題對照,
有人說「怎麼那麼麻煩?問個問題還要打這麼多字……」
第一,你可以不要用打字、改用說的。ChatGPT 的語音辨識已經做得非常成熟了。
第二,你可以慢慢等腦機介面成熟,到時候直接用想的,既不用打字也不用講話。
但話說回來,
最累的事情既不是打字也不是講話,
最累的其實是思考。
而思考是免不了的。
不過值得慶幸的是,
你培養出來的思考能力,是可以用一輩子的,
是不會過時的。
好好地思考,好好地提問,
絕對可以讓你的工作效率飛速提升。
當你熟練於問出關鍵且有效的問題,
不只能寫出你要的自動化程式,
在工作的其它面向,你也會更知道怎麼請 AI 幫你做事。
AI 不笨也不聰明,
它就是一個工具。
就看用它的人能不能發揮它的價值了。
講完提問的框架與技巧,
下一個單元開始,
我們會連續觀摩好幾個不同的自動化案例,
都是我或我身邊的人實際使用到的。
我想任何人都可以從這些案例中,
找到一些自己可以做的自動化靈感!
下一篇:
《零基礎快速入門:GenAI 搭配 Google Apps Script 的工作自動化寶典》Chapter 4-1 真實案例:自動寄送個人化信件