---
# System prepended metadata

title: Prompt Engineering for Developer 問題與回答 整理

---


# Prompt Engineering for Developer 問題與回答 整理

### 1. 大型語言模型(LLM)使用的倫理和安全問題
**問題**：使用LLM時應該注意哪些倫理和安全問題？是否有指南或最佳實踐可以幫助確保開發的LLM應用對社會產生正面影響？

**回答**：
- **數據隱私和使用權限**：遵守數據隱私法規，確保數據合法使用，尊重隱私。
- **偏見和公平性**：識別和減少模型偏見，確保對不同群體的公平性。
- **透明度和可解釋性**：提高模型透明度，明確工作原理和決策依據。
- **誤導性內容和虛假信息**：防止LLM用於創造或傳播不實信息。
- **安全性和防護措施**：防範惡意使用，實施安全措施。
- **知識產權**：考慮使用模型生成內容的版權問題。

為了實現這些倫理和安全目標，以下是一些有用的最佳實踐：

- **多元化訓練數據**：使用多元化的數據來訓練模型，以減少偏見並提高公平性。
- **定期審核和評估**：定期對模型進行審核，以確保其行為與預期相符，並及時修正問題。
- **用戶教育和意識提升**：教育用戶了解LLM的潛在限制和風險，並提供指導，以幫助他們負責任地使用這些技術。
- **合規性和道德委員會**：設立專門的委員會或小組來監督LLM的倫理和合規性問題。

遵循這些指南和實踐可以幫助確保LLM的開發和應用對社會產生正面影響，同時減少可能的負面後果。
### 2. 自主學習和LLM相關問題
**問題**：
- 是否可以利用LLM幫助自主學習？
- 當LLM給出幻覺性回答時，如何辨識？
- 建立屬於台灣的繁體LLM系統的成本？
- 教師如何確認學生使用LLM繳交的報告正確性？
- LLM未來的發展和法律層面的責任劃分。

**回答**：

1. **LLM於自主學習的應用**：
   - LLM可以極大地輔助自主學習。它能提供豐富的資訊，輔助研究，甚至模擬不同的學習情境。然而，使用LLM進行學習時，使用者應該批判性地評估信息的準確性和來源。

2. **辨識LLM的幻覺性回答**：
   - 幻覺性回答通常指模型基於錯誤信息或不正確的假設所做出的回答。辨識這類回答的關鍵在於檢查信息的來源、對比其他資料、並進行獨立的事實核查。

3. **建立繁體LLM系統的成本**：
   - 建立專屬於台灣的繁體LLM系統需要大量的投資，包括但不限於數據收集、處理、模型訓練、硬件設備以及維護和更新成本。具體成本取決於模型的規模和複雜度。

4. **教師確認LLM報告正確性**：
   - 教師可以通過使用抄襲檢測工具、設計特定的評估標準，以及要求學生解釋和辯護他們的報告內容來確認報告的原創性和正確性。

5. **LLM的未來發展與法律責任**：
   - 隨著LLM技術的發展，其應用範圍和影響也在不斷擴大。在法律層面上，確定責任劃分需要考慮到技術使用者、開發者和平台之間的關係，以及他們各自在產生和傳播信息過程中的角色。這需要明確的法律框架和指導原則來解決。


### 3. AI思考方式和特定領域的應用
**問題**：AI在不同領域（如程式設計、語言學）的思考方式是否有差異？

**回答**：
AI的“思考方式”或決策過程在不同領域中確實存在差異，這主要歸因於不同領域對數據類型和解決問題的方法有不同的需求和限制。以下是一些主要差異：

1. **程式設計**：
   - 在程式設計領域，AI通常被訓練來理解和生成代碼，這要求精確的語法和邏輯結構。AI在這個領域的思考方式更加結構化和規則導向，重點在於遵循編程語言的嚴格規則。

