iT邦幫忙

2025 iThome 鐵人賽

DAY 6
0
生成式 AI

可愛又迷人的提示詞工程 Prompt Engineering系列 第 6

Day6. 如何設計給 AI 用的指令語言

  • 分享至 

  • xImage
  •  

面對 AI 時,我們有時會陷入兩難的情境:生怕指令太簡單 AI 理解錯誤,又怕指令太複雜讓 AI 混淆。這就像人跟人之間的溝通一樣,有時候一句話就能讓對方懂意思,有時候卻要詳細解釋好多內容。

而指令語言就是要找到其中的平衡點,讓我們知道在設計提示詞之前,什麼時候該簡單明瞭?什麼時候又要詳細完整?

少即是多的簡單指令

簡單指令最大的優點就是效率跟彈性,正因為指令直觀易懂,所以 AI 可以馬上理解、直指核心,不會被其他雜訊所干擾。此外就像前面提到的,當 AI 不會被過多框架限制時,他就有更多自主發揮的空間,也能產生更多的創意,所以適合需要腦力激盪或探索型的任務

另外,從實用和管理的角度來看,簡單指令要維護的成本真的低很多。因為指令本身夠簡單,未來如果需求改了,要調整這種指令也比複雜指令簡單快速,而且更不容易因為規則疊加太多,不小心搞出邏輯衝突或語法錯誤的問題

簡單指令的適用場景

目標明確的基礎任務

好例子:「翻譯成英文:今天天氣很好」
壞例子:「請你扮演一位專業的多國語言翻譯專家,具備豐富的跨文化溝通經驗,請將以下中文句子準確翻譯成英文,並確保語法正確、語意通順、文化上適當...」

腦力激盪

好例子:「為智慧手錶設計 5 個創新功能」
壞例子:「請依據目前市場上智慧穿戴設備的技術發展趨勢,考量使用者的日常使用習慣、健康監測需求、運動追蹤功能、社交互動可能性,以及未來5年內可能實現的技術突破...」

AI 擅長的標準任務

好例子:「總結這篇文章的三個重點」
壞例子:「請你仔細閱讀以下文章內容,運用你的理解能力和邏輯分析技巧,從多個角度深入思考文章的核心論點...」

像翻譯或文章總結這類 AI 已經高度熟練的標準技能,我們就不需要用冗長的指令再重複一次了,因為 AI 早就知道該怎麼總結和翻譯,這些額外的描述不僅浪費成本,反而可能干擾模型找到最精準的路徑。

而在腦力激盪的情境下,當我們還在探索階段時,就要 AI 列出市場趨勢、技術限制 ... 等,等於把創意扼殺在搖籃中,自然效果就沒那麼好

精準控制的複雜指令

複雜指令的特性就是提供 AI 精準的控制力,我們給出詳細的規格、範例和限制條件,AI 就有清楚的標準,輸出自然符合我們的期望。

另外複雜指令可以讓我們高度客製化自己的 AI,例如我們能明確要求 AI 遵守品牌調性、說話的語氣,或是符合特別的排版格式,這些細膩或特殊的需求規則,都能使用複雜指令幫助我們讓 AI 精準到位。

複雜指令的適用場景

正式且規格化的商業文件

請撰寫一份 500 字的產品發布新聞稿,標題不要超過 15 個中文字,內容需包含:產品核心功能、目標市場、上市時間、公司簡介。
語調正式但不失親和力,避免過度技術性描述,最後要附上媒體聯絡資訊。

特定的格式要求

請將以下銷售數據整理成表格:包含產品名稱、Q1 ~ Q4 銷量、年增長率、市占率四個欄位。數據以千為單位,百分比保留小數點後 1 位,表格用 Markdown 格式,並在表格後加上三句話的簡要分析。

多層的條件判斷

請設計客服自動回覆規則:如果是產品詢問,提供產品連結;如果是售後問題,轉接客服專線;如果是抱怨,先致歉再提供解決方案;如果是讚美,表達感謝並詢問是否願意寫評價。每類回覆控制在 50 字內,語氣友善專業。

避免過度複雜

在設計提示詞時,有時寫著寫著就會不小心複雜化,但如同前面提到的,過度的指令會浪費 Token,也可能降低輸出的品質,所以我們要避免過度複雜的設計,以下統整了幾個常見的複雜類型,供大家排雷避免。

無效的客套話

雖然台灣人都很有禮貌,但有時候真的太有禮貌反而會顯得客套跟不必要 XD,例如以下這段提示詞:

您好,我是一位正在學習AI應用的使用者,非常感謝您提供這個平台讓我能夠與您對話。我想請教您一個問題,希望不會佔用您太多寶貴的時間...

其實我們可以直接切入主題,不要那麼多無意義又過度禮貌的前情提要:

請解釋什麼是機器學習

重複說明

能用一段話解釋清楚的,就不要用兩、三段話再重複解釋,不然繞來繞去 AI 頭都暈惹。例如這段 NG 提示詞:

我需要一份報告,這份報告要包含市場分析,市場分析要涵蓋競爭對手研究,競爭對手研究要包含他們的產品特色,產品特色分析要從功能面、價格面、品牌面來看...

