阅读视图

发现新文章,点击刷新页面。

提示词工程入门-03

前言

"写个代码" "帮我写个快速排序函数,用 Python 实现,要求时间复杂度 O(n log n),添加详细注释"

同样是让 AI 写代码,为什么第一个指令得到的是模糊的回复,而第二个能得到精确满足需求的代码?

这就是提示词工程(Prompt Engineering)的魔力。

好的 Prompt = 好的输出。今天我们来学习如何写出让 AI "秒懂"的提示词。


1. 什么是提示词工程

提示词(Prompt):你给大模型的输入指令

提示词工程(Prompt Engineering):设计和优化 Prompt 的艺术和科学

Prompt 的黄金结构

┌─────────────────────────────────────────┐
│           Prompt 结构模板                 │
├─────────────────────────────────────────┤
│                                         │
│  1. 角色(Role)                         │
│     "你是一个经验丰富的程序员..."        │
│                                         │
│  2. 任务(Task)                         │
│     "请写一个快速排序函数..."           │
│                                         │
│  3. 上下文(Context)                    │
│     "用于处理整数数组..."               │
│                                         │
│  4. 约束(Constraints)                  │
│     "要求O(n log n)时间复杂度..."       │
│                                         │
│  5. 格式(Format)                       │
│     "返回JSON格式,包含code和说明..."    │
│                                         │
│  6. 示例(Examples)                     │
│     "输入:[3,1,2] 输出:[1,2,3]"         │
│                                         │
└─────────────────────────────────────────┘

2. 案例

案例 1:明确角色的力量

❌ 没有角色

"怎么提高编程能力?"

✅ 有角色

"你是一位有10年经验的编程导师,
曾经指导过数百名初学者成为资深工程师。
请给我提供提高编程能力的建议。"

效果差异:有角色的 Prompt 能得到更有针对性、更有深度的回答。

案例 2:具体明确的任务

❌ 模糊的任务

"帮我写个文章"

✅ 明确的任务

"请写一篇关于人工智能发展历史的文章,
要求:
1. 字数800-1000字
2. 包含三个主要发展阶段
3. 提到GPT、Llama等关键模型
4. 语言风格通俗易懂"

SMART 原则

  • Specific(具体明确):写 Python 代码而非"写代码"
  • Measurable(可衡量):100字以内
  • Achievable(可达成):不要求超出模型能力
  • Relevant(相关性):任务与上下文相关
  • Time-bound(有时限):30秒内能读完的介绍

案例 3:提供充足上下文

❌ 缺少上下文

"这个代码有什么问题?"
[粘贴一段代码]

✅ 充足上下文

"我正在开发一个电商网站的用户认证功能。
这段Python代码用于验证用户密码,
但总是返回False,帮我找出问题:

[粘贴代码]

预期行为:正确密码返回True,错误密码返回False
实际行为:所有密码都返回False"

上下文要素清单

  • 背景:这是什么项目/场景?
  • 目标:想要达到什么效果?
  • 现状:当前是什么情况?
  • 问题:遇到了什么具体问题?

案例 4:使用示例的魔力

少样本学习示例

例子1:
输入:苹果
分类:水果

例子2:
胡萝卜
分类:蔬菜

例子3:
香蕉
分类:?

思维链示例

问题:小明有5个苹果,吃了2个,又买了3个,现在有几个?

思考过程:
1. 初始:小明有5个苹果
2. 吃了2个:5 - 2 = 3个
3. 买了3个:3 + 3 = 6个
答案:6个

现在请解决:
小红有10颗糖,给了妹妹3颗,妈妈又给了她5颗,现在有几颗?

效果:示例能让 AI 快速理解你想要的输出模式。

案例 5:格式化输出

❌ 不好的 Prompt

"分析这段代码"

✅ 好的 Prompt

"请分析以下代码,并按以下格式输出:

## 代码功能
[简要说明代码的功能]

## 时间复杂度
[分析时间复杂度]

## 改进建议
[列出3条具体改进建议]

