大語言模型提示工程與應用:大語言模型進階提示工程技術

高級提示詞使用

學習目標

掌握大語言模型中進階提示工程技術的原理與應用,包括零樣本/少樣本提示、思維鏈推理、知識生成等核心方法,提升復雜任務解決能力。

相關知識點

  • 零樣本與少樣本提示
  • 思維鏈提示技術
  • 高級推理技術

學習內容

1 零樣本與少樣本提示

1.1 零樣本原理

當今的大規模語言模型(LLMs)在大量數據上進行了訓練,并被調優以遵循指令,因此它們能夠在零樣本的情況下執行任務。以下是示例:

提示:

將文本分類為中性、負面或正面。文本:我覺得假期還可以。
情感: 

輸出:

中性

請注意,在上述提示中,實驗并沒有給模型提供任何示例——這就是零樣本能力的體現。當零樣本方法不奏效時,建議在提示中提供演示或示例來引導模型取得更好的表現。這種技術被稱為少樣本提示。

盡管大規模語言模型已經展示了令人印象深刻的零樣本能力,但在處理復雜任務時,零樣本設置仍顯不足。為了改進這一點,少樣本提示作為一種技術被用來實現上下文學習,即通過在提示中提供演示來引導模型的表現。以下是示例:

提示:

將文本分類為中性、負面或正面。“whatpu”是一種小型毛茸茸的動物,原產于坦桑尼亞。使用單詞whatpu的一個句子例子是:
我們在非洲旅行時看到了非常可愛的小whatpus。
要做“farduddle”的意思是快速上下跳動。使用單詞farduddle的一個句子例子是: 

輸出:

當我們贏得了比賽,我們都開始farduddle慶祝。可以觀察到,通過僅提供一個示例(即1-shot),模型已經學會了如何執行這個任務。對于更困難的任務,可以通過增加演示的數量(例如3-shot, 5-shot, 10-shot等)來進行實驗。

提示:

將文本分類為中性、負面或正面。這太棒了!// Negative
這不好!// Positive
哇,那部電影真酷!// Positive
多么糟糕的節目啊!//

輸出:

Negative

即使標簽已經被隨機化,這里仍然得到了正確的答案。注意實驗保持了格式,這對結果也有幫助。實際上,通過進一步的實驗發現,正在實驗的新GPT模型對甚至隨機格式的魯棒性也越來越強。例如:

提示:


將文本分類為中性、負面或正面。Positive 這太棒了! 
這不好! Negative
哇,那部電影真酷!
Positive
多么糟糕的節目啊! --

輸出:


Negative

上面沒有一致的格式,但模型仍然預測了正確的標簽。

1.2 少樣本優化

標準的少樣本提示對于許多任務來說工作得很好,但在處理更復雜的推理任務時,它仍然不是一種完美的技術。這里通過一個例子來說明這一點:

提示:


這組數字中的奇數加起來是一個偶數:15, 32, 5, 13, 82, 7, 1。

輸出:


是的,這組數字中的奇數加起來是107,這是一個偶數。這不是正確的回答,這不僅突顯了這些系統的局限性,也表明需要更高級的提示工程技術。
可以試著添加一些示例,看看少樣本提示是否能改善結果。

提示:


這組數字中的奇數加起來是一個偶數:4, 8, 9, 15, 12, 2, 1。
答:答案是False。這組數字中的奇數加起來是一個偶數:17, 10, 19, 4, 8, 12, 24。
答:答案是True。這組數字中的奇數加起來是一個偶數:16, 11, 14, 4, 8, 13, 24。
答:答案是True。這組數字中的奇數加起來是一個偶數:17, 9, 10, 12, 13, 4, 2。
答:答案是False。這組數字中的奇數加起來是一個偶數:15, 32, 5, 13, 82, 7, 1。
答:

輸出:


答案是True。

這種方法不起作用。看來對于這種類型的推理問題,少樣本提示并不足以獲得可靠的回答。
總體而言,提供示例對于解決某些任務是有用的。當零樣本提示和少樣本提示不夠充分時,可能意味著模型所學的內容不足以很好地完成任務。在這種情況下,我們需要開始考慮微調模型或嘗試更先進的提示技術。

2 思維鏈提示技術

2.1 基礎CoT

鏈式思考(CoT)提示使模型能夠通過中間推理步驟來解決復雜的問題。你可以將其與少樣本提示結合使用,以在需要推理才能回答的更復雜任務上取得更好的結果。

提示:


