提示工程实战:让大模型输出高质量结果的 7 个核心技巧

很多人觉得写 Prompt 就是"把需求说清楚",但实际用起来发现:同样一个任务,不同的写法能让输出质量天差地别。提示工程(Prompt Engineering)已经从玄学变成了有章可循的工程实践。

一、角色设定:先告诉模型"你是谁"

你是一位有 10 年经验的 Python 后端工程师,擅长 FastAPI 和数据库优化。
请审查以下代码,重点关注性能和安全性。

角色设定不是装饰,它直接影响模型的知识边界和表达风格。设定越具体,输出越聚焦。

二、Few-shot 示例:用样本代替描述

与其写一大段"请按这个格式输出",不如直接给 2-3 个示例:

请按以下格式提取信息:

输入:张三,28岁,北京,工程师
输出:{"name": "张三", "age": 28, "city": "北京", "role": "工程师"}

输入:李四,35岁,上海,产品经理
输出:{"name": "李四", "age": 35, "city": "上海", "role": "产品经理"}

输入:王五,22岁,深圳,设计师
输出:

模型会自动学习示例中的模式,比任何文字描述都有效。

三、Chain-of-Thought:引导逐步推理

对于复杂任务,加上"让我们一步步思考"能显著提升准确率:

请一步步分析这个 SQL 查询的性能问题:

SELECT * FROM orders 
WHERE user_id IN (SELECT id FROM users WHERE status = 'active')
AND created_at > '2026-01-01'

让我们一步步思考:
1. 先看子查询的效率
2. 再看索引使用情况
3. 最后看整体执行计划

四、输出格式约束

明确告诉模型你想要什么格式:

请用以下 JSON 格式返回,不要添加任何额外文字:
{
  "summary": "一句话摘要",
  "key_points": ["要点1", "要点2", "要点3"],
  "confidence": 0.0-1.0
}

格式约束越严格,输出越可控。

五、负面指令:告诉模型不要做什么

有时候"不要做什么"比"要做什么"更重要:

请帮我重写这段代码。要求:
- 不要改变原有函数签名
- 不要引入新的依赖
- 不要添加注释
- 不要使用 try-except 吞掉异常

六、分步拆解复杂任务

一个 Prompt 解决不了的问题,拆成多步:

  • **第一步**:分析需求,列出功能点
  • **第二步**:为每个功能点生成代码
  • **第三步**:整合并优化
  • **第四步**:写测试用例

每一步都用独立的 Prompt,比一步到位效果好得多。

七、温度参数的工程化使用

  • `temperature=0`:适合代码生成、数据提取等需要确定性的任务
  • `temperature=0.7`:适合文案撰写、创意生成等需要多样性的任务
  • `temperature=1.0+`:适合头脑风暴、探索性任务

生产环境中,同一个系统里不同环节应该用不同的温度设置。

总结

提示工程的核心不是"会说话",而是把模糊的需求转化为模型能执行的精确指令。掌握这 7 个技巧,你能让同一个模型的输出质量提升一个档次。