Prompt优化技巧

prompt优化

1. 🏛️ System Prompt(系统提示词)优化技巧

System Prompt 是 AI 的"底层灵魂"与"运行法则",决定了模型的基本人格、行为边界和推理逻辑。

核心优化策略
  • 结构化块标记(XML/Markdown Tags) :使用 <role>, <constraints>, <context>, <workflow> 等标签将 System Prompt 模块化。大语言模型(特别是 Claude 和 GPT-4)对 XML 标签的边界识别极其敏感,能大幅降低多指令混淆的概率。
  • 负面约束的正向转化(Positive Framing) :模型对"不要做什么"的理解成本远高于"要做什么"。
    • ❌ 坏示范:"不要使用复杂词汇,不要写长句子。"
    • ✅ 好示范:"请使用通俗易懂的常用词汇,并将每个句子的长度控制在 15 个字以内。"
  • 思维链(Chain-of-Thought)引导 :在 System Prompt 中直接嵌入思考过程要求,迫使模型在给出答案前先在 <thinking> 标签内完成逻辑推理。
  • 上下文预热与防护网(System Hardening):加入防越狱(Prompt Injection)和抗诱导设定。
🛠️ 最佳实践模板
xml 复制代码
<system_instruction>
  <role>
    你是一位拥有 10 年经验的【高级 Python 代码审计专家】。你的语言风格严谨、客观、直击要害。
  </role>
  <context>
    用户将向你提交 Python 代码段,你需要审查其中的安全漏洞、性能瓶颈与代码规范问题。
  </context>
  <constraints>
    1. 必须优先指出严重的安全风险(如 SQL 注入、XSS、未处理的异常)。
    2. 只针对用户提供的代码进行分析,严禁捏造未经提供的逻辑。
    3. 如果代码没有明显缺陷,请直接回答"代码质量良好",并提供 1-2 条微优化建议。
  </constraints>
  <workflow>
    请严格按照以下步骤处理:
    Step 1: 在 <thinking> 标签内静默分析代码的结构、漏洞与潜在风险。
    Step 2: 在 <analysis> 标签内按【高危漏洞】、【性能优化】、【规范建议】三段式输出结果。
  </workflow>
</system_instruction>

2. 🎯 Few-shot Examples(少样本示例)优化技巧

Few-shot 是纠正模型格式偏离、提示输出质量最有效的手段(没有之一)。优质的样本胜过千言万语的规则说明。

核心优化策略
  • 多样性与边缘情况覆盖(Edge Cases):不要只提供"完美输入 -> 完美输出"的示例。至少包含一个正常示例、一个信息缺失/异常示例和一个模糊输入示例。

  • 展示"思考过程"(CoT Few-shot):在 Examples 中不仅给出 Input 和 Output,还要给出 Reasoning(推理步骤)。这能极大地诱导模型模仿该思维链路。

  • 标签一致性:Example 中的输入输出结构必须与 System Prompt 定义的标签完全 100% 对齐,哪怕多出一个空格都可能让模型产生幻觉。

🛠️ 最佳实践模板
xml 复制代码
### Few-shot Examples

#### Example 1: 正常输入(包含完整思考链)
User:
分析文本情感:"这件衣服样式很好看,但是线头太多,质量太差了。"

Assistant:
<thinking>
文本包含了正面评价(样式很好看)和负面评价(线头多、质量差)。结合上下文,整体购买体验偏负面,属于【混合偏负面】情感。
</thinking>
<output>
{
  "sentiment": "Negative",
  "confidence": 0.85,
  "key_phrases": ["样式好看", "线头太多", "质量太差"]
}
</output>

#### Example 2: 边缘输入(信息模糊/无法判断)
User:
分析文本情感:"今天星期三。"

Assistant:
<thinking>
文本为客观事实陈述,不包含任何主观倾向或情感词汇。
</thinking>
<output>
{
  "sentiment": "Neutral",
  "confidence": 0.99,
  "key_phrases": ["星期三"]
}
</output>

3. 📐 输出格式控制(Output Format Control)优化技巧

结构化输出(JSON, XML, Markdown Table 等)是大模型接入下游工程代码(API/数据库)的关键桥梁。

