提示词基本结构
一个有效的提示词通常包含四个核心要素。掌握这个结构,你的提示词效果会大幅提升。
四要素框架
| 要素 | 问题 | 示例 |
|---|---|---|
| 角色 | AI应该以什么身份回答? | 你是一位资深Python工程师... |
| 指令 | AI具体要做什么? | 请帮我写一个爬虫... |
| 背景 | 需要知道什么前提信息? | 这是一个电商网站,需要抓取... |
| 限制 | 有什么格式/边界要求? | 输出JSON格式,不要超过100字 |
完整示例
普通提示词(效果一般)
帮我写一个函数优化后的提示词(效果好)
你是一位有10年经验的Python后端工程师。(角色)
请帮我写一个函数,用于验证用户密码的强度。(指令)
背景:
- 密码必须至少8个字符
- 需要包含大小写字母、数字和特殊字符
- 这是一个面向企业用户的系统,安全性要求较高(背景)
要求:
- 返回一个字典,包含 is_valid (bool) 和 message (str) 两个字段
- 函数需要有类型提示和详细的文档字符串
- 不要使用正则表达式,用字符串方法实现(限制)各要素详解
1. 角色(Role)
给AI设定一个身份,它会调取该领域的知识模式。
好的角色设定:
- 你是一位资深前端工程师,专精React和TypeScript
- 你是一位数据科学家,擅长数据分析和可视化
- 你是一位技术文档撰写专家
避免的角色设定:
- 你是一个AI(没有意义)
- 你是一个程序员(太宽泛)2. 指令(Instruction)
明确告诉AI要做什么,越具体越好。
好的指令:
- 写一个函数,计算两个日期之间的工作日数
- 分析这段代码的时间复杂度,并给出优化建议
- 将这个API响应转换为TypeScript接口定义
避免的指令:
- 写代码
- 分析一下
- 帮帮忙3. 背景(Context)
提供必要的上下文信息,帮助AI理解任务。
有用的背景:
- 这是给初学者看的教程,需要通俗易懂
- 项目使用Python 3.10,不能用更新版本的特性
- 这段代码会运行在资源受限的嵌入式设备上
- 目标用户是不懂技术的业务人员
无用的背景:
- 我很急(AI不关心)
- 我是新手(不提供有用信息)4. 限制(Constraints)
设定边界和格式要求。
常见的限制:
- 输出格式:JSON / 表格 / Markdown / 纯代码
- 长度限制:不超过200字 / 最多3个要点
- 不要:不要使用第三方库 / 不要添加注释
- 必须:必须包含错误处理 / 必须有单元测试实战技巧
技巧1:用检查清单验证
写完提示词后,检查是否包含四个要素:
[ ] 角色 - 设定了专家身份
[ ] 指令 - 明确要做什么
[ ] 背景 - 提供了必要信息
[ ] 限制 - 设定了边界条件技巧2:用模板加速
创建自己的提示词模板:
# 代码生成模板
你是一位{专业领域}专家。
请帮我{具体任务}。
背景:
{背景信息}
要求:
{具体要求}技巧3:迭代优化
第一次效果不好?逐步添加要素:
第一版:帮我写一个登录函数
第二版:你是一位后端工程师,帮我写一个登录函数
第三版:你是一位后端工程师,帮我写一个登录函数,这是给电商网站用的
第四版:你是一位后端工程师,帮我写一个登录函数,这是给电商网站用的,
返回JSON格式,包含token和用户信息常见错误
错误1:太简短
❌ 写个排序
✅ 写一个Python函数,实现快速排序算法,
接收一个整数列表,返回排序后的列表,
包含详细的注释说明每一步的逻辑错误2:信息混乱
❌ 我需要一个函数,不对是一个类,其实还是函数吧,
算了你看着办,反正要排序,用Python,或者Java也行
✅ 用Python写一个排序函数,使用快速排序算法错误3:期望AI读心
❌ 照我想要的样子写
✅ 我期望的输出格式如下:
{
"sorted_list": [1, 2, 3],
"time_complexity": "O(n log n)"
}练习
试试优化以下提示词:
- "帮我写个爬虫" → 使用四要素框架改进
- "解释这段代码" → 添加背景和限制
- "优化这个函数" → 明确优化目标和约束
下一步
掌握了基本结构后,让我们学习 三种消息角色。