iT邦幫忙

2024 iThome 鐵人賽

DAY 6
2
生成式 AI

運用生成式 AI 服務 所提供的API 實做應用開發(以Gemini及ChatGPT為例)系列 第 6

1-5 撰寫Prompt與System Instructions的五個基本原則

  • 分享至 

  • xImage
  •  

1-5 撰寫Prompt與System Instructions的五個基本原則

https://ithelp.ithome.com.tw/upload/images/20240806/20046160heZa16ymIS.png

Prompt與System Instructions 的區別

Prompt

Prompt 是用戶與AI進行互動的輸入指令或問題。它是用來引導AI生成特定回應的主要內容。Prompt的質量直接影響到AI生成的答案的相關性和準確性。簡單來說,Prompt是用戶用來告訴AI他們需要什麼的方式。

主要特點:

  1. 互動性:用戶使用Prompt來向AI詢問問題或請求信息。
  2. 具體性:良好的Prompt應該包含足夠的信息和細節,使AI能夠理解並生成相關的回答。
  3. 靈活性:Prompt可以是問題、指令、描述等多種形式。

示例:

  • 「請解釋Python中的列表和字典的區別。」
  • 「給我一個使用React和Redux構建簡單待辦事項應用的步驟指南。」
  • 「什麼是機器學習中的過擬合,如何防止過擬合?」

System Instructions

System Instructions 是設置給AI系統的指令,定義AI在對話中的行為方式、角色和任務範圍。這些指令可以控制AI的語氣、風格以及它應該遵守的規則,從而確保AI在不同情境下的表現符合用戶的期望。

主要特點:

  1. 全局性:System Instructions影響整個對話過程中的AI行為,而不僅僅是單個回應。
  2. 規範性:指令明確規範AI應該如何回答問題或執行任務,確保一致性和專業性。
  3. 角色設定:可以設定AI的角色和背景,使其回答更具針對性和專業性。

示例:

  • 「你是一名專業的Python開發工程師,回答技術問題時請使用專業術語並提供詳細解釋。」
  • 「在回答用戶問題時,請始終保持友好和專業的語氣,並使用第二人稱進行互動。」
  • 「你是一位數據科學專家,請提供深入且技術性的回答,並包含實例和代碼示例。」

比較

  • 目的
    • Prompt:用來引導AI生成特定的回應。
    • System Instructions:用來設置AI的行為方式和回答風格。
  • 應用範圍
    • Prompt:單個問題或請求。
    • System Instructions:整個對話過程。
  • 靈活性
    • Prompt:可以是具體問題、指令或描述,形式多樣。
    • System Instructions:主要是指令和規則,設定AI的全局行為。

理解這兩者的區別,有助於用戶更有效地與AI互動,並確保生成的內容符合預期和需求。

在撰寫Prompt與System Instructions時,遵循以下五大原則可以顯著提升生成內容的質量和準確性:

1. Role 角色

在設置角色時,可以先這樣思考:「假設自己是一名記者,針對一個特定的問題,要找採訪對象,要做哪些功課呢?」

實踐指南:

  • 明確角色定位,確保AI能理解其在對話中的角色。例如,「你是一位Python開發專家」或「你是一名經驗豐富的數據科學家」。
  • 詳細描述角色的背景、專業領域及其所具備的知識範疇,這有助於AI提供更準確且專業的回答。

示例:


你是一名經驗豐富的前端開發工程師,專注於React和Vue.js框架,擁有豐富的項目開發經驗。

2. Context 情境

情境相關的提示對於生成內容至關重要,可以幫助AI理解問題的背景及其應用場景。

實踐指南:

  • 提供具體的應用場景或情境,使AI更能準確地把握問題的核心。例如,「在一個電商平台的購物車功能中」。
  • 涉及的情境越詳細,生成的內容越能貼合實際需求。

示例:


你正在開發一個電商平台的購物車功能,需要優化其結算流程,以提升用戶體驗。

3. Input 輸入文本

在輸出內容前,確保AI理解必要的輸入內容,這些資料格式不限,可以是文字、流程圖、JSON、markdown等。

實踐指南:

  • 提供全面且結構化的輸入信息,包括背景資料、需求說明等。
  • 確保輸入信息清晰易懂,避免模糊不清的描述。

示例:


電商平台的購物車功能目前存在以下問題:結算步驟繁瑣、支付方式單一、沒有應用優惠券功能。請優化這些問題,並提供具體的實施步驟。

4. Output 文稿輸出

關於輸出的內容,可以著墨的部分很多,形式上不限定,先從基本的開始說起。

實踐指南:

  • 明確期望的輸出形式,如技術報告、操作指南、程式碼示例等。
  • 提供範例或模板,幫助AI理解輸出內容的格式和風格。

示例:


請提供一份優化電商平台購物車功能的詳細技術報告,內容包括問題分析、優化方案、具體實施步驟及相關程式碼示例。

5. Interactive 互動追問的建議

追問問題的策略主要目的是藉由良好的互動過程,挖掘出更多有價值的信息。

實踐指南:

  • 設置針對性的追問問題,以深入了解AI生成內容的細節。
  • 根據AI的回答,進行進一步的追問,挖掘更深層次的內容。

示例:


你提到需要優化結算流程,能否詳細描述每一步的具體實施方法?在應用優惠券功能時,有哪些注意事項?

通過這五大原則,能夠有效提升Prompt與System Instructions的質量,使得AI生成的內容更加精確、專業,滿足實際需求。

總結

在 呼叫LLMs API 做 NLP 工作時,通常是看重Instructions設定的能力。

NLP 工作:

  • 文字摘要
  • 資訊擷取
  • 問答系統
  • 文字分類
  • 對話系統
  • 程式碼生成
  • 推理

參考

衍生

和GenAI互動,有一些互動策略,可以去參考,通常叫做 XXX of Thought 例如:

實作:Gemini API: Chain of thought prompting

在下一步,我們會希望,後面的追問都省了,GenAI自問自答去完成,例如

實作:Search Wikipedia using ReAct

關於我

我是 Wolke。我是一名專業程式開發者,專長是開發 AI 和程式解決方案。

我投入了不少時間在專業發展上。我是多本書的作者,其中包括《LINE聊天機器人+AI+雲端+開源+程式:輕鬆入門到完整學習》《ChatGPT來襲,未來人人都需具備的運算思維!應用詠唱工程來釋放程式生產力—程式學習/開發篇》。也有出版線上課程,我熱衷於分享我的經驗和技術,幫助其他開發者更好地利用 AI 工具。

也在許多知名大學、論壇、社團擔任講者,如果貴方有需要也歡迎與我聯繫。
2023年 講座 紀錄

最後這篇文章若有切合你的需求,敬請訂閱按讚分享


上一篇
1-4 LLMs API 之後可能功能的展望
下一篇
1-6 人工智慧開發實踐前的 ( LLMs vs LLMs API )選擇指南
系列文
運用生成式 AI 服務 所提供的API 實做應用開發(以Gemini及ChatGPT為例)44
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言