与大语言模型对话:从采样参数到思维链
摘要:同一个大模型,提示不同,输出可能完全不同。提示工程研究的是如何通过采样参数、示例数量和推理引导,让模型稳定地产出符合智能体工作流需要的文本。
一、提示是智能体与模型之间的接口
如果把大语言模型看作智能体的大脑,提示就是大脑与其他组件之间的输入协议。智能体需要模型完成规划、工具选择、信息抽取和结果合成,因此提示不仅要表达意图,还要约束格式、上下文和推理步骤。
#mermaid-svg-Jti1WOcFZ3rBO8Rp{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Jti1WOcFZ3rBO8Rp .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .error-icon{fill:#552222;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .marker.cross{stroke:#333333;}#mermaid-svg-Jti1WOcFZ3rBO8Rp svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Jti1WOcFZ3rBO8Rp p{margin:0;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .cluster-label text{fill:#333;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .cluster-label span{color:#333;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .cluster-label span p{background-color:transparent;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .label text,#mermaid-svg-Jti1WOcFZ3rBO8Rp span{fill:#333;color:#333;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .node rect,#mermaid-svg-Jti1WOcFZ3rBO8Rp .node circle,#mermaid-svg-Jti1WOcFZ3rBO8Rp .node ellipse,#mermaid-svg-Jti1WOcFZ3rBO8Rp .node polygon,#mermaid-svg-Jti1WOcFZ3rBO8Rp .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .rough-node .label text,#mermaid-svg-Jti1WOcFZ3rBO8Rp .node .label text,#mermaid-svg-Jti1WOcFZ3rBO8Rp .image-shape .label,#mermaid-svg-Jti1WOcFZ3rBO8Rp .icon-shape .label{text-anchor:middle;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .rough-node .label,#mermaid-svg-Jti1WOcFZ3rBO8Rp .node .label,#mermaid-svg-Jti1WOcFZ3rBO8Rp .image-shape .label,#mermaid-svg-Jti1WOcFZ3rBO8Rp .icon-shape .label{text-align:center;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .node.clickable{cursor:pointer;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .arrowheadPath{fill:#333333;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Jti1WOcFZ3rBO8Rp .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Jti1WOcFZ3rBO8Rp .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Jti1WOcFZ3rBO8Rp .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .cluster text{fill:#333;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .cluster span{color:#333;}#mermaid-svg-Jti1WOcFZ3rBO8Rp div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Jti1WOcFZ3rBO8Rp rect.text{fill:none;stroke-width:0;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .icon-shape,#mermaid-svg-Jti1WOcFZ3rBO8Rp .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .icon-shape p,#mermaid-svg-Jti1WOcFZ3rBO8Rp .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .icon-shape .label rect,#mermaid-svg-Jti1WOcFZ3rBO8Rp .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Jti1WOcFZ3rBO8Rp .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Jti1WOcFZ3rBO8Rp .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Jti1WOcFZ3rBO8Rp :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
任务 + 示例 + 约束
结构化或自然语言输出
智能体工作流
Prompt
采样参数处理
大语言模型
解析与执行
二、采样参数:改变模型如何从概率分布中选择 Token
模型对下一个 Token 的标准 Softmax 分布为:
pi=ezi∑j=1kezjp_i = \\frac{e^{z_i}}{\\sum_{j=1}^k e^{z_j}}pi=∑j=1kezjezi
Temperature 通过温度系数 T>0T>0T>0 调整分布的陡峭程度:
pi(T)=ezi/T∑j=1kezj/Tp_i^{(T)} = \\frac{e^{z_i / T}}{\\sum_{j=1}^k e^{z_j / T}}pi(T)=∑j=1kezj/Tezi/T
当 TTT 变小,高概率项被进一步放大,输出更确定;当 TTT 变大,分布变平坦,低概率项获得更多机会,输出更多样。
#mermaid-svg-ZdDf5rmIKbg2js1j{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-ZdDf5rmIKbg2js1j .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-ZdDf5rmIKbg2js1j .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-ZdDf5rmIKbg2js1j .error-icon{fill:#552222;}#mermaid-svg-ZdDf5rmIKbg2js1j .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-ZdDf5rmIKbg2js1j .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-ZdDf5rmIKbg2js1j .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-ZdDf5rmIKbg2js1j .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-ZdDf5rmIKbg2js1j .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-ZdDf5rmIKbg2js1j .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-ZdDf5rmIKbg2js1j .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-ZdDf5rmIKbg2js1j .marker{fill:#333333;stroke:#333333;}#mermaid-svg-ZdDf5rmIKbg2js1j .marker.cross{stroke:#333333;}#mermaid-svg-ZdDf5rmIKbg2js1j svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-ZdDf5rmIKbg2js1j p{margin:0;}#mermaid-svg-ZdDf5rmIKbg2js1j .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-ZdDf5rmIKbg2js1j .cluster-label text{fill:#333;}#mermaid-svg-ZdDf5rmIKbg2js1j .cluster-label span{color:#333;}#mermaid-svg-ZdDf5rmIKbg2js1j .cluster-label span p{background-color:transparent;}#mermaid-svg-ZdDf5rmIKbg2js1j .label text,#mermaid-svg-ZdDf5rmIKbg2js1j span{fill:#333;color:#333;}#mermaid-svg-ZdDf5rmIKbg2js1j .node rect,#mermaid-svg-ZdDf5rmIKbg2js1j .node circle,#mermaid-svg-ZdDf5rmIKbg2js1j .node ellipse,#mermaid-svg-ZdDf5rmIKbg2js1j .node polygon,#mermaid-svg-ZdDf5rmIKbg2js1j .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-ZdDf5rmIKbg2js1j .rough-node .label text,#mermaid-svg-ZdDf5rmIKbg2js1j .node .label text,#mermaid-svg-ZdDf5rmIKbg2js1j .image-shape .label,#mermaid-svg-ZdDf5rmIKbg2js1j .icon-shape .label{text-anchor:middle;}#mermaid-svg-ZdDf5rmIKbg2js1j .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-ZdDf5rmIKbg2js1j .rough-node .label,#mermaid-svg-ZdDf5rmIKbg2js1j .node .label,#mermaid-svg-ZdDf5rmIKbg2js1j .image-shape .label,#mermaid-svg-ZdDf5rmIKbg2js1j .icon-shape .label{text-align:center;}#mermaid-svg-ZdDf5rmIKbg2js1j .node.clickable{cursor:pointer;}#mermaid-svg-ZdDf5rmIKbg2js1j .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-ZdDf5rmIKbg2js1j .arrowheadPath{fill:#333333;}#mermaid-svg-ZdDf5rmIKbg2js1j .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-ZdDf5rmIKbg2js1j .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-ZdDf5rmIKbg2js1j .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ZdDf5rmIKbg2js1j .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-ZdDf5rmIKbg2js1j .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ZdDf5rmIKbg2js1j .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-ZdDf5rmIKbg2js1j .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-ZdDf5rmIKbg2js1j .cluster text{fill:#333;}#mermaid-svg-ZdDf5rmIKbg2js1j .cluster span{color:#333;}#mermaid-svg-ZdDf5rmIKbg2js1j div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-ZdDf5rmIKbg2js1j .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-ZdDf5rmIKbg2js1j rect.text{fill:none;stroke-width:0;}#mermaid-svg-ZdDf5rmIKbg2js1j .icon-shape,#mermaid-svg-ZdDf5rmIKbg2js1j .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-ZdDf5rmIKbg2js1j .icon-shape p,#mermaid-svg-ZdDf5rmIKbg2js1j .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-ZdDf5rmIKbg2js1j .icon-shape .label rect,#mermaid-svg-ZdDf5rmIKbg2js1j .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-ZdDf5rmIKbg2js1j .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-ZdDf5rmIKbg2js1j .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-ZdDf5rmIKbg2js1j :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
原始 logits
Temperature调整分布陡峭程度
Top-k保留概率最高的 k 个
Top-p动态选择最小核集合
归一化后采样
Top-k 先取概率最高的 kkk 个 Token 组成候选集,再做归一化:
p^i=pi∑j∈候选集pj\\hat{p}_i = \\frac{p_i}{\\sum_{j \\in \\text{候选集}} p_j}p^i=∑j∈候选集pjpi
Top-p 按概率从高到低累加,直到累计概率首次达到或超过阈值 ppp:
∑i∈Sp(i)≥p\\sum_{i \\in S} p_{(i)} \\geq pi∈S∑p(i)≥p
这三个参数的分层关系是:温度调整整体分布,Top-k 限制候选数量,Top-p 再从 Top-k 的结果中动态选择最小核集合。若温度设为 0,模型直接选择概率最高的 Token;若 Top-k 设为 1,则退化为贪心采样。
| 0⩽T<0.30 \\leqslant T < 0.30⩽T<0.3 | 精准、确定 | 问答、数据计算、代码生成、技术文档 |
| 0.3⩽T<0.70.3 \\leqslant T < 0.70.3⩽T<0.7 | 平衡、自然 | 客服对话、邮件、产品文案、简单故事 |
| 0.7⩽T<20.7 \\leqslant T < 20.7⩽T<2 | 创新、发散 | 诗歌、科幻构思、广告创意、灵感启发 |
三、零样本、单样本与少样本提示
根据提示中是否包含示例,可以把提示分成三种。零样本只给任务指令,单样本给一个完整示例,少样本给多个示例。
#mermaid-svg-dkuKlt3BYHZYSnko{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-dkuKlt3BYHZYSnko .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-dkuKlt3BYHZYSnko .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-dkuKlt3BYHZYSnko .error-icon{fill:#552222;}#mermaid-svg-dkuKlt3BYHZYSnko .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-dkuKlt3BYHZYSnko .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-dkuKlt3BYHZYSnko .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-dkuKlt3BYHZYSnko .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-dkuKlt3BYHZYSnko .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-dkuKlt3BYHZYSnko .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-dkuKlt3BYHZYSnko .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-dkuKlt3BYHZYSnko .marker{fill:#333333;stroke:#333333;}#mermaid-svg-dkuKlt3BYHZYSnko .marker.cross{stroke:#333333;}#mermaid-svg-dkuKlt3BYHZYSnko svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-dkuKlt3BYHZYSnko p{margin:0;}#mermaid-svg-dkuKlt3BYHZYSnko .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-dkuKlt3BYHZYSnko .cluster-label text{fill:#333;}#mermaid-svg-dkuKlt3BYHZYSnko .cluster-label span{color:#333;}#mermaid-svg-dkuKlt3BYHZYSnko .cluster-label span p{background-color:transparent;}#mermaid-svg-dkuKlt3BYHZYSnko .label text,#mermaid-svg-dkuKlt3BYHZYSnko span{fill:#333;color:#333;}#mermaid-svg-dkuKlt3BYHZYSnko .node rect,#mermaid-svg-dkuKlt3BYHZYSnko .node circle,#mermaid-svg-dkuKlt3BYHZYSnko .node ellipse,#mermaid-svg-dkuKlt3BYHZYSnko .node polygon,#mermaid-svg-dkuKlt3BYHZYSnko .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-dkuKlt3BYHZYSnko .rough-node .label text,#mermaid-svg-dkuKlt3BYHZYSnko .node .label text,#mermaid-svg-dkuKlt3BYHZYSnko .image-shape .label,#mermaid-svg-dkuKlt3BYHZYSnko .icon-shape .label{text-anchor:middle;}#mermaid-svg-dkuKlt3BYHZYSnko .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-dkuKlt3BYHZYSnko .rough-node .label,#mermaid-svg-dkuKlt3BYHZYSnko .node .label,#mermaid-svg-dkuKlt3BYHZYSnko .image-shape .label,#mermaid-svg-dkuKlt3BYHZYSnko .icon-shape .label{text-align:center;}#mermaid-svg-dkuKlt3BYHZYSnko .node.clickable{cursor:pointer;}#mermaid-svg-dkuKlt3BYHZYSnko .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-dkuKlt3BYHZYSnko .arrowheadPath{fill:#333333;}#mermaid-svg-dkuKlt3BYHZYSnko .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-dkuKlt3BYHZYSnko .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-dkuKlt3BYHZYSnko .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-dkuKlt3BYHZYSnko .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-dkuKlt3BYHZYSnko .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-dkuKlt3BYHZYSnko .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-dkuKlt3BYHZYSnko .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-dkuKlt3BYHZYSnko .cluster text{fill:#333;}#mermaid-svg-dkuKlt3BYHZYSnko .cluster span{color:#333;}#mermaid-svg-dkuKlt3BYHZYSnko div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-dkuKlt3BYHZYSnko .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-dkuKlt3BYHZYSnko rect.text{fill:none;stroke-width:0;}#mermaid-svg-dkuKlt3BYHZYSnko .icon-shape,#mermaid-svg-dkuKlt3BYHZYSnko .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-dkuKlt3BYHZYSnko .icon-shape p,#mermaid-svg-dkuKlt3BYHZYSnko .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-dkuKlt3BYHZYSnko .icon-shape .label rect,#mermaid-svg-dkuKlt3BYHZYSnko .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-dkuKlt3BYHZYSnko .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-dkuKlt3BYHZYSnko .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-dkuKlt3BYHZYSnko :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
Zero-shot只有指令
情感分类任务
One-shot一个示例 + 新输入
Few-shot多个示例 + 新输入
零样本提示直接让模型完成分类:
文本:Datawhale的AI Agent课程非常棒!
情感:正面
单样本提示先展示一个“问题-答案”对:
文本:这家餐厅的服务太慢了。
情感:负面
文本:Datawhale的AI Agent课程非常棒!
情感:
少样本提示用覆盖不同类别的示例帮助模型掌握任务边界:
文本:这家餐厅的服务太慢了。
情感:负面
文本:这部电影的情节很平淡。
情感:中性
文本:Datawhale的AI Agent课程非常棒!
情感:
示例越多,模型对格式和任务边界理解越稳定,但输入 Token 也会越多。智能体开发中通常会在“任务稳定性”和“上下文长度”之间权衡。
四、指令调优改变交互方式
早期预训练模型擅长文本补全,但不一定遵循自然语言指令。指令调优使用大量“指令-回答”数据继续训练,让模型从“续写”转向“执行指令”。
对文本补全模型,需要用少样本示例教会它任务:
这是一段将英文翻译成中文的程序。
英文:Hello
中文:你好
英文:How are you?
中文:
对指令调优模型,可以直接下达指令:
请将下面的英文翻译成中文:
How are you?
#mermaid-svg-1FSl0IzLyawiollq{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-1FSl0IzLyawiollq .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-1FSl0IzLyawiollq .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-1FSl0IzLyawiollq .error-icon{fill:#552222;}#mermaid-svg-1FSl0IzLyawiollq .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-1FSl0IzLyawiollq .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-1FSl0IzLyawiollq .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-1FSl0IzLyawiollq .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-1FSl0IzLyawiollq .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-1FSl0IzLyawiollq .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-1FSl0IzLyawiollq .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-1FSl0IzLyawiollq .marker{fill:#333333;stroke:#333333;}#mermaid-svg-1FSl0IzLyawiollq .marker.cross{stroke:#333333;}#mermaid-svg-1FSl0IzLyawiollq svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-1FSl0IzLyawiollq p{margin:0;}#mermaid-svg-1FSl0IzLyawiollq .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-1FSl0IzLyawiollq .cluster-label text{fill:#333;}#mermaid-svg-1FSl0IzLyawiollq .cluster-label span{color:#333;}#mermaid-svg-1FSl0IzLyawiollq .cluster-label span p{background-color:transparent;}#mermaid-svg-1FSl0IzLyawiollq .label text,#mermaid-svg-1FSl0IzLyawiollq span{fill:#333;color:#333;}#mermaid-svg-1FSl0IzLyawiollq .node rect,#mermaid-svg-1FSl0IzLyawiollq .node circle,#mermaid-svg-1FSl0IzLyawiollq .node ellipse,#mermaid-svg-1FSl0IzLyawiollq .node polygon,#mermaid-svg-1FSl0IzLyawiollq .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-1FSl0IzLyawiollq .rough-node .label text,#mermaid-svg-1FSl0IzLyawiollq .node .label text,#mermaid-svg-1FSl0IzLyawiollq .image-shape .label,#mermaid-svg-1FSl0IzLyawiollq .icon-shape .label{text-anchor:middle;}#mermaid-svg-1FSl0IzLyawiollq .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-1FSl0IzLyawiollq .rough-node .label,#mermaid-svg-1FSl0IzLyawiollq .node .label,#mermaid-svg-1FSl0IzLyawiollq .image-shape .label,#mermaid-svg-1FSl0IzLyawiollq .icon-shape .label{text-align:center;}#mermaid-svg-1FSl0IzLyawiollq .node.clickable{cursor:pointer;}#mermaid-svg-1FSl0IzLyawiollq .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-1FSl0IzLyawiollq .arrowheadPath{fill:#333333;}#mermaid-svg-1FSl0IzLyawiollq .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-1FSl0IzLyawiollq .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-1FSl0IzLyawiollq .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-1FSl0IzLyawiollq .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-1FSl0IzLyawiollq .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-1FSl0IzLyawiollq .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-1FSl0IzLyawiollq .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-1FSl0IzLyawiollq .cluster text{fill:#333;}#mermaid-svg-1FSl0IzLyawiollq .cluster span{color:#333;}#mermaid-svg-1FSl0IzLyawiollq div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-1FSl0IzLyawiollq .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-1FSl0IzLyawiollq rect.text{fill:none;stroke-width:0;}#mermaid-svg-1FSl0IzLyawiollq .icon-shape,#mermaid-svg-1FSl0IzLyawiollq .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-1FSl0IzLyawiollq .icon-shape p,#mermaid-svg-1FSl0IzLyawiollq .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-1FSl0IzLyawiollq .icon-shape .label rect,#mermaid-svg-1FSl0IzLyawiollq .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-1FSl0IzLyawiollq .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-1FSl0IzLyawiollq .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-1FSl0IzLyawiollq :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
指令-回答数据继续训练
需要少量示例
直接自然语言指令
预训练模型预测下一个词
指令调优模型理解并执行指令
文本补全提示
五、基础提示技巧:角色、示例与格式约束
角色扮演通过设定角色来影响模型的语气、知识范围和输出方式:
# 案例
你现在是一位资深的Python编程专家。请解释一下Python中的GIL(全局解释器锁)是什么,要让一个初学者也能听懂。
上下文示例用清晰的输入输出格式“教会”模型如何输出。对于智能体来说,明确格式能显著降低后续解析成本。
# 案例
我需要你从产品评论中提取产品名称和用户情感。请严格按照下面的JSON格式输出。
评论:这款“星尘”笔记本电脑的屏幕显示效果惊人,但我不太喜欢它的键盘手感。
输出:{"product_name": "星尘笔记本电脑", "sentiment": "混合"}
评论:我刚买的“声动”耳机音质很棒,续航也超出了我的预期!
输出:
六、思维链:让复杂推理先展开再作答
对于逻辑推理、计算或多步骤任务,直接生成最终答案容易漏步骤。思维链通过“一步一步思考”的引导,让模型先输出中间推理,再给出结论。
# 思维链提示
一个篮球队在一个赛季的80场比赛中赢了60%。在接下来的赛季中,他们打了15场比赛,赢了12场。两个赛季的总胜率是多少?
请一步一步地思考并解答。
>>>
(模型可能会输出)
好的,我们来一步步计算。
第一步:计算第一个赛季赢得的比赛数。
80场 * 60% = 48场。
第二步:计算两个赛季的总比赛数和总胜利数。
总比赛数 = 80 + 15 = 95场。
总胜利数 = 48 + 12 = 60场。
第三步:计算总胜率。
总胜率 = (总胜利数 / 总比赛数) * 100% = (60 / 95) * 100% ≈ 63.16%。
所以,两个赛季的总胜率约为63.16%。
#mermaid-svg-X3i2T3OFEQes4hIi{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-X3i2T3OFEQes4hIi .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-X3i2T3OFEQes4hIi .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-X3i2T3OFEQes4hIi .error-icon{fill:#552222;}#mermaid-svg-X3i2T3OFEQes4hIi .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-X3i2T3OFEQes4hIi .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-X3i2T3OFEQes4hIi .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-X3i2T3OFEQes4hIi .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-X3i2T3OFEQes4hIi .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-X3i2T3OFEQes4hIi .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-X3i2T3OFEQes4hIi .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-X3i2T3OFEQes4hIi .marker{fill:#333333;stroke:#333333;}#mermaid-svg-X3i2T3OFEQes4hIi .marker.cross{stroke:#333333;}#mermaid-svg-X3i2T3OFEQes4hIi svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-X3i2T3OFEQes4hIi p{margin:0;}#mermaid-svg-X3i2T3OFEQes4hIi .label{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-X3i2T3OFEQes4hIi .cluster-label text{fill:#333;}#mermaid-svg-X3i2T3OFEQes4hIi .cluster-label span{color:#333;}#mermaid-svg-X3i2T3OFEQes4hIi .cluster-label span p{background-color:transparent;}#mermaid-svg-X3i2T3OFEQes4hIi .label text,#mermaid-svg-X3i2T3OFEQes4hIi span{fill:#333;color:#333;}#mermaid-svg-X3i2T3OFEQes4hIi .node rect,#mermaid-svg-X3i2T3OFEQes4hIi .node circle,#mermaid-svg-X3i2T3OFEQes4hIi .node ellipse,#mermaid-svg-X3i2T3OFEQes4hIi .node polygon,#mermaid-svg-X3i2T3OFEQes4hIi .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-X3i2T3OFEQes4hIi .rough-node .label text,#mermaid-svg-X3i2T3OFEQes4hIi .node .label text,#mermaid-svg-X3i2T3OFEQes4hIi .image-shape .label,#mermaid-svg-X3i2T3OFEQes4hIi .icon-shape .label{text-anchor:middle;}#mermaid-svg-X3i2T3OFEQes4hIi .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-X3i2T3OFEQes4hIi .rough-node .label,#mermaid-svg-X3i2T3OFEQes4hIi .node .label,#mermaid-svg-X3i2T3OFEQes4hIi .image-shape .label,#mermaid-svg-X3i2T3OFEQes4hIi .icon-shape .label{text-align:center;}#mermaid-svg-X3i2T3OFEQes4hIi .node.clickable{cursor:pointer;}#mermaid-svg-X3i2T3OFEQes4hIi .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-X3i2T3OFEQes4hIi .arrowheadPath{fill:#333333;}#mermaid-svg-X3i2T3OFEQes4hIi .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-X3i2T3OFEQes4hIi .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-X3i2T3OFEQes4hIi .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-X3i2T3OFEQes4hIi .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-X3i2T3OFEQes4hIi .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-X3i2T3OFEQes4hIi .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-X3i2T3OFEQes4hIi .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-X3i2T3OFEQes4hIi .cluster text{fill:#333;}#mermaid-svg-X3i2T3OFEQes4hIi .cluster span{color:#333;}#mermaid-svg-X3i2T3OFEQes4hIi div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-X3i2T3OFEQes4hIi .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-X3i2T3OFEQes4hIi rect.text{fill:none;stroke-width:0;}#mermaid-svg-X3i2T3OFEQes4hIi .icon-shape,#mermaid-svg-X3i2T3OFEQes4hIi .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-X3i2T3OFEQes4hIi .icon-shape p,#mermaid-svg-X3i2T3OFEQes4hIi .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-X3i2T3OFEQes4hIi .icon-shape .label rect,#mermaid-svg-X3i2T3OFEQes4hIi .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-X3i2T3OFEQes4hIi .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-X3i2T3OFEQes4hIi .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-X3i2T3OFEQes4hIi :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}
复杂问题
CoT 提示请一步一步思考
中间步骤 1
中间步骤 2
中间步骤 3
最终答案
便于检查与纠错
思维链不仅提高了复杂任务的准确率,也把模型不可见的内部推理部分显式化,使智能体可以在观察到错误步骤时进行纠偏。
七、小结
提示工程不是简单地“把问题写得更详细”,而是围绕任务设计输入分布、示例数量和输出约束。
- Temperature 决定随机性与确定性,Top-k 和 Top-p 限制候选集合。
- 零样本、单样本和少样本提示分别适合不同稳定性和成本需求。
- 指令调优让自然语言指令直接可用,角色、示例和格式约束则让智能体输出更可解析。
- 思维链把复杂任务拆成可检查的中间步骤,是提升推理能力的重要方式。
下一篇将进入模型的输入底层,理解文本如何被切分成 Token,并完成一次开源模型的本地调用。