我們可以力求精簡,只講重點:

請寫一份市場分析報告,包含競爭對手的產品功能、價格、品牌定位比較

過度限制 AI

除非你有特殊的需求,否則也不要像老媽子操碎了心一樣,過度限制 AI 的輸出,例如這段提示詞:

請寫一篇文章,第一段必須 85 個字,第二段必須 92 個字,第三段必須 78 個字,每段第一句話必須是疑問句,每段最後一句話必須是感嘆句...

其實我們可以用大方向去限制 AI 就好:

請寫一篇800字文章,分3段,每段以問題開頭,語調要有感染力

用漸進式的方式練習寫複雜的指令

一開始如果不知道從何下筆設計複雜指令,我們可以用漸進式的方式慢慢練習。

例如一開始先寫個最簡單的指令:

寫一篇關於遠距工作的文章

如果對 AI 輸出的結果不滿意,我們在這個提示詞的基本上再加一點指令:

寫一篇 800 字關於遠距工作挑戰的文章

再根據 AI 輸出的結果,再微調你的指令,此時有了輸出的內容,也許你能更了解自己想要什麼、不想要什麼:

寫一篇文章 800 字的文章,討論遠距工作的三個主要挑戰:溝通、協作、工作生活平衡,每個挑戰提供解決方案

我們也能將複雜的指令拆解開來,未來可重複使用。

例如建立專門定義角色的模組,加上定義任務的模組,再加上控制格式和風格的模組,這樣當我們要生成內容時,就不要每次都從頭撰寫,而是根據當下的需求,選擇我們需要的模組進行組裝。

上述提到的基礎模組包含:

  • 角色設定:ex. 請扮演行銷文案專家
  • 任務描述:ex. 撰寫產品文案」
  • 格式要求:ex. 800 字,分 3 段
  • 風格指定:ex. 專業溫暖的語調

組合使用的方式為:

[角色設定] + [任務描述] + [格式要求] + [風格指定]

不同 AI 模型偏好的複雜度

每個 AI 模型根據餵的資料和調教的方式不同,都會有各自獨特的個性,這也導致它們對於指令複雜度有著不同的偏好和耐受程度。

我就自己實際使用 ChatGPT、Claude,以及 Gemini 三個 AI 模型的狀況,分享一下我對他們的感受。

ChatGPT 是六角形戰士,幾乎什麼都能做,而且在面對複雜指令時的輸出特別穩定,他偏好結構化、詳細的描述,即使你丟上一大段帶有多個限制條件的需求,他通常也能處理的很好,因為他對語法的容忍度相對寬鬆。

Claude 則是偏好自然語言的溝通方式,我們不用給他太過嚴謹的框架,他也能了解那些我沒說出口的需求,所以 Claude 在中等複雜的任務表現得很好,大家是否也有這樣的感受?很多時候你沒說,但 Claude 都能知道你想表達什麼。

而 Gemini 的優勢在於多模態和創意任務上,他對簡單指令的接受度高,我們不用寫太多字句鋪陳,他就能在極簡的指令下給出相當精煉的答案,當我們需要腦力激盪、快速做一個原型時,用 Gemini 的效果還蠻不錯的。

優化複雜指令的技巧

當指令愈來愈複雜、冗長時,維護可能不那麼方便,不僅 AI 看不懂,甚至連我們人類都看得霧煞煞。所以在寫這些複雜指令時,可以記住幾個小技巧,方便未來的自己看得懂也好維護。

條列式處理

大家有發現 AI 輸出很喜歡用條列式呈現嗎?那是因為條列式是一個很好的結構化格式,他可以讓讀者清楚的看到並吸收這些重點,沒有多餘的贅字。

假設今天我寫了一段話給 AI,雖然有標點符號分隔,但是真的不容易閱讀:

文案要有吸引力而且要專業,但不能太嚴肅,要讓人感覺親近的同時也要建立信任感,並且字數要控制在合理範圍內。

如果我們用條列式呈現,是不是好看多了呢:

請寫一個產品文案,要求如下:
- 吸引人且保持專業
- 親和並值得信任
- 字數 300 ~ 500 字

標註優先級

一旦指令變多,我們就需要告訴 AI 哪些指令要優先處理?哪些指令是必要的?先幫 AI 分類好這樣輸出的內容會更明確:

請寫一份市場分析報告
必須包含:競爭對手分析、市場規模
最好包含:成長趨勢、機會威脅
如果可能:消費者調查數據

範例與簡單指令

還記得前面提過的 Few-shot 嗎?我們在寫指令時, 如果不希望過度複雜,又想要 AI 了解我們的意圖,就可以把範例加到提示詞中:

請照這個風格寫產品描述:
範例:不只是手錶,是你的健康夥伴。24小時監測心率,讓每次跳動都有意義。
現在請為智慧音箱寫描述

小結

最好的指令不是最短的,也不是最長的,而是最有效的。

謹以此句話分享給大家,希望大家在設計指令語言時,都可以依據場景與需求適度設計。


上一篇
Day5. Zero-shot vs Few-shot vs Many-shot 的比較
系列文
可愛又迷人的提示詞工程 Prompt Engineering6
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言