核心优化策略
  • Schema 锚定法:给出明确的 Typescript Interface 或 JSON Schema 定义,而不仅仅是简单的样本。大模型对类型定义(Type Definition)有极强的理解力。

  • "首字符强引导"(First-Token Priming):在 User 指令的末尾或 Assistant 响应的开头,预填输出的首个字符(如 { 或 ```json)。

  • 格式防御(Markdown Fences):明确要求模型将代码/JSON 包裹在特定的代码块中,避免解释性废话(如 "Here is your JSON:")混入导致 JSON 解析失败。

🛠️ 最佳实践模板
markdown 复制代码
### 输出格式要求

你必须且只能输出合法的 JSON 对象,严禁在 JSON 前后添加任何解释性文字或 Markdown 标记(如不要使用 ```json 包裹)。

JSON 必须严格遵循以下 TypeScript 接口定义:

interface RefactoredCodeResponse {
  // 优化后的完整代码
  code: string;
  // 修改的行数或函数名
  modified_scope: string[];
  // 优化原因总结(不超过 30 字)
  summary: string;
  // 时间复杂度分析(如 O(n))
  time_complexity: string;
}

响应起始提示:

你的输出必须直接以 { 开头,并以 } 结尾

4. 🛡️ 错误处理 Prompt(Error Handling & Fallback)

高鲁棒性的 Prompt 必须具备"自我校验"与"降级处理"能力,当遇到无效输入、越界风险或无法解答的问题时,能够优雅地捕获错误。

核心优化策略
  • 定义状态码与错误树:为常见错误场景定义标准错误码(Error Code),方便后端代码直接提取并做分支逻辑处理。
  • 拒绝机制(Graceful Refusal):赋予模型"说不知道"或"拒绝回答"的合法权力,这是防止模型强行"瞎编(幻觉)"的核心手段。
  • 前置校验阈值(Validation Pre-check):要求模型在回答前先检查输入条件是否满足,若不满足则立即中断后续推理并触发错误响应。
🛠️ 最佳实践模板
markdown 复制代码
### 异常与错误处理规范

在处理用户输入时,请首先进行输入合规性与完整性校验。如果触发以下异常条件,必须立即中断正常流程,并返回对应的标准 JSON 错误结构:

1. **输入信息不足 (ERR_INSUFFICIENT_INFO)**:当缺失完成任务必需的核心参数时。
2. **超出能力范围 (ERR_OUT_OF_SCOPE)**:当请求包含非法指令、政治敏感内容或非 Python 语言代码时。
3. **逻辑冲突 (ERR_LOGICAL_CONFLICT)**:当用户给出的需求前后矛盾时。

#### 错误响应 JSON 格式:
{
  "status": "error",
  "error_code": "ERR_INSUFFICIENT_INFO",
  "message": "用户未提供数据库连接字符串,无法进行 SQL 校验。",
  "action_required": "请补充提供 Target Database 类型及配置信息。"
}

#### 正常响应 JSON 格式:
{
  "status": "success",
  "data": { ... }
}

💡 资深工程师总结:Prompt 调试金字塔

在实际生产项目中,当模型表现不佳时,建议按照以下优先级进行调整排查:

  • 第 1 层(基石):检查 System Prompt 的规则与约束 是否存在歧义或冲突。

  • 第 2 层(关键):检查 Few-shot 示例 是否足够丰富,标签与格式是否与预期 100% 相同。

  • 第 3 层(结构):检查 思考链(CoT) 是否显式开启,是否留给了模型足够的计算 Token(思考空间)。

  • 第 4 层(外围):调整 Temperature / Top_P 参数(提取类/格式化任务设为 0.0-0.2,创作类设为 0.7-0.9)。

相关推荐
奈斯先生Vector35 分钟前
大模型 Agentic Workflow 架构解构:异构 API 调度与 Token 路由的多模态系统设计
开发语言·前端·架构·prompt·aigc·音视频
大模型momo2 小时前
AI 编程工程化:从 Prompt 到 Harness
人工智能·prompt·编程·agent
方乐寺村3 小时前
解密prompt系列. MCP - 工具演变 & MCP基础
网络·prompt
奈斯先生Vector4 小时前
不再手写 Prompt 链:用工作流编译器构建可验证的多模型 Agent 运行时
prompt
IT小盘13 小时前
12-Prompt不等于一句话-System-User-Context三层结构
java·windows·prompt
安逸sgr1 天前
Prompt 优化和微调有什么区别?什么场景优先用 Prompt?
人工智能·ai·大模型·prompt·agent·智能体
井川廊咏1 天前
重建 AI 认知第 3 篇:Prompt Engineering——怎么让 AI 听懂你的话
人工智能·chatgpt·prompt
风雨中的小七2 天前
解密Prompt系列71. 从DSpark聊聊大模型 Decoding 提速的技术演化
prompt
qq_454245032 天前
认知自举:LLM自我指令泛化的三层逻辑
人工智能·架构·prompt
神奇霸王龙2 天前
金融AI对决:Qwen3.7-Max屠榜降本60%
人工智能·ai·金融·prompt·aigc·ai金融