現在這個充滿GPT開箱的年代,做什麼實測都感覺落伍。不過我覺得本文這兩個實測,即便不是最新穎,也算是方便且有益於生產力。
工作中,對我來說最困難的事情,就是快速量產。這裡寫兩個使用ChatGPT的案例,一個是寫作,一個是寫程式。後者是我的工作,我讓GPT融入我日常工作。
而下面二個實例,純展示結果。主要是為大家快速知道一些應用,最後面,我也會總結一些使用上的想法和概念總結。實例中有程式,但不用會寫程式也能理解。
實作一、寫文章
在Google Sheet中加入擴充功能,就可以在試算表使用ChatGPT。
我的目標是用他編寫特定文章的段落/小節。
下截圖中,第一個欄位是prompt,即指令。希望他用繁體中文寫出文章,就是一例。欄位B是作為短文的關鍵字。以這個範例來說,所使用的關鍵字是跟剪輯影音有關的小知識。
欄位C就是生成的短文內容,只要下一個GPT函數,把指令跟關鍵字做為參數輸入,就能生成該內容。最後的欄位D則是小標。
這個嘗試目標是,根據大家感興趣的關鍵字、或是在某一領域中的重要詞彙,量產小短文。必須承認,內容本身沒什麼洞見,純粹像小科普。但對於想分享輕量型知識當產品部落格的內容,算是不錯的幫手。
如果想寫更長的文章,當然也有
一些方案可以支援寫作部落格文章,和電子郵件。
實作二、寫程式──不用懂程式,也能懂程式
當然,做為一個RD人員,需要寫程式也是很合理的。但很不幸,有個工作要寫很多的規則,這些規則幫助我們從一些複雜的文字,抓取自己需要的部分。
此時,我有很多不同編排形式的字串,而我只想要這些文字串中的某一部分。正則表達式就是關鍵技術,掌握這些變化多端的字串之中的通用型規則,抓取我要的那一部分。
〈之一〉
例如有一個字串
"\nMax. 10"
我意思是,我只想要那串文字中,最後的那個數字,而後ChatGPT便給了我以下程式碼,其中,那個傳說中的正則表達式,就是 r'\d+'。
就算不懂細節也沒關係,只要知道這規則能幫我從範例字串﹝"\nMax. 10"﹞,或是類似的形式﹝如"\nmin. 10"﹞中,抓到最尾巴的那個數字﹝10﹞。
整串程式碼的意思是,按照上述表達式去search字串﹝text﹞,就能找到我要的東西。
執行,成功!以下的幾個小嘗試也一樣,不用理解程式碼的細節,只要按照此題的邏輯去理解就好。
〈之二〉
顯然難度可以再提升。我想讓他抓複雜一點的文字結構。我有一個很長的檔案名稱,如以下
'\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t붙임2. ITB_입찰안내서(KOSPO-COAL-2023-ELT01)_.docx\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t'
而我只想抓出粗體的那個docx,其他的我都不要。於是詢問:
程式如上,給是給出來了,但執行結果卻不如我預料。我要 docx,但執行下來卻得到 _.docx。原因是,他回傳的規則
r'\b(\w+\.docx)\b'
完全沒考慮到,docx前面還有底線 “_” 的存在。
於是要求他修正一下結果,如下:
修正前: r'\b(\w+\.docx)\b'
修正後: r'\b(\w+\_.*\.docx)\b'
細看規則中多了一個底線!實測後,這條表達式的確能幫我抓出docx字樣。
〈之三〉
我也有粗暴一點的玩法,因為我那堆檔案命名非常混亂,尾綴有的是doc,有的是docx;有的前面還有底線”_”,有的又沒有。就全部列舉,混在一起問,叫他為這坨東西,寫一個通用的表達式
精華部分如上圖,用橘黃螢光色畫起來的地方,就是正則表達式。根據此表達式就可以因應上述4種不同的檔案名稱,抓出其中的檔案類型doc或docx。
問好問題
雖然是成功了,但我其實也問了好幾次才拿到想要的程式碼。有時候多一點,有時又少一點,就是沒辦法只抓到doc或docx。
所以,最後我才想,如果能確定檔案名稱就那幾種,那不如一次列舉出來,然後直接說明自己預期要獲得的東西。
不同的陳述,就會導致不同產出。怎麼問問題,在人與AI之間的互動也是值得深究的課題。題外話,我們有很多唾手可集的資訊和工具,但我們對組織出問題卻比較少著墨,如果教人問出合適的問題,我想一定是非常有價值的。
小結語
這只是工作中的幾個實用,確實幫我省下很多思考與測試程式的時間。寫作的部分,也很期待在未來,ChatGPT用在文章主題的查找甚至撰寫的成果。
回到程式,他雖然programming的能力很好,但也不是完全不會錯,要讓他跑出預期結果,問好問題還是首要任務,也要知道他的答錯時是錯在哪。才能進一步修正自己的提問。
以上就是兩個示範,跟一堆延伸小範例。雖然看到很多人、很多不同花樣玩ChatGPT,但自己實用過一次,才更感覺他實力驚人。雖然對於他統整資訊,寫作列點式之式短文的能力,沒有很意外,但他能夠寫出能用的程式,確實挺讓我吃驚。
沒錯,也正因為ChatGPT是一個通用型語言模型,這個複雜工程的產品不再只是某特定領域的專家,而是在多種領域也有一定的應對能力。也是他所能應答的主題非常廣泛,所以才有那麼多種的實測開箱。
ChatGPT系列文之二,竟然就這樣被我用實測寫文章和寫程式帶過了。下一篇文,也就是系列文的最後一篇,我會寫ChatGPT的限制、後續AI應用的可能性,以及﹝目前我所能想到的﹞人最有價值的地方。