Skip to content

Prompt 指令魔術師

作者:Aaron Shih
發布時間:2023-11-05
更新時間:1 小時前

如果有一個工具可以處理日常的繁重工作,讓我們專注於思考、創造和組織,那麼我們是否能擺脫不斷回想的繁瑣任務,並有更多時間追求我們真正感興趣的事情?在這樣的背景下,我嘗試使用像 chat-gpt 這樣的工具,發現了一些能夠幫助我們工作和生活的有用提示。現在,讓我們進一步討論這些提示。

GPT、NLP、LLM 是什麼,奇點接近了嗎?

生成式預訓練轉換器 GPT(Generative Pre-trained Transformer): 是一種具體的語言模型,它是基於 Transformer 架構的深度學習模型,用於處理和生成自然語言文本。GPT 模型是 NLP 領域中的一種特定技術,它通過預訓練大量的文本數據來學習語言的結構和語義,然後可以用於各種 NLP 任務,如文本生成、文本分類、問答等。

自然語言處理 NLP(Natural Language Processing: 是一個更廣泛的領域,它涉及處理和理解自然語言的一切方面。NLP包括了各種技術和方法,用於處理文本數據,從而使計算機能夠理解、解釋和生成自然語言文本。NLP不僅包括語言模型(如 GPT),還包括語音識別、機器翻譯、情感分析、信息擷取、文本分類、對話系統等多種子領域和應用。

大型語言模型(Large Language Model):指那些由大量文本數據預訓練而成的深度學習模型,它們能夠理解和生成自然語言文本。

ChatGPT: ChatGPT 是基於 GPT 的變種,專門設計用於對話和對話式應用。它被優化用於生成自然、流暢的對話,並且可以用於構建聊天機器人、虛擬助手和其他對話系統。

簡單來說,GPT 是一種語言處理技術,而 ChatGPT 是用於建立更自然對話的一種應用。這些技術都屬於 NLP 領域。

INFO

GPT(Generative Pre-trained Transformer)的應用:

  • 文本生成:例如,生成文章、故事、詩歌等文本。
  • 問答系統:用於回答關於特定主題的問題。
  • 語言翻譯:將一種語言的文本翻譯成另一種語言。

自然語言處理(NLP)的應用:

  • 語音識別:例如,將語音轉換成文本,用於語音助手(如 Siri 或 Google 助手)。
  • 情感分析:分析文本中的情感,判斷情感是正面、負面還是中性。
  • 文本分類:將文本分為不同的類別,如新聞分類、垃圾郵件過濾等。

大型語言模型的例子:

  • GPT-3:擁有1750億個參數,用於文本生成和多項 NLP 任務。
  • BERT:用於文本理解,廣泛應用於問答和文本分類。
  • XLNet:自回歸的語言模型,在多項 NLP 任務中表現出色。

singular-point 人類的奇點

Prompt 是什麼?

Prompt(提示詞)是用於指導 GPT 或 LLM(語言模型)生成文本的輸入。它是一個包含了模型所需指令、問題、上下文或示例等信息的文字或句子。

Prompt 的目的是引導模型生成特定類型或主題的文本回應。

基本 Prompt 應包含以下結構:

markdown

指令:想要模型执行的特定任务或指令。

上下文:包含外部信息或额外的上下文信息,引导语言模型更好地响应。

输入数据:用户输入的内容或问题。

输出指示:指定输出的类型或格式。

ex: 
我需要你告訴我,蘋果是什麼?我是個大學生,輸出須考量到我的知識量。
輸出為 markdown 等等。

寫出更好 Prompt

一個好的 Prompt 需要明確的引導、具體的問題或任務、上下文信息、使用關鍵詞以及不斷的測試和調整。這些要點有助於確保模型能夠生成更好的文本內容。

TIP

最重要部分可能是「清晰的引導面向」。需要確保 prompt 提供明確的指示,告訴模型應該生成什麼類型的文本,以及期望的動作或回應。如果引導面向不清晰或模糊,模型可能會產生不符合預期的結果。

markdown
一般描述
- "蘋果是什麼?"
markdown
加強指示
- "請描述蘋果的不同品種以及它們的特點和用途。"

是否有不一樣的感覺了呢?

若將 GPT 視為一個可溝通的對象,我們是否也需要清晰的溝通流程呢?

大概就是這種感覺~

若我們更加地加強結構體及描述呢?會不會更接近我們想要的回答?

markdown
“請詳細描述蘋果,包括其植物分類、品種、營養價值以及在文化背景中的角色。目標是提供一個全面而易於理解的解釋,適合對植物學和營養學感興趣的普通受眾。”

讓我們來比較三句 Prompt 的差異,使用 GPT 3.5 模型 詢問,是否就有看出差異了呢?

prompt-apple 比較三個 Prompt

TIP

還能使用下列的指令再去加強,Prompt的結構,達到更好的效果。

  • 將指令放在提示的開頭,並使用特殊符號(如###或""")來分隔指令和上下文。
  • 在指令中明確所需的上下文、結果、長度、格式和風格。
  • 透過示例明確指出所需的輸出格式,以便於程式化地可靠地解析多個輸出。
  • 針對代碼生成,使用特定的“leading words”來引導模型遵循特定的寫作模式。

Prompt 該如何應用

Prompt 可以涵蓋可以涵蓋各種主題,例如技術、生活、職業、教育等等。

  • 教育
markdown
Prompt: 如何在教育領域中更有效地應用創新技術?
  • 信件
markdown
Prompt: 如何寫一封令人難忘的正式信件?
  • 心理輔導
markdown
Prompt: 如何在心理輔導中幫助患者管理壓力和焦慮?

當然這只是些一般的範例,如果我們針對一些更特殊的情況,寫些 Agent Prompt 協助我們呢?

  • 讀取網頁連結,然後輸出結果,並統整這份報告
  • 貼上信件截圖,並請他依照情境回覆
  • 讀取 PDF EXCEL 等文檔,輸出視覺化的分析圖表

若能做到以上這些,是不是能節省並提升我們的時間呢?

再次提升 Prompt

提供個讀取網頁連結的 Prompt,需啟用 GPT 4且網頁允許爬蟲

markdown
# Role: Link_Agent 分析機器人

## 當前任務描述
作為 Link_Agent 分析機器人,我的任務是根據用戶提供的網絡連結,進行深入分析並撰寫報告。這包括摘要網頁內容、識別關鍵點、評估信息源的可靠性、進行批判性分析,以及探討相關的問題和機會。

## 指令流程

1. **開啟連結**:自動使用瀏覽工具開啟提供的連結。
2. **內容摘要**:撰寫網頁內容的簡要摘要,特別強調對用戶研究或問題陳述的重要部分。
3. **識別關鍵點**:從文本中識別最少三個關鍵點,若有更多則提出更多要點,這些點對理解主題至關重要。
4. **評估來源**:檢查來源的可靠性,並提供可靠性評估的簡要說明。
5. **批判性分析**:對於連結中提出的信息和觀點,進行批判性分析,並與相關領域的已知事實或數據進行對比。
6. **檢查程式碼或關鍵字**:檢查文本中是否包含程式碼或相關關鍵字。如果存在,需要進一步搜索相關資源並統整,以便加入整合分析。
7. **問題與機會**:分析文本中提到的問題和機會,並提供對用戶項目或研究的潛在益處的見解。

## 整合分析

"""
在完成上述步驟後,將所有信息整合,提供一份結構化的結論性報告。這份報告應總結分析的發現,報告須符合視覺區塊枚舉式的提出要點,並依照指令流程的步驟,提出可能的行動建議或後續研究方向,回覆語言為繁體中文。
"""

prompt-link-agent Link_Agent 分析機器人

是不是很神奇呢~

自定義模型及進階技巧

還有更多種的 Prompt,例如給與人格特質或是專業技能。

  • 人物模型
markdown

- 你是個英文老師,我需要你協助我的英文自傳 XXXX
- 你是個健身高手,建議我訓練菜單 XXXX
  • 更進階的 Prompt 技巧
markdown

- 少量樣板題示 (Chain-of-Thought Prompting)
- 思維樹(Tree of Thoughts,ToT)
- 鏈示思考(CoT)
- Prompt 函數
- 背景、角色、任務、要求等概念組合

---

# Role: CoT、ToT、RAG和ART Prompt Agent
此角色的任務是與使用者互動,確認其欲探索的對象或主題。確認後,利用鏈式思考(CoT)、思維樹(ToT)、檢索增強生成(RAG)和自動推理工具(ART)的結合,對該對象進行深入分析並提供全面的答案。

🔎 請問您想要了解哪個對象或主題?
✅ 確認後,將按照以下結構化prompt進行解析:

- 🔍 問題:[對象]是什麼? (CoT起始點)
- 📝 定義階段:定義[對象]。 (CoT)
- 🎨 特徵階段:描述[對象]的外觀、口味和質地。 (CoT)
- 🛠️ 用途階段:列出[對象]的可能用途。 (ToT的探索階段)
- 🌱 生長階段:解釋[對象]的生長或製造環境。 (ToT的推理階段)
- 🌟 意義階段:討論[對象]在營養、文化或科學上的意義。 (ToT的評估階段)
- 🔎 檢索增強:進行深入檢索以確保所有信息都是基於最新和最準確的數據。 (RAG概念)
- 🤖 自動推理:利用可用的工具和資源,進行自動推理以提供更深入的分析。 (ART概念)

結合這些方法,我們將提供一個結構化且深入的回答,涵蓋從基本定義到[對象]在不同領域中的重要性。

"""
需維持中立且統一的回答,再詢始時詢問使用者,欲詢問的知識,並以更廣泛的視角搜尋(Prompt模板)這個問題,
最後將 temperature 設定為 0,若回覆太長,則使用段落回覆我。

"""


---

Reference

若有其他疑問或是更好建議,可以詢問並留言給我~

Released under the MIT License.