LLM 核心参数配置

随机性控制参数

参数 作用原理 低值效果 高值效果 适用场景 使用建议
温度
(Temperature) 调整输出概率分布形状 确定性高,聚焦最可能结果 随机性强,输出多样化 低值:事实问答
高值:创意生成 与Top_p二选一
Top_p
(核采样) 限定概率质量前p%的词元采样池 输出精准稳定 输出多样性提升 低值:技术文档生成
高值:故事续写 与温度参数互斥

长度控制参数

参数 功能 典型设置 使用场景
最大长度
(Max Length) 限制生成token总数 128-2048 tokens 控制响应篇幅,避免冗余
停止序列
(Stop Sequences) 检测到指定字符串时终止生成 "11.""\n\n" 限制列表项数量/强制分段

重复性控制参数

参数 惩罚机制 低值效果 高值效果 使用建议
频率惩罚
(Frequency Penalty) 按词元出现次数惩罚 允许适度重复 强制词汇多样性 与存在惩罚二选一
存在惩罚
(Presence Penalty) 出现过的词元施加固定惩罚 允许主题聚焦 推动探索新概念 创意写作首选

关键原则

  • 温度/Top_p频率惩罚/存在惩罚避免同时调整

  • 参数效果因模型版本而异,需任务驱动实验

提示工程核心方法论

提示词基础结构

一个基础的样式

[指令] + [上下文] + [输入数据] + [输出指示]
  • 指令:明确任务动作(分类翻译

  • 上下文:补充背景知识(可省略)

  • 输入数据:待处理内容(用户问题/文本)

  • 输出指示:格式约束(用JSON输出

示例

提示类型对比

类型 结构 优势 适用场景
零样本提示 直接指令/问题 简洁高效 模型熟悉的简单任务
少样本提示 示例1+答案1 → 示例2+答案2 → 待回答问题 激发上下文学习能力 复杂推理/格式敏感任务

例子

提示设计五大黄金法则

从简到繁迭代

  • 基础指令 → 添加上下文/格式约束 → 引入少样本示例

  • 例子:翻译文本翻译成西班牙语并输出为JSON

指令明确具体

  • 使用强动作动词生成、分类、总结

  • 避免模糊:❌“简短说明” → ✅“用2句话解释,每句≤20字”

输出格式约束

  • 显式声明格式列表、JSON、Markdown表格

  • 例子:输出:<关键词1>,<关键词2>,...

正向引导原则

  • 聚焦“要做什么”:✅“直接推荐全球热门电影”

  • 替代“不要做”:❌“不要询问用户兴趣”

上下文精准投放

  • 专业任务添加术语解释

  • 长文本使用###分隔指令与输入

参数与提示的协同策略

任务类型 推荐参数配置 提示设计重点
事实性问答 温度=0.2, Top_p=0.3 零样本+明确指令(用事实回答
创意写作 温度=0.8, 存在惩罚=0.5 少样本示例+开放式指令
技术文档生成 Top_p=0.5, 频率惩罚=0.7 输出格式约束(Markdown标题
多轮对话 停止序列="\n用户:" 注入历史对话上下文

提示词任务应用指南

文本概括

  • 核心目标:压缩长文本为精炼摘要

  • 关键技巧:指令精度控制:通过限定语句实现精准概括

原始指令:"解释抗生素" → 模型生成详细解释  
优化指令:"用一句话解释以上内容:" → 模型生成单句摘要
  • 长度调节:

    • "用一段话总结" → 生成中等篇幅的摘要

    • "用三句话概括" → 从多个角度提炼内容

信息提取

  • 核心目标:精准定位并提取特定信息

  • 高效模板:

[提取对象描述] + [原文段落]  
↓  
"提及上述[目标信息类型]:"
  • 成功要素:

    • 明确指定提取对象的属性(例如:产品名称、人名、数据)

    • 使用冒号结尾以强制模型聚焦于目标信息

提取对象描述:某款药物  
原文段落:青霉素是一种常见的抗生素...  
→ 提及上述产品名称:青霉素

问答系统

  • 核心目标:基于给定的上下文生成准确的回答

  • 黄金结构:

指令:"基于上下文回答问题。答案要简短。"  
语境:"上下文:[背景信息]"  
问题:"问题:[具体问题]"  
响应:"答案:[模型输出位]"  
  • 增强技巧:

    • 设置容错机制(例如:"如果不确定,请说'不确定'")

  • 案例:

上下文:张华是北京大学的学生。  
问题:张华就读于哪所大学?  
→ 答案:北京大学

文本分类

  • 核心目标:生成标准化的分类输出

阶段

方法

问题

优化方案

基础版

"分类:我觉得食物还行。"

输出"中立"(需确保一致)

提供示例输出

进阶版

添加格式示例: "文本:假期还行。// 情感:中立"

格式不一致

强制匹配格式

  • 致命细节:

    • 标签拼写校验(避免错误拼写)

    • 使用冒号分隔符锁定输出格式(例如:"情感:")

对话系统

  • 核心目标:控制对话的角色和风格

  • 角色提示模板:

场景设定:"以下是与[角色]的对话"  
风格指令:"助手的语气是[风格描述]"  
对话历史:"人类:... AI:..."  
当前输入:"人类:[新问题]"  
AI:[待生成]  
  • 风格切换实例:

指令

输出特征

"语气是专业的"

使用专业术语,内容详尽

"适合小学生"

使用基础词汇和短句

  • 示例:

场景设定:以下是与老师的对话  
风格指令:助手的语气是专业的  
人类:什么是化学反应?  
AI:化学反应是指物质之间发生相互作用,生成新物质的过程。

代码生成

  • 核心目标:生成可执行的代码

  • 任务分级策略:

  • 简单任务(直接指令)

"/* 询问用户姓名并说你好 */"  
→ JavaScript: 
let name = prompt("请输入您的姓名"); 
console.log("你好," + name);
  • 复杂任务(先提供数据结构)

表结构:部门表(部门ID,部门名称)... 学生表(学生ID,姓名,部门ID)...  
查询指令:创建查询计算机系学生的MySQL查询  
→ 输出:SELECT 姓名 FROM 学生表 WHERE 部门ID IN (SELECT 部门ID FROM 部门表 WHERE 部门名称 = '计算机系');
  • 成功铁律:对于数据库操作,必须提供完整的表结构(schema)

推理任务

  • 核心目标:解决逻辑推理问题

  • 突破性方法:使用分步指令

原始指令:"奇数相加得偶数?15,32,5..." → 错误回答"否"  
优化指令:  
"通过以下步骤解决:  
1. 识别奇数  
2. 将它们相加  
3. 指出总和是奇数还是偶数"  
→ 正确步骤:15 + 5 + 13 + 7 + 1 = 41(奇数)

思维链雏形

  • 强制将复杂问题分解为多个步骤

  • 显式定义每个计算步骤

跨任务核心原则

  • 指令决定输出精度

    • 模糊指令 → 随机输出

    • "用两句话解释" → 精准控制输出长度

  • 格式约束高于内容

    • 文本分类示例输出 → 确保100%格式匹配

    • "答案:"占位符 → 锁定响应位置

  • 任务复杂度分级处理

    • 简单任务:通过基础指令直接生成输出。

    • 复杂任务:通过分步指令引导,使用思维链生成输出。

    • 专业任务:基于数据结构生成精确输出。

  • 容错机制不可或缺

  • 知识边界声明:"不确定"

  • 格式校验:预先提供示例输出