2. **語言學**：
   - 在語言學領域，AI的重點在於理解和生成自然語言。這要求模型能夠處理語言的多樣性、歧義和複雜性。AI在這一領域通常更注重語境理解、文化背景和語言的流暢性。

總結來說，AI在不同領域的應用反映了該領域的特定需求和挑戰。程式設計領域的AI著重於邏輯結構和語法規則，而語言學領域的AI則著重於語境理解和表達的流暢性。這些差異不僅反映了AI技術本身的多樣性，也顯示了不同領域的特有要求如何塑造AI的訓練和應用。

### 4. ChatGPT使用方法和Markdown語法問題
**問題**：
- 如果對ChatGPT的回應不滿意，如何繼續給出指令而不重複之前的內容。
- Markdown語法的使用。
**回答**：
1. **提高ChatGPT回應滿意度的方法**：
   - 如果對ChatGPT的回應不滿意，可以通過更加明確和具體的指令來引導它。例如，如果回應不夠詳細，可以要求更多的細節或具體例子。如果回應方向不對，可以重新調整問題或指出需要改進的地方。關鍵是明確表達您的需求，幫助模型更好地理解您的意圖。

2. **Markdown語法的使用**：
   - Markdown是一種輕量級標記語言，廣泛用於寫作和編輯網絡內容。它允許使用簡單的文本格式來指定文本的格式化，例如用`**文字**`來表示粗體，用`*文字*`表示斜體，用`#`來創建標題等。Markdown的優點在於易於學習和使用，並且可以輕鬆轉換為HTML格式。學習Markdown可以提高編輯和創建格式化文本的效率，尤其在編寫技術文件或網絡內容時。


### 5. 良好Prompt撰寫和獨立運行ChatBot問題
**問題**：
- 如何撰寫良好的Prompt以指導GPT產生特定格式的回答（例如HTML格式）？
- 如何在課程Jupyter環境外建立獨立運行的ChatBot？
**回答**

   **撰寫良好Prompt的策略**：
   - 明確和具體：確保您的Prompt直接且具體地描述您想要的輸出。
   - 上下文提供：提供足夠的背景信息，以便模型理解詢問的問題或任務。
   - 格式指定：對於特定格式的輸出（如HTML），明確指出期望的格式和結構。
   - 範例引導：提供一個或多個範例可以幫助模型理解期望的輸出方式。

   **建立獨立運行的ChatBot**：
   - 選擇開發環境：除了Jupyter，您可以選擇其他IDE或編輯器，如Visual Studio Code。
   - 設置開發框架：使用如Flask或Django等Web框架來建立ChatBot的後端。
   - 集成GPT模型：通過OpenAI API或其他機器學習平台將GPT模型集成到您的應用中。
   - 建立前端界面：使用HTML、CSS和JavaScript等技術創建用戶與ChatBot交互的界面。
   - 部署和測試：在本地或雲服務器上部署您的ChatBot，並進行測試以確保其運行穩定。


### 6. NLU和LLM結合，Chatbot評分和Prompt影響問題
**問題**：
- 是否有NLU與LLM結合的實例？
- Chatbot leaderboard的進一步解釋。
- Sys prompt的語句順序對結果的影響。

**回答**：
   **NLU與LLM結合的實例**：
   - 現代的Chatbot和AI助手，如Google助手、Alexa，都使用了NLU和LLM的結合。這種結合使這些系統能夠更好地理解用戶的意圖和提供更準確的回答。

   **Chatbot Leaderboard解釋**：
   - Chatbot leaderboard通常是評估不同聊天機器人性能的一種方法，其中可能包括回答質量、用戶滿意度、回應時間等指標。

   **Sys Prompt語句順序的影響**：
   - Prompt中的語句順序可能會影響模型的回應。例如，如果重要信息或指令放在開頭，模型可能會對此給予更多關注。相反，如果重要信息被放在末尾，則可能被忽視或權重較低。