## 重构代码
\`\`\`python
[重构后的代码]
\`\`\`"

案例 6:常用 Prompt 模板

代码生成模板

你是一个{语言}专家。
请写一个{功能描述}的{语言}函数,
要求:
1. {要求1}
2. {要求2}
3. {要求3}

请包含:
- 详细的注释
- 错误处理
- 使用示例

Bug 调试模板

我在开发一个{项目类型}项目,
这段{语言}代码出现了{问题描述}:

\`\`\`{语言}
{代码}
\`\`\`

预期行为:{预期}
实际行为:{实际}

请帮我:
1. 找出问题所在
2. 解释问题原因
3. 提供修复方案

总结

核心技巧速记

技巧 说明 示例
明确角色 给 AI 分配身份 "你是一位经验丰富的程序员"
具体任务 清楚说明要做什么 "写一个快速排序,O(n log n)"
充足上下文 提供背景信息 "这是电商网站的推荐功能"
使用示例 展示期望格式 "输入A输出B,输入C输出?"
明确格式 说明输出形式 "以 JSON 格式返回"

Prompt 检查清单

发送 Prompt 前,问自己:

  • 角色清晰:是否告诉 AI 它的角色?
  • 任务明确:是否清楚说明了要做什么?
  • 上下文充足:是否提供了足够的背景信息?
  • 约束具体:是否说明了限制和要求?
  • 格式明确:是否说明了输出格式?
  • 示例充分:是否提供了参考示例?

常见陷阱

陷阱 问题 解决方案
过于简短 "帮我优化代码" 说明具体优化目标
矛盾要求 "性能最好但代码简洁" 明确优先级
一次太多 "写完整电商系统" 分解为小任务
缺少验证 "计算复杂数学" 要求给出计算步骤

高级技巧

1. 迭代优化

第一次尝试 → 评估结果 → 修改 Prompt → 再次尝试

2. 温度参数调整

  • 低温度(0.1-0.3):更确定、一致的输出
  • 中等温度(0.4-0.7):平衡创造性和准确性
  • 高温度(0.8-1.0):更创造性、多样化的输出

3. 分解复杂任务

"设计一个博客系统"
↓ 分解为
"1. 设计数据库结构"
"2. 设计用户认证 API"
"3. 设计文章发布 API"
  1. 不要期望一次完美:迭代优化是常态
  2. 从简单开始:先验证基本方向,再添加细节
  3. 保存好用的 Prompt:建立自己的模板库
  4. 对比实验:用不同版本测试效果差异
  5. 学习他人经验:参考优秀的 Prompt 示例

主流模型对比-02

前言

GPT-4、Claude、Llama、Qwen、DeepSeek...

面对层出不穷的大语言模型,你是否也曾感到迷茫?

  • 选贵的 GPT-4,还是用免费的开源模型?
  • 中文场景应该用什么模型?
  • 本地部署和云端 API 各有什么优劣?
  • 性价比最高的选择是什么?

选对模型,不仅能节省成本,还能获得更好的效果。今天我们来聊聊如何做出明智的选择。


1. 什么是模型选型

1.1 闭源模型 vs 开源模型

特点 闭源模型 开源模型
代表 GPT-4、Claude、Gemini Llama、Qwen、DeepSeek
性能 性能最强 快速追赶中
成本 价格昂贵 免费或低价
部署 仅云端 可本地部署
隐私 数据上传云端 完全私密
定制 难以定制 高度可定制

1.2 重要指标

指标 说明
参数量 模型规模,通常越大越强
上下文长度 能处理的文本长度
推理能力 逻辑思考和问题解决能力
中文能力 对中文的理解和生成质量
API 价格 每 1M tokens 的费用

2. 案例

案例 1:主流闭源模型对比

模型 核心优势 价格 最佳场景
GPT-4o 综合能力最强 $5/1M 输入 复杂任务、多模态
Claude 3.5 Sonnet 长文本、推理强 $3/1M 输入 编程、写作
Gemini 1.5 Pro 超长上下文(1M) 按用量计费 视频、长文档处理

选型建议:追求极致性能时选择闭源模型。

案例 2:主流开源模型对比

模型 参数量 核心优势 硬件要求 最佳场景
Qwen2.5 7B 70亿 中文优秀 6GB 显存 中文本地部署
Llama 3.1 8B 80亿 通用平衡 8GB 显存 英文场景
DeepSeek-V3 680亿 性价比之王 24GB 显存 编程任务
GLM-4 9B 90亿 国产化 6GB 显存 企业应用

选型建议:预算有限或关注隐私时选择开源模型。

案例 3:按场景选模型

场景 1:中文日常对话

推荐:Qwen2.5 7B 或 DeepSeek-V3
原因:
- 中文能力强
- API 价格低(¥1/1M 输入)
- 响应速度快

场景 2:代码生成

推荐:DeepSeek-V3 或 Claude 3.5 Sonnet
原因:
- 代码质量高
- 理解上下文能力强
- 调试能力出色

场景 3:长文档处理

推荐:Claude 3 或 Gemini 1.5 Pro
原因:
- 支持 200K-1M tokens 上下文
- 总结能力强
- 细节保留好

场景 4:本地部署

推荐:Qwen2.5 7B (INT4 量化)
原因:
- 显存需求低(~4GB)
- 中文优化好
- 性能接近 GPT-3.5

案例 4:性价比对比

云端 API 价格对比(1M tokens)

模型 输入价格 输出价格 性价比评级
DeepSeek-V3 ¥1 ¥2 ⭐⭐⭐⭐⭐
Qwen-turbo ¥0.8 ¥2 ⭐⭐⭐⭐⭐
GPT-4o $5 $15 ⭐⭐
Claude 3.5 $3 $15 ⭐⭐

结论:DeepSeek 和 Qwen 性价比最高。

案例 5:本地部署成本分析

配置 硬件成本 月电费 年总成本 何时回本
Qwen2.5 7B ¥3000 ¥50 ¥3600 使用 > 1 年
Qwen2.5 14B ¥6000 ¥80 ¥6960 使用 > 1.5 年

结论:长期使用(>1年),本地部署更划算。


总结

  1. 没有最好的模型,只有最适合的模型
  2. 根据实际场景选择,而非盲目追求最新最强
  3. 性价比很重要,尤其是在大规模使用时
  4. 开源模型已足够应对大部分场景
  5. 长期使用考虑本地部署,短期项目用云端 API
❌