跳到主要內容

提問的26項原則

 Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4


這個研究介紹了 26個對大型語言模型提問的Prompt原則,透過在 LLaMA-1/2 和 GPT-3.5/4 等模型上進行廣泛實驗驗證所提出26個原則的有效性

26 個Prompt原則概述:
1.直接進入主題,無需對 LLM 客氣,因此無需添加「請」、「如果您不介意」、「謝謝」、「我想」等詞語。

2.在提示中整合目標受眾,例如,受眾是該領域的專家。

3.在對話中將複雜任務分解為一系列更簡單的提示

4.使用肯定指令,例如"do"「做」,同時避免使用 "don’t"「不要」等否定語言。

5.當您需要對某個主題、想法或任何知識進行澄清或更深入的了解時,請使用以下提示:
- 用簡單的術語解釋 [插入特定主題]。
- 把我當成 11 歲一樣解釋給我聽
- 把我當成對[領域] 的初學者一樣解釋給我聽
- 把我當成 [領域] 的專家一樣解釋給我聽
- 用簡單的中文寫出 [論文/文字/段落],就像你向 5 歲小孩解釋某件事一樣

6.加上[我會給出 $xxx 的小費以獲得更好的解決方案]

7.實施範例驅動提示(使用few-shot)

8.在格式化您的提示時,以「### 指示 ###」開始,然後視情況接續「### 範例 ###」或「### 問題 ###」。隨後,呈現您的內容。使用一個或多個換行符號來分隔指示、範例、問題、內容和輸入資料

9.納入以下字詞:「你的任務是」和「你必須」

10.納入以下字詞:「你將受到懲罰」

11.在您的提示中使用字詞「以自然及人性化的方式回答問題」

12.使用引導詞,例如「think step by step」

13.在您的提示中加入以下字詞「確保您的答案公正且不依賴刻板印象」

14.允許模型透過詢問問題來引導您提供精確的細節和需求,直到它有足夠的資訊來提供所需的輸出(例如,「從現在開始,我希望您詢問我問題以...」)。

15.若要詢問特定主題或想法或任何資訊,並且您想測試您的理解,您可以使用以下詞組:「教我[任何定理/主題/規則名稱],並在最後附上測驗,但不要給我答案,然後在我回應時告訴我答案是否正確」

16.指派角色給大型語言模型 (LLM)

17.使用分隔符號

18.在提示中重複一個特定字詞或詞組多次。

19.將Chain-of-thought (Cot) (Cot)與少few-Shot提示結合

20.使用輸出引導詞,其中包括以所需輸出的開頭來結束您的提示。透過以期望回應的開頭來結束您的提示,來利用輸出引導詞

21.要撰寫一篇詳細的論文/文字/段落/文章或任何類型的文字:「請為我撰寫一篇關於[主題]的詳細[論文/文字/段落],並加入所有必要的資訊」

22.更正/更改特定文字而不改變其風格:「嘗試修改使用者發送的每個段落。你應該只改善使用者的文法和詞彙,並確保聽起來很自然。你不應該改變寫作風格,例如將正式的段落改成不正式」

23.當您有複雜的程式提示,可能在不同的檔案中時:「從現在開始,每當你產生跨越多個檔案的程式碼時,產生一個 [程式語言] 腳本,可以執行以自動建立指定檔案或變更現有檔案以插入產生的程式碼。[您的問題]。」

24.當您想要使用特定字詞、片語或句子開始或繼續文字時,請使用下列提示:
我提供您開頭 [歌曲歌詞/故事/段落/散文...]:
[插入歌詞/字詞/句子]。根據提供的字詞完成它。保持一致的流暢度。

25.清楚說明模型必須遵循的要求,才能產生內容,以關鍵字、法規、提示或說明的形式

26.要撰寫任何文字,例如論說文或文章,其用意是類似於提供的範例,請納入以下說明:
-「根據提供的段落[/標題/文字/散文/答案]使用相同的語言」