### 7. 模型思考時間和推論任務處理問題
**問題**：
- 「給予時間」讓模型思考的原則意味著什麼？
- 如果prompt包含多個子任務，模型是否會依序完成並只輸出最終結論？

 **回答**：
   - 「給予時間」讓模型思考，指的是在輸出回答之前，允許模型充分處理和分析提出的問題。這並不是指真正的時間延長，而是指模型在生成回答前進行更深入的數據處理和分析。
   - 如果prompt包含多個子任務，模型將嘗試處理所有提出的任務，但它可能不會嚴格依序處理，也不一定只輸出最終結論。模型的回應取決於其訓練和設計，以及如何理解和解釋prompt中的任務。


### 8. 模型輸出多樣性和自動迭代Prompt問題
**問題**：
- 調整temperature如何影響模型輸出的多樣性？
- 是否有方法可以自動迭代出好的prompt？

   **回答**：
   - 調整模型的temperature可以影響其生成文本的隨機性和創造性。較高的temperature值會導致更多的隨機性和創新，而較低的值則會產生更一致、預測性強的輸出。
   - 雖然目前沒有廣泛接受的方法可以完全自動迭代出優質的prompt，但有一些技術和策略可以幫助改進prompt的質量。這包括使用反饋循環、數據分析和用戶測試來不斷完善prompt。

### 9. 測試Prompt版本和定義正確性問題
**問題**：測試比較不同prompt版本時，如何定義正確性？

**回答**：

   - 測試和比較不同prompt版本時，「正確性」可以根據模型回答的準確度、相關性和有用性來定義。這通常涉及客觀評估（如事實的正確性）和主觀評估（如回答的質量和用戶滿意度）。

語言模型的性能和限制：

1. **不同語言模型對正確率的影響**：
   - 確實，不同的語言模型可能會對同一問題產生不同的正確率。這是因為每個模型都有其獨特的訓練數據、架構和優化目標。例如，一個模型可能在處理自然語言理解方面表現更佳，而另一個可能在生成文本或特定領域（如技術或醫學）方面更強。因此，找到“最佳咒語”或最有效的提示方式，可能會因模型而異，且需要針對特定模型進行試錯和優化。

2. **語言模型無法找到最佳答案的可能性**：
   - 是的，有可能設計出來的語言模型無法找到或生成最佳答案。這可能由多種因素導致，包括：
     - **數據局限性**：如果模型在訓練過程中未接觸到足夠的相關數據，它可能無法準確回答某些問題。
     - **模型複雜性和容量**：模型的大小和複雜性可能限制了其處理和學習信息的能力。
     - **訓練目標**：模型的訓練目標可能影響其在特定類型問題上的表現。

總結來說，不同的語言模型會根據其訓練、設計和優化目標在不同的任務上表現不同。而且，即使是高度先進的模型，也可能在某些情況下無法提供最佳答案。這就需要用戶對模型的能力和限制有清晰的理解，並在使用時適當調整期望。

### 10.關於模型如何處理錯拼的 "English"記憶功能的限制
**問題**：1, l6-transforming 這邊，影片中的 2: 50 左右可以看到老師在輸入時，把 “English” 拼錯了，為什麼模型依然知道，她要的是 “English”?

2, 如果模型沒有記憶的功能，那如果負責幫忙記憶的 message 滿了的話，會怎麼處理呢?

3, 當我們要求模型盡可能的精簡輸出，同時，是不是一樣在限制它思考的時間呢? (by Principles 2: Give the model time to “think”)

### 11.情感判定原理和TEMPERATURE
**問題**：
1. 如何判定情感，如Positive 與Negative? 使用單字? 或是提供足夠的資料? Ans:英文辭庫 vs 中文詞庫
2. Deeplearning Chatboot 是否有連接Webhook 
3. Temperature 設定: 0~1 的設定，GPT 是如何設定與相關影響