這組數字中的奇數加起來是一個偶數:4, 8, 9, 15, 12, 2, 1。
答:將所有奇數(9, 15, 1)相加得到25。答案是False。這組數字中的奇數加起來是一個偶數:17, 10, 19, 4, 8, 12, 24。
答:將所有奇數(17, 19)相加得到36。答案是True。這組數字中的奇數加起來是一個偶數:16, 11, 14, 4, 8, 13, 24。
答:將所有奇數(11, 13)相加得到24。答案是True。這組數字中的奇數加起來是一個偶數:17, 9, 10, 12, 13, 4, 2。
答:將所有奇數(17, 9, 13)相加得到39。答案是False。這組數字中的奇數加起來是一個偶數:15, 32, 5, 13, 82, 7, 1。
答:

輸出:


將所有奇數(15, 5, 13, 7, 1)相加得到41。答案是False。

可以看到看到,當提供了推理步驟后,這里得到了完美的結果。甚至可以用更少的示例來解決這個問題,也就是說,只有一個示例似乎就足夠了:

提示:


這組數字中的奇數加起來是一個偶數:4, 8, 9, 15, 12, 2, 1。
答:將所有奇數(9, 15, 1)相加得到25。答案是False。這組數字中的奇數加起來是一個偶數:15, 32, 5, 13, 82, 7, 1。
答:

輸出:


將所有奇數(15, 5, 13, 7, 1)相加得到41。答案是False。
2.2 零樣本CoT

零樣本鏈式思考(Zero-Shot CoT),基本上是在原始提示中添加“讓我們一步步思考”。示例如下:

提示:


我去市場買了10個蘋果。我給了鄰居2個蘋果,又給了修理工2個。然后我又買了5個蘋果并吃了一個。我還剩下多少個蘋果?

輸出:


11個蘋果

答案是錯誤的!現在試試特殊的提示。

提示:


我去市場買了10個蘋果。我給了鄰居2個蘋果,又給了修理工2個。然后我又買了5個蘋果并吃了一個。我還剩下多少個蘋果?讓模型一步步思考。

輸出:


首先,你開始有10個蘋果。
你給了鄰居2個蘋果,又給了修理工2個,所以你還剩6個蘋果。
然后你又買了5個蘋果,所以你現在有11個蘋果。
最后,你吃了一個蘋果,所以你最終剩下10個蘋果。

這個簡單的提示在這個任務上非常有效!

3 高級推理技術

3.1 自我一致性

另一種先進的提示工程技術之一是自一致性。自一致性的目標是“替換鏈式思考提示中使用的樸素貪婪解碼”。其理念是通過少樣本鏈式思考采樣多個不同的推理路徑,并使用這些生成內容選擇最一致的答案。這有助于提升涉及算術和常識推理任務中的鏈式思考提示性能。

算術推理的例子如下:

提示:


當我6歲的時候,我的姐姐是我年齡的一半。現在我70歲了,我的姐姐多大年紀?

輸出:


35

輸出結果是錯誤的!這里可以使用自一致性來改進這一點:

提示:


Q: 果園里有15棵樹。果園工人今天將在果園里種樹。完成后,將會有21棵樹。果園工人今天種了多少棵樹?
A: 我們開始時有15棵樹。之后我們有了21棵樹。差額就是他們種植的樹木數量。所以,他們必須種了21 - 15 = 6棵樹。答案是6。Q: 如果停車場里有3輛車,又有2輛車到來,那么停車場里總共有多少輛車?
A: 停車場已經有3輛車了。又來了2輛。現在總共有3 + 2 = 5輛車。答案是5。Q: Leah有32塊巧克力,她姐姐有42塊。如果她們吃了35塊,那么總共還剩下多少塊?
A: Leah有32塊巧克力,Leah的姐姐有42塊。這意味著原來總共有32 + 42 = 74塊巧克力。已經吃了35塊。所以總共還剩下74 - 35 = 39塊巧克力。答案是39。Q: Jason有20個棒棒糖。他給了Denny一些棒棒糖。現在Jason有12個棒棒糖。Jason給了Denny多少個棒棒糖?
A: Jason原來有20個棒棒糖。因為他現在只有12個,所以他一定把其余的都給了Denny。他給Denny的棒棒糖的數量一定是20 - 12 = 8個棒棒糖。答案是8。Q: Shawn有五個玩具。圣誕節時,他從媽媽和爸爸那里各自得到了兩個玩具。他現在有多少個玩具?
A: 他有5個玩具。他從媽媽那里得到了2個,所以之后他有5 + 2 = 7個玩具。然后他又從爸爸那里得到了2個,所以總共他有7 + 2 = 9個玩具。答案是9。Q: 服務器房間原來有九臺電腦。從周一到周四,每天安裝五臺新電腦。現在服務器房間里有多少臺電腦?
A: 從周一到周四是4天。每天增加5臺電腦。這意味著總共增加了4 * 5 = 20臺電腦。最初有9臺電腦,所以現在總共有9 + 20 = 29臺電腦。答案是29。Q: Michael有58個高爾夫球。周二他丟了23個高爾夫球。周三他又丟了2個。周三結束時他還剩多少個高爾夫球?
A: Michael最初有58個球。他在周二丟了23個,所以之后他有58 - 23 = 35個球。周三他又丟了2個,所以他現在有35 - 2 = 33個球。答案是33。Q: Olivia有23美元。她買了五個貝果,每個3美元。她還剩多少錢?
A: 她買了5個貝果,每個3美元。這意味著她花費了...Q: 當我6歲的時候,我的姐姐是我年齡的一半。現在我70歲了,我的姐姐多大年紀?
A: 