論文連結:https://arxiv.org/abs/2312.16171
GitHub: https://github.com/VILA-Lab/ATLAS
中文翻譯如圖




留言

這個網誌中的熱門文章

Anthropic 團隊如何使用 Claude Code

Anthropic團隊透過Claude Code 改造他們的工作流,讓開發人員跟非技術人員可以處理複雜專案、自動化流程,並跨越過去限制其生產力的技能鴻溝。 他們深入採訪了以下團隊 資料基礎設施 產品開發 安全工程 推論 資料科學與視覺化 產品工程 成長行銷(Growth Marketing) 產品設計 強化學習工程 法律 Claude Code 用於資料基礎設施 資料基礎設施團隊為公司內所有團隊組織業務資料。他們使用 Claude Code 自動化例行資料工程任務、排除複雜基礎設施問題,並為技術和非技術團隊成員創建文件化工作流程,讓他們能夠獨立存取和操作資料。 主要 Claude Code 使用案例 使用截圖進行 Kubernetes 除錯 當 Kubernetes 叢集當機且不再排程新的 pod 時,團隊使用 Claude Code 診斷問題。他們將儀表板的螢幕截圖輸入 Claude Code,它逐一引導他們瀏覽 Google Cloud 的 UI 選單,直到找到顯示 pod IP 位址耗盡的警告。Claude Code 接著提供確切的指令來建立新的 IP 池並將其新增到叢集,無需涉及網路專家。 為財務團隊提供純文字工作流程 工程師向財務團隊成員展示如何撰寫描述其資料工作流程的純文字檔案,然後將其載入 Claude Code 以獲得完全自動化的執行。沒有編碼經驗的員工可以描述步驟,如「查詢此儀表板、獲取資訊、執行這些查詢、產生 Excel 輸出」,Claude Code 會執行整個工作流程,包括詢問所需的輸入,如日期。 協助新進人員熟悉程式庫 當新的資料科學家加入團隊時,他們被引導使用 Claude Code 來導覽龐大的程式庫。Claude Code 讀取他們的 Claude.md 檔案文件,識別特定任務的相關檔案,解釋資料管線間依賴關係,並幫助新人了解哪些上游來源輸入到儀表板。這取代了傳統的資料目錄和可發現性工具。 工作階段結束後更新claude.md 團隊要求 Claude Code 總結已完成的工作階段,並在每個任務結束時建議改進。這創建了一個持續改進循環,Claude Code 根據實際使用情況幫助改進 Claude.md 文件和工作流程指示,使後續迭代更有效。 跨多個實例的平行任務管理 在處理長時間執行的資料任務時...

親師溝通一定要用LINE嗎? 用LINE@會更安全更省時間