**回答**：
這些問題涉及到情感分析、深度學習聊天機器人的連接方式，以及溫度設置在語言模型中的應用：

1. **判定情感（正面與負面）**：
   - 情感分析通常依賴於特定的詞庫，這些詞庫包含了大量帶有情感色彩的單詞，並為每個單詞賦予一個正面或負面的分數。在英文中，這樣的詞庫可能包括像WordNet-Affect或SentiWordNet等；在中文中，則可能使用類似的中文情感詞庫。除了單字的情感色彩，情感分析模型還會考慮整個句子或段落的上下文，以提供更準確的情感判斷。

2. **深度學習聊天機器人與Webhook的連接**：
   - 深度學習的聊天機器人可以與Webhook連接，以實現與其他系統或服務的交互。Webhook是一種網絡通訊方法，可以讓聊天機器人在特定事件發生時，如接收到特定消息或命令時，觸發並發送請求到指定的URL。這種方法常用於整合外部服務或執行自動化任務。

3. **GPT的溫度（Temperature）設定及其影響**：
   - 在GPT和其他語言生成模型中，溫度設置控制著回答的隨機性和創造性。溫度範圍通常設定在0到1之間：
     - 當溫度設置為0時，模型傾向於選擇最可能的（或最安全的）回答，導致輸出比較一致和可預測。
     - 當溫度設置為1或接近1時，模型將更有可能選擇不那麼明顯的選項，從而產生更多樣化和創造性的回答。
     - 溫度設定的選擇取決於特定應用的需求。例如，創意寫作可能更適合高溫度設置，而基於事實的查詢可能更適合低溫度設置。


Q:8_Albert Chen
21:17
### 請問簡報裡 temperature 的值域寫到是 0～2？ 有出處嗎？
A:
avatar
5_CS 李純心
21:16
accroding OpenAI API document, temperature is between 0 and 1. URL is https://platform.openai.com/docs/api-reference/audio/createTranscription

Q:5_王健安
21:25
### 請教一下，透過 OpenAI API KEY  呼叫 GPT 時，費用是用 Token 計算的，當我們透過 程式 請 GPT 仔細思考時，無疑將增加金錢成本，這有哪些方法可評估 費用 以及 GPT仔細思考 的平衡點？
A:
節約Token數目的技巧，讓我們來看看：

1. 避免冗餘詞語
在提問或指示ChatGPT時，試著避免使用冗餘的詞語。ChatGPT已經經過訓練，能夠理解合理的簡化表達方式。例如，如果你想問「明天的天氣怎麼樣？」，你可以只問「明天天氣如何？」這樣更簡潔的提問方式不僅節省了Token數目，還能夠獲得相同的回答。

2. 利用縮寫和簡寫
ChatGPT能夠理解常見的縮寫和簡寫，這讓我們有機會在表達時使用更少的Token。例如，可以使用「今晚6點見」代替「今晚下午6點見面」，這樣能夠節省四個Token的使用。

3. 利用代詞和上下文
利用代詞和上下文信息來取代重複性詞語。如果上一個對話中提到了某個實體，後續提到它時可以使用代詞，而不是重複完整的名稱。這樣可以節省Token的使用，並保持對話的流暢性。

4. 分解長句子
長句子通常佔用了較多的Token，我們可以將其分解為多個簡潔的句子。這有助於保持對話的清晰度，同時節省Token的使用。在進行分解時，需要注意確保每個句子都具有明確的意思，並在上下文中能夠有邏輯地連接起來。

5. 去除冗餘標點符號和空格
標點符號和空格也被計算為Token，因此，適當地去除冗餘的標點符號和空格可以節省Token的使用。但是，請注意不要去除過多的標點符號，以免影響文本的語義和結構。

這些是幫助我們節省Token數目的一些技巧，掌握它們可以更有效地使用ChatGPT生成有意義的對話。我們可以根據對話的特點和目的，選擇適合的技巧，以獲得更好的效果。