輸出1:


當我6歲時,我的姐姐是我年齡的一半,所以她是3歲。現在我70歲了,她就是70 - 3 = 67歲。答案是67。

輸出2:


當敘述者6歲時,他的姐姐是他年齡的一半,即3歲。現在敘述者70歲了,他的姐姐會是70 - 3 = 67歲。答案是67。

輸出3:


當我6歲時,我的姐姐是我年齡的一半,所以她是3歲。現在我70歲了,她是70 / 2 = 35歲。答案是35。

計算最終答案需要幾步,但為了簡單起見,可以看到已經有一個多數答案出現,因此它將成為最終答案。這種方法展示了通過結合多種推理路徑來提高答案準確性的潛力。

3.2 生成知識

大型語言模型(LLMs)不斷得到改進,其中一種流行的技術是將知識或信息融入其中,以幫助模型做出更準確的預測。

利用類似的想法,模型能否在進行預測之前也用于生成知識?

讓我們嘗試一個簡單的提示:

提示:


高爾夫的部分內容是試圖獲得比他人更高的分數。對還是錯?

輸出:


對。

這種類型的錯誤揭示了LLMs在執行需要更多世界知識的任務時的局限性。我們如何通過知識生成來改進這一點?

首先,生成一些“知識”:

提示:


輸入:希臘比墨西哥大。
知識:希臘面積約為131,957平方公里,而墨西哥面積約為1,964,375平方公里,這意味著墨西哥比希臘大1389%。輸入:眼鏡總是會起霧。
知識:當你的汗水、呼吸和環境濕度中的水蒸氣落在冷表面上冷卻后變成小液滴時,就會在眼鏡鏡片上形成一層膜,這就是你看到的霧。尤其是在外面空氣寒冷時,你的鏡片相對你的呼吸來說會比較冷。輸入:魚具有思考能力。
知識:魚類比看起來要聰明得多。在許多方面,如記憶力,它們的認知能力與‘高等’脊椎動物,包括非人類靈長類動物相當甚至超過。輸入:一生中抽很多煙的一個常見后果是得肺癌的機會高于正常水平。
知識:那些一生中平均每天吸煙不到一支的人患肺癌死亡的風險是從未吸煙者的9倍。而在每天吸1到10支煙的人群中,因肺癌死亡的風險幾乎是從未吸煙者的12倍。輸入:一塊石頭和一顆卵石大小相同。
知識:根據Udden-Wentworth沉積學尺度,卵石是一種直徑為4至64毫米的巖石碎塊。卵石通常被認為比顆粒(直徑2至4毫米)大,但比卵石(直徑64至256毫米)小。輸入:高爾夫的部分內容是試圖獲得比他人更高的分數。
知識:

知識1:


高爾夫的目標是在最少的擊球次數內完成一系列洞的比賽。一輪高爾夫通常由18個洞組成。每個洞在一個標準高爾夫球場上只打一次。每次擊球都被計為一點,總擊球數用于確定比賽的勝者。

知識2:


高爾夫是一項精確的俱樂部和球運動,參賽選手使用多種類型的球桿將球打入球場上的系列洞中,目標是以最少的擊球次數完成。游戲的目標是用最低得分完成整個過程,這通過計算每洞所用的擊球總數得出。得分最低的選手贏得比賽。

下一步是整合知識并得到預測。這里將問題重新格式化為問答形式以指導答案格式。

提示:


問題:高爾夫的部分內容是試圖獲得比他人更高的分數。對還是錯?知識:高爾夫的目標是在最少的擊球次數內完成一系列洞的比賽。一輪高爾夫通常由18個洞組成。每個洞在一個標準高爾夫球場上只打一次。每次擊球都被計為一點,總擊球數用于確定比賽的勝者。解釋并回答:

答案1:


不對,高爾夫的目標并不是獲得比他人更高的分數。相反,目標是在最少的擊球次數內完成一系列洞的比賽。比賽勝者不是根據總分數而是根據總擊球數決定的。問題:高爾夫的部分內容是試圖獲得比他人更高的分數。對還是錯?知識:高爾夫是一項精確的俱樂部和球運動,參賽選手使用多種類型的球桿將球打入球場上的系列洞中,目標是以最少的擊球次數完成。游戲的目標是用最低得分完成整個過程,這通過計算每洞所用的擊球總數得出。得分最低的選手贏得比賽。解釋并回答:

答案2:


對,高爾夫的一部分是試圖獲得比他人更高的分數。每位選手都試圖以最低得分完成整個過程,這是通過計算每個洞所用的總擊球數得出的。得分最低的選手贏得比賽。這個例子發生了一些有趣的現象,在第一個答案中,模型非常自信,但在第二個答案中則不太確定。

# 大語言模型提示工程與應用
1. 提示工程入門指南
2. 提示詞基礎使用方式
3. 大語言模型進階提示工程技術
4. LLMs文本生成與數據標注實踐:情感分析與葡萄酒品鑒
5. ChatGPT提示工程技術指南
6. 大語言模型對抗性提示安全防御指南
7. 提示工程:提升模型準確性與減少偏見的方法
8. 前沿提示工程技術探索

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95344.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95344.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95344.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【從零開始java學習|第五篇】項目、模塊、包、類的概念與聯系

目錄 一、概念與作用:從宏觀到微觀的層級拆分 1. 項目(Project):最外層的 "大容器" 2. 模塊(Module):項目的 "功能子單元" 3. 包(Package)&…

kernel pwn 入門(四) ret2dir詳細

介紹 ret2dir 是哥倫比亞大學網絡安全實驗室在 2014 年提出的一種輔助攻擊手法,主要用來繞過 smep、smap、pxn 等用戶空間與內核空間隔離的防護手段, 原論文見此處: ret2dir原文論文 參考:kernel pwn入門到大神 ret2dir ret2di…

n階常系數齊次線性微分方程的含義