作者: 林穎俊 常聽到很多老師不想用LINE,因為LINE的方便性使得老師上班時間延伸到5點下班之後,舉凡孩子的大小事,甚至婆媳之間的事情,家長也想好好跟老師聊一聊。常讓老師覺得為什麼我下班了還要當家長的垃圾桶? 而且相信大家也有聽過同事說過。家長覺得孩子在學校受到委屈,自己覺得老師沒有公正的處理,就放話說要來學校找對方孩子的,在LINE群中這些層出不窮的事,相信都不是老師想要跟家長溝通的本意。 ㄧ、LINE@的特色: LINE@最大的特點是 群組成員無法對話跟互相加好友,只能跟老師對話。還可以設定關鍵字回復,不用立即回訊。在1對1 對話中還可以設定對話時間,不用半夜還在回line LINE@的功能:群發、1對1對話、動態消息等可以方便做好親師溝通。而且群發訊息(像是提醒 全班注意事項、班級宣導等)只要在1000則內都是不收費的。 二、如何使用LINE@ 1.安裝並登入Line@ 1-1在AppStore 中搜尋LINE@。  1-2 下載完成後,以原來LINE的帳號登入,設定好照片、名稱(例如五年孝班的小天地等),就可以開始使用了。 2.回應模式: 2-1簡介回應模式:登入後,先點進「回應模式」,內有「1對1聊天模式」、「於自動回應模式接收訊息」、「1對1聊天可對應時間」、「自動回應訊息」、「關鍵字自動回應訊息」、以及「設為好友時的歡迎訊息」。老師們可以視需要開啟前面兩項1對1聊天模式」跟「於自動回應模式接收訊息」。 2-2「1對1聊天可對應時間」是設定家長可以傳訊給您的時間,我們先點入週日,再點右上角的「編輯」再把左邊那個綠溝溝點起來,按下刪除後儲存,回到「回應模式」的畫面你就發現,週日你就收不到訊息囉~~科科 接下老師也可以設定平常上班日可以跟家長對話的時間 2-3 自動回應:先點入「撰寫新訊息」,「編輯訊息」可以設定當家長傳訊給你時,系統會自動回覆的訊息。管理用標題是你可以設定訊息的標題。指定期間或時刻,你可以區分上下課不同時間來回應家長不同的訊息。例如在上課時間,我會打「親愛的家長您好,謝謝您傳訊給我,我知道您一定有重要的事情跟我聯絡,...

【Vibe Coding 或是Vibe Prompting?】

自去年開始,我開始嘗試教孩子一門結合 Python 與 AI 的課程。一開始叫做「AI Assisted Python Programming」,但現在或許叫做「Vibe Coding」會是更貼切的名稱。這門課的想法是運用 Python 作為基礎程並結合 AI 作為教學助力,幫助小學生學習基礎的程式學習。 在最初的設計中,我採取的是「由下而上」的教學設計。透過一個實作專案,我一步步引導學生認識變數、資料型別、if-else跟函式等基本概念。當時我們設定的目標是建構一個簡易的線上訂購網站。雖然最終並未完整實作出來,但這個過程讓學生有機會從目標出發,理解每一項功能背後所需的知識與技能,並逐步補足所需的知識。 當學生遇到困難時,我會先請他們透過 AI 尋求協助。他們可以請 AI 解釋概念,甚至產出程式碼。但我給了他們一個額外的挑戰:他們必須能向我清楚說明這段程式碼的意義與邏輯。為了完成這個挑戰,他們必須學會如何有效地與 AI 對話,從而深化對程式內容的理解。這樣的好處是學生不用花費很多時間查資料獲等待老師解決問題,只要有問題AI都可以回答。然而在實際執行的過程中,我發現即使這樣循序漸進地引導,還是有部分學生容易卡關。 因此今年我嘗試轉向「由上而下」的教學方式,靈感來自 Vercel CEO Guillermo Rauch 的訪談。我從中學到人類的價值在於抽象與高階的思考,我們應該訓練孩子更清楚地表達需求,善用 AI 將想法實現,而不是拘泥於每一行程式碼的細節。 因此這學期我決定從「品味」開始,帶領學生探索「什麼是好的作品」。我們從一塊巧克力開始討論,學習如何描述一個「好吃」的巧克力,進而將這樣的能力轉移到數位創作上。我們的主題是「貪食蛇」遊戲設計。我會讓學生先用 AI 生成一個基礎版本,再引導他們去玩網路上的不同版本,學習觀察與評比:什麼樣的遊戲更美觀?速度更流暢?玩法更有趣或更具挑戰性? 接下來,學生需要根據自己的體驗,提出對「好遊戲」的定義與規格,並運用 AI 進行修正與調整,完成屬於他們自己的版本。對我來說這樣的過程可稱為「Vibe Coding」:從描述目標開始->進行生成->再進入反覆的修改與調整。但因為課程還沒告一段落,還無法做出很精確的結論。 這樣的過程也讓我思考孩子們在這當中究竟學到的是什麼?他們學到的是「Coding」本身,還是「Prompt...