一、 ChatGPT如何改變工作 在AI科技大爆發的現在,ChatGPT確實帶給我們方便,也改變了我們的工作。這些改變包含: 1. 快速地提供答案:我們以往在遇到不懂的問題時,都習慣請Google大神替我們尋找解答。但現在我們只要學會如何問對問題,ChatGPT就可以比Google更快速地回答我們工作上遇到的問題,替我們省去大量時間。 2. 自動化的流程:對於程式設計師來說,以往寫程式時必須整天坐在電腦前,常常一天就這樣過去了。而透過使用ChatGPT等AI軟體為我們簡化撰寫程式的時間,讓程式開發的效率大大提升。 3. 更多的創造性工作:ChatGPT也可以幫我們消除工作上瑣碎的任務,使我們將更多時間投入於有意義和具創造性的工作。 4. 增強的溝通:ChatGPT幫助我們更有條理地組織我們的想法,提高了我們的溝通效率與品質。 二、 ChatGPT如何協助我們工作 因為我本身為程式設計師,因此接下來我想和大家分享ChatGPT可以如何協助大家工作,提高工作的效率。 1. 技術問題解答:身為工程師的我們,可能在工作時會遇到一些技術上的挑戰或疑問。例如,AI機器人可以24小時讓我們問問題,而且大多都可以提供有效的解決方案。不過,我們必須學會如何問對問題,讓AI提供的資訊更貼近我們的需求。 2. 代碼審查和優化:我們在寫程式時,有時候會有些錯字,我們可能需要花大量的時間糾錯。因此,如果我們需要對程式的代碼進行審查或優化,就可以將該代碼片段發送給ChatGPT,請它幫助我們檢視代碼中的錯誤或改造性能。 3. 開發建議:如果我們需要在開發過程中取得建議,ChatGPT也可以用來提供我們相關的建議。 4. 文件編輯和校對:如果我們有需要處理文書方面的需求,像是編輯和校對文件,我們也可以將文件發給ChatGPT,請它幫忙協助我們進行校對、修正錯誤、改造文法和結構等工作。 5. 研究和資料收集:如果需要進行研究或資料收集,但時間有限或無法找到相關資源,可以提供問題或主題給ChatGPT,也可以找到相關資訊並提供摘要。但ChatGPT也有可能會產生問題或提供錯誤資訊,這部分就需要靠大家去嘗試和判斷了。 6. 翻譯:作為工程師,我們的許多資料來源都會是英語資料,所以之前我們都會告訴同學要習慣閱讀英文資料。但現在ChatGPT可以提供我們相較於Google更準確的翻譯,所以也可以利用ChatGPT的翻譯功能,請它協助翻譯文章。 7. 改寫:如果有時候我們覺得自己 寫的程式或文章不太通順,這時我們就可以請ChatGPT協助我們改寫,讓程式碼更加簡單精準。但ChatGPT生成的東西偶爾會出現中國大陸用語,此時就可以請機器人使用台灣用語寫。 8. 擬定合約:如果客戶有需要請我們提供合約,但我們也不是專業的法務時,我們也可以請ChatGPT協助我們擬定合約。我們只要將規則清楚地輸入ChatGPT,例如維護合約中的維護範圍、超出範圍的報價等,AI就可以替我們產生出一份合約(如圖1)。為了瞭解產出的合約是否符合標準,我們也曾經請客戶將ChatGPT產生的合約給法務人士看,結果是沒有問題的。所以也鼓勵大家有什麼特別的需求,都可以利用ChatGPT試試看。 圖 1:請ChatGPT協助產生的開發合約。 三、 ChatGPT在程式開發上的應用:Debug、寫Regex、寫測試、寫程式、讀程式碼、重構程式碼 1. Debug:在寫程式時若發現有問題,我們可以將程式碼上傳到ChatGPT上,請他幫我們偵錯,並提供正確的程式碼(如圖2)。 圖 2:使用ChatGPT找出程式碼的漏洞。 2. 撰寫正規表達式RegExp:在學習寫程式的過程中,學會如何撰寫正確的正規表達式是一個需要長時間的學習過程。現在透過ChatGPT就可以幫我們快速地寫出正規表達式,縮短工作時間,且對於偶爾才需要撰寫正規表達式的工作者也很也很有幫助(如圖3)。 圖 3:利用ChatGPT協助撰寫正規表達式。 3. 檢查IPv4:當我們需要檢查IPv4時,也可以請ChatGPT協助設計一個正規表達式以檢驗IPv4(如圖4)。 圖 4:利用ChatGPT生成檢查IPv4 的正規表達式。 4. 利用ChatGPT寫測試:可以給AI一個簡單的function,請AI機器人幫忙做測試,ChatGPT就會跑出測試的過程並提供結果與範例,提供我們參考(如圖5)。 圖 5利用ChatGPT測試函式。 5. 寫程式:以往Google的出現,使我們學習撰寫程式的門檻降低,AI的發明更讓許多人有機會學習程式撰寫。不過,我們必須掌握以下5個要點,ChatGPT產生符合我們需求的程式。 (1) 詳細說明:提供ChatGPT清晰且具體的說明,寫得愈詳細清楚,機器人愈可以產出符合我們需要的程式。 (2) 上下文訊息:如果有上下文相關的資訊,我們也可以將其提供給AI,讓他更好理解需求,並提供更準確的答案。 (3) 單一指令:如果我們詢問AI許多個問題時,很有可能AI只會針對單一問題回應,所以我們也必須提供單一指令,再一步一步地往下問,以避免機器人混淆指令的狀況發生。 (4) 格式化程式碼:如果需要AI幫助撰寫程式碼,也可以提供程式碼片段請AI協助撰寫。 (5) 追加問題:如果有多個相關問題或需要進一步解釋,只要明確指區需要進一步解釋哪個部分,就可以請AI提供連貫的回答。 最後,也要提醒大家,雖然ChatGPT降低了學習寫程式的門檻,但我們仍需具備基本的程式設計知識,再以ChatGPT輔助,才能真正提高我們的工作成效。 6. 讀程式碼:我們也可以將程式碼直接貼在與ChatGPT的對話框中,在告訴它利用這段程式碼想要達到的目的、遇到的問題,或者希望ChatGPT特別關注的特定部分。 7. 重構程式碼:當ChatGPT產生程式碼後,也可以請它幫忙重構程式碼,以提高程式碼的可讀性和效率。而且機器人也會告訴我們它重構的原因與邏輯,以幫助我們將程式碼變得更簡潔易讀。 四、 ChatGPT在程式開發的相關工具 1. GPT Mate:這是一款適用於Figma和FigJam中的GPT寫作助手,這款軟體可以幫助我們編寫、編輯和改寫文本,並產生出逼真的文案。我們只要在Figma和FigJam中安裝Plugin,但必須注意要先申請API才可以使用。GPT Mate會根據使用者輸入的文本生成相似內容,並提供多個選項提供選擇。我們也可以持續編輯和改寫內容,完善我們的文案。 2. GPT Stylist:此款軟體也是Figma的Plugin,可以用來生成樣式。點開軟體之後可以選擇模板選擇自己想要什麼顏色,或者自訂想要使用的色彩元素及數量供我們使用。 3. Regex AI:此軟體可以協助我們生成正規表達式。以生成製造身份證字號的正規表達式為例。我們只要輸入一些身分證字號,讓AI了解想要生成出的成果規律,生成正規表達式。 圖 6輸入多組身分證字號讓AI找出規律,並生成正規表達式。 4. SQL Chat:此款軟體需要花錢但也有提供免費的額度,ChatGPT應該也可以產出SQL(如圖7)。自己會寫很重樣,機器人可以簡短需要花的時間。 圖 7利用ChatGPT也可以協助生成SQL。 5. 客製化你的ChatGPT:要客製化自己的ChatGPT時,我們必須先申請一個自己的API。有興趣的朋友,可以進入我的網站(https://tools.wingzero.tw/ai/relevant/chatgpt)嘗試各種不同的ChatGPT相關的其他軟體。 五、 ChatGPT與GitHub Copilot的介紹與實際操作 最後和大家分享現在熱門的程式設計軟體Copilot。這是一種AI程式碼工具,它以OpenAI與GotHub上的原始碼為基礎,可以在我們寫程式時依照內文給我們相對應的程式代碼預測和建議。Copilot也可以與Visual Studio Code、PhpStorm等程式開發工具整合,學習我們的代碼風格與文件結構,在根據我們提供的內容給予開發或修正建議。因此當我們後端資料庫越多,準確率也就愈高。另外,Copilot相當厲害的一點為,它還可以觀察並理解我們對代碼的更改,再據此產生更好的程式設計建議。 六、ChatGPT的侷限性 雖然ChatGPT相當方便,但也有其侷限性。第一,因為ChatGPT的質量依賴於大數據,需要訪問大量的用戶訊息和數據,因此會涉及道德和隱私問題。第二,ChatGPT只能處理其先前處理過的資訊,不能脫離這些範圍。最後,現在是AI大爆發的時代,若我們不斷排斥學習AI,就可能會被時代淘汰,所以我們必須去學習如何正確使用ChatGPT來協助我們的工作與生活。 【若想回顧完整版課程影音,請點選此連結。】