跳到主要内容

Prompt 调优

问题

上线了一个 AI 功能,效果不稳定,如何系统化地进行 Prompt 调优?

答案

一、调优流程

二、常见失败原因与修复

失败表现原因修复方法
输出格式不对指令不清晰加 JSON Schema + 示例
回答太泛缺少约束加角色设定 + 输出限制
遗漏要点Prompt 太长丢信息重要指令放在开头/结尾
幻觉严重无知识支撑引入 RAG + 拒答机制
不一致temperature 高降温 + 加 few-shot

三、调优技巧

1. 结构化 Prompt 模板

## 角色
你是一个{domain}领域的专家助手。

## 任务
{task_description}

## 约束
- 仅根据提供的上下文回答
- 无法回答时说"我不确定"
- 使用{language}回答

## 输出格式
{format_spec}

## 示例
输入: {example_input}
输出: {example_output}

## 上下文
{context}

## 用户问题
{query}

2. 关键原则

原则说明
具体胜于模糊"列出 3 个要点" 优于 "简要回答"
示例胜于描述1 个好的 few-shot 胜过 10 行指令
结构化输出要求 JSON/Markdown 格式减少解析错误
负面约束明确说"不要做什么"比只说"做什么"更有效
分步指令复杂任务拆成 Step 1, Step 2...

3. 版本管理

// Prompt 版本化管理
const promptVersions = {
'v1.0': { template: '...', metrics: { accuracy: 0.72 } },
'v1.1': { template: '...', metrics: { accuracy: 0.78 } }, // 加了 few-shot
'v1.2': { template: '...', metrics: { accuracy: 0.85 } }, // 优化了约束
}
核心心法

Prompt 调优是实验科学,不是理论推导。每次只改一个变量,用数据说话。


常见面试问题

Q1: Prompt 调优和微调怎么选?

答案

维度Prompt 调优微调
成本几乎为零需要 GPU + 数据集
迭代速度分钟级小时~天
效果上限
适用场景初期快速迭代效果瓶颈后

建议:先 Prompt 调优 → 效果瓶颈 → 再考虑微调。

Q2: 长 Prompt 和短 Prompt 哪个好?

答案
不是越长越好。过长的 Prompt:

  • 增加 Token 成本
  • 模型可能忽略中间部分(Lost in the Middle 效应)
  • 增加延迟

最佳实践:精简但完整,将关键指令放在开头和结尾。

Q3: 如何处理 Prompt 在不同模型间的迁移?

答案
不同模型对 Prompt 的敏感度不同。迁移时需注意:

  • GPT 系列对 System Prompt 响应好
  • Claude 更适合详细的 XML 标签结构
  • 开源模型可能需要更明确的格式指令
  • 每次换模型都要重新评估,不能假设 Prompt 通用

相关链接