更新於 2023/05/18閱讀時間約 5 分鐘

如何讓ChatGPT產出更精確的答案 — 淺談Prompt Engineering (一)

Working with AI - by Midjourney
Working with AI - by Midjourney
當下最火紅的 ChatGPT 每個人,幾乎大家都有聽過,也不少人真的拿來使用拿來玩,不知道你是怎麼去使用ChatGPT的呢? 有些人喜歡會拿來做角色扮演,有些人把煩惱的事情丟給ChatGPT來問答案,有些人找ChatGPT聊天,也有不少人很認真地去思考該怎麼利用ChatGPT來把工作上的事情做好。我就天天在思考到底怎樣利用AI讓我的生活可以過得更輕鬆 (目前從結果來看似乎是變得更忙碌了,因為AI的東西真的學不完呢)
ChatGPT初用之下真的很讓人驚艷,但是時常使用的人就會發現太過複雜的東西或是需要高層次判斷的複雜工作,很難就這樣的把所有的問題一股腦丟給ChatGPT就能得到正確的回應,究竟我們要怎麼去讓 ChatGPT產出令人滿意的好答案呢? 這就是時下最流行的Prompt Engineering了, 既然AI助手是一問一答,那麼要得到好的答案,就要先給好的問題,沒有明確而精準的問題,AI怎麼知道你想要得到的解答是什麼呢?
在AI的術語之中,給AI的輸入問題叫做Prompt,而問出對AI來說好的問題,或是給AI精確的指示這門技術就叫做Prompt Engineering ,這跟寫程式一樣,是需要靠學習以及練習的,但是最大的差別就是,你不需要特別去學習這個程式語言,因為類似ChatGPT這樣的大型語言模型的輸入就是所謂的Natural Language 也就是你一開始就會的語言。這對我們這些年紀稍微大一點或是從來沒有學習過程式語言的非電資相關科系的人來說真是一大福利呢! 因為進入所謂Prompt Engineering 的門檻大大的降低了,只要願意學習,每個人都可以讓AI替你完成工作,或是打造讓自己工作效率提升的工具。
我們來淺談一下這個Prompt Engineering的基本,也就是怎麼問出好的問題。 這篇先來談四個我們應該要記好的步驟。 1. 先設定AI助手該扮演的角色 2. 明確的告知你要給AI助手的TASK (想要完成的事情) 3. 明確的告知你希望AI助手產出的格式 4. (optional) 如果希望更正確的產出,不妨請AI助手一步一步來,確保產出正確。
4 steps of using ChatGPT
然後也跟各位說明一下,我個人的習慣是用英文來給Prompt,因為根據測試英文給指令其實有機會得到比較高品質的回答。但是各位當然也可以用中文給指令,ChatGPT的語言能力很強的真的不用擔心。
首先是第一項,明確設定AI助手該扮演的角色,這可以非常有效的提升產出的品質。如果你希望ChatGPT幫你做很完美的翻譯,那麼就應該跟他說灌迷湯說你是很棒的翻譯者,如果你希望他幫忙發想Marketing ideas那應該要說他是Marketing genius…,可以很明確地看到,有設定好角色,真的可以更容易得到你想要的結果!
再來第二項當然就是交付工作了,這一點大家都會,給予指示的時候當然是要越明確越好,這樣AI才不會隨便發揮隨便亂想。想想各位應該都有上過基礎的管理課程,目標設定應該要Follow SMART法則對吧? S.M.A.R.T原則之所以叫做〝Smart〞,因為它代表著目標設定的五個重要元素: 明確性(Specific) 、 可衡量(Measurable) 、 可達成(Achievable) 、 相關的(Relevant) 與 有時限的(Time-bound) 。其實跟ChatGPT交付任務也是一樣的,明確而可衡量的目標設定,是非常重要的一環,而當然在這邊或許我們可以比較不需要考慮時限/可達成這兩件事情,畢竟是AI協助你發想規劃。
第三項則是要規範好你希望AI能夠產出什麼格式? 這一點很多人都會忽略或是小看ChatGPT,只要能說明清楚,ChatGPT都可以幫你把各式各樣的文件產出,就算只是文字本身,也能夠依照你所需求的規格產出 (舉例來說, 寫成一首詩, 寫成不超過300字的段落, 寫成三個段落, 或是用幾句話總結等等)。如果你希望ChatGPT直接產出程式碼或是HTML,也一樣是這邊指定清楚,你會發現ChatGPT馬上不但替你產生好了,而且還貼心的把程式碼集中到一個區域方便拷貝,並且告訴你如何執行呢。
A python code generated by ChatGPT
最後一項則是貼心的提醒AI說可以一步一步來,慢慢想,這是網路上不少人試驗過的,如果要ChatGPT回答複雜的問題,那麼不妨最後加上 “Let’s work this out step by step to ensure we have the right answer” 那麼ChatGPT就會用更有邏輯思考的方式一步推導解決問題。
以上,就是簡單說明如何利用簡單的Prompting skills來讓ChatGPT回出更好的答案,有沒有覺得其實跟同事/下屬/上司溝通也是一樣的呢? 如果凡事都能說清楚在這個專案中大家該扮演的角色/該做好的工作/需要產出什麼,並且提醒對方能夠把事情break down 處理,想必工作也是更容易完成吧?
分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.