微分方程 (Differential Equation): 含義: 包含未知函數及其導數(或微分)的方程。例子: dy/dx 2x(未知函數是 y(x),導數是 dy/dx), dy/dt 2 dy/dt y 0(未知函數是 y(t)&#xff…

hexo + github 搭建個人博客

hexo github 搭建個人博客環境配置部署環境配置部署 所需環境: 跳過github郵箱注冊。 右鍵點擊桌面空白處,選擇 “Git Bash Here”,輸入以下命令設置用戶名和郵箱: git config --global user.name "GitHub用戶名" g…

ERFA庫全面指南:從基礎概念到實踐應用

ERFA庫全面指南:從基礎概念到實踐應用 ERFA(Essential Routines for Fundamental Astronomy)作為天文學計算領域的重要開源庫,為開發者提供了處理天文時間、坐標系轉換和星體位置計算等核心功能。本文將深入探討ERFA庫的技術細節…

STM32 HAL庫串口的功能實現與改進

目錄 概述 1 CubeMX配置串口參數 1.1 STM32CUB配置參數 1.2 生成代碼 2 核心代碼介紹 2.1 初始化函數 2.2 中斷函數 2.3 重要的用戶函數 2.4 實現用戶接口函數 3 接收數據函數的優化 3.1 HAL庫接收函數的缺陷 3.2 改進接收函數 概述 在STM32開發中使用HAL庫操作串…

DBA | SQL 結構化查詢語言介紹與學習環境準備

[ 知識是人生的燈塔,只有不斷學習,才能照亮前行的道路 ]📢 大家好,我是 WeiyiGeek,一名深耕安全運維開發(SecOpsDev)領域的技術從業者,致力于探索DevOps與安全的融合(Dev…

day39_2025-08-13

知識點回顧: 彩色和灰度圖片測試和訓練的規范寫法:封裝在函數中 展平操作:除第一個維度batchsize外全部展平 dropout操作:訓練階段隨機丟棄神經元,測試階段eval模式關閉dropout 作業:仔細學習下測試和訓練…

使用GTX ip core + SDI IP core實現SDI設計

使用GTX ip core SDI IP core實現SDI設計 1.SDI接口可以調用GTX IP,具體代碼可以參考xapp592,將代碼移植進入工程里,增加SDI IP核,增加引腳約束即可運行起來 2.使用transceiver的gt的ip core,然后協議選擇SDI協議 3.使…

【無標題】centos 配置阿里云的yum源

1、查看系統正在使用的yum源列表yum repolist結果分析:目前這里看出有base ,extras ,updates三個yum源,這三個也是系統默認的yum源,一般還需要一個epel企業級額外的yum源,本文主要就是更改yum源的配置文件&…

GPT-5全面開放!OpenAI回應用戶反饋:GPT-4o已重新上線!

OpenAI 近日宣布,其最新模型 GPT-5 現已全面向所有 Plus、Pro、Team 和免費用戶開放。 為進一步優化用戶體驗并應對初期反饋: 用戶額度提升: 在剛剛過去的周末,OpenAI已將 Plus 和 Team 用戶的 GPT-5 使用額度提升至原來的 2 倍…

線程安全的單例模式,STL和智能指針

目錄 什么是單例模式 什么是設計模式 單例模式的特點 餓漢實現方式和懶漢實現方式 餓漢方式實現單例模式 懶漢方式實現單例模式 懶漢方式實現單例模式(線程安全版本) STL,智能指針和線程安全 STL中的容器是否是線程安全的? 智能指針是否是線程安全的? 其他常見的各種鎖 什么是…

[每周一更]-(第155期):深入Go反射機制:架構師視角下的動態力量與工程智慧

在構建高復雜度、高靈活性的Go語言系統時,反射(reflect)就像一把雙刃劍——用得好能斬斷開發枷鎖,用不好則可能自傷程序。本文將深入探討反射的內部機理、典型應用場景、安全邊界及性能優化策略。一、反射核心:類型與值…

15_基于深度學習的蘋果病害檢測識別系統(yolo11、yolov8、yolov5+UI界面+Python項目源碼+模型+標注好的數據集)

目錄 項目介紹🎯 功能展示🌟 一、環境安裝🎆 環境配置說明📘 安裝指南說明🎥 環境安裝教學視頻 🌟 二、數據集介紹🌟 三、系統環境(框架/依賴庫)說明🧱 系統環…

Kotlin 數據容器 - MutableList(MutableList 概述、MutableList 增刪改查、MutableList 遍歷元素)

一、MutableList 概述MutableList 是 Kotlin 中可變的列表接口,它繼承自 List 接口并添加了修改列表內容的方法MutableList 允許添加、刪除、更新元素二、創建 MutableList 1、基礎創建 使用 mutableListOf 函數 // 創建一個 MutableList,包含 4 個元素 …

數據庫規范化:消除冗余與異常的核心法則

規范化(Normalization) 是數據庫設計中的核心流程,旨在通過結構化表與字段,消除數據冗余和避免數據異常(插入/更新/刪除異常),同時確保數據依賴合理。其核心方法是將大表拆分為多個小表&#xf…

AI繪畫與攝影新紀元:ChatGPT+Midjourney+文心一格 共繪夢幻世界

文章目錄一、AI藝術的新時代二、ChatGPT:創意的引擎與靈感的火花三、Midjourney:圖像生成的魔法與技術的奇跡四、文心一格:藝術的升華與情感的共鳴五、融合創新:AI繪畫與攝影實戰的無限可能六、應用場景與實踐案例AI藝術的美好未來…

如何衡量需求的緊急程度

衡量需求的緊急程度,其核心在于建立一套客觀、量化、且基于商業影響的評估框架,從而將干系人主觀的“緊迫感”,轉化為團隊可進行理性決策的“優先級數據”。一套行之有效的緊急程度衡量體系,其構建必須綜合考量五大關鍵維度&#…

setInterval的任務正在執行時,setTimeout的任務會等待前者完成后再執行,這樣會造成2個計時器的時間精度出錯?

setInterval,setTimeout 2種計時器在同一個頁面處理任務,想看下精度用時情況。setInterval的任務正在執行時,setTimeout的任務會等待前者完成后再執行,這樣會造成2個計時器的時間精度出錯?本來settimeout啟動0.5秒&…

DeepSeek-R1-0528 推理模型完整指南:領先開源推理模型的運行平臺與選擇建議

每周跟蹤AI熱點新聞動向和震撼發展 想要探索生成式人工智能的前沿進展嗎?訂閱我們的簡報,深入解析最新的技術突破、實際應用案例和未來的趨勢。與全球數同行一同,從行業內部的深度分析和實用指南中受益。不要錯過這個機會,成為AI領…