3、提示词核心要素:角色设定、任务描述、输出格式、约束条件、示例引导
写提示词这事儿,说白了就是跟AI对话。但很多人把它想得太玄乎了。
我刚开始做提示词工程时,也踩过不少坑。明明问的是同一个问题,换个说法,AI给出的答案天差地别。后来我总结出一套方法,就是今天要讲的五个核心要素。
这五个要素,就像做菜的五个步骤。少一个,菜可能就糊了。
3.1 角色设定:给AI一个身份
你想想看,如果你问一个陌生人「这个代码怎么优化」,他可能给你讲一堆理论。但如果你问的是「资深Java架构师」,他给你的答案会完全不同。
角色设定,就是告诉AI:「你现在是谁」。
核心逻辑:角色决定了AI的知识范围、表达方式和思考深度。
我个人习惯在提示词开头就明确角色。比如:
你是一名有10年经验的Python后端工程师,
擅长高并发系统设计和性能优化。
为什么这么做?因为AI模型训练时见过大量不同角色的对话。你给它一个角色,它就能自动切换到对应的「人格模式」。
小技巧:角色越具体越好。不要只说「你是程序员」,要说「你是专注微服务架构的Java高级工程师」。越具体,AI越精准。
3.2 任务描述:说清楚要干什么
任务描述是提示词的核心。很多新手犯的错误是:描述得太模糊。
比如「帮我写个代码」——这太笼统了。AI不知道你要写什么语言、什么功能、什么复杂度。
我在项目中遇到过最典型的案例:
❌ 错误写法:
帮我写一个用户登录功能。
✅ 正确写法:
请用Python Flask框架,实现一个基于JWT的用户登录接口。
要求:
1. 支持邮箱和密码登录
2. 返回access_token和refresh_token
3. 密码使用bcrypt加密存储
4. 登录失败超过5次,锁定账号30分钟
看到了吗?任务描述越详细,AI越能给出你想要的答案。
注意:任务描述不要超过200字。太长的描述,AI会丢失重点。我一般控制在3-5个要点。
3.3 输出格式:告诉AI怎么回答
这个要素很多人会忽略。但说实话,它决定了你能不能直接使用AI的输出。
你想想看,如果你要的是一个表格,AI给你一段文字。你还得手动整理,多麻烦。
我建议在提示词里明确指定输出格式:
请按以下格式输出:
1. 先给出结论(一句话)
2. 然后列出3个关键点(用序号标注)
3. 最后给出代码示例(用代码块包裹)
或者更结构化的:
| 要素 | 说明 | 示例 |
|---|---|---|
| 表格 | 适合对比数据 | 请用表格对比MySQL和PostgreSQL |
| 列表 | 适合步骤说明 | 请用有序列表列出部署步骤 |
| 代码块 | 适合代码展示 | 请用代码块展示完整实现 |
| Markdown | 适合文档输出 | 请用Markdown格式输出 |
我的习惯:如果输出要直接复制到文档里,我会要求「请用Markdown格式输出」。这样省去我二次排版的时间。
3.4 约束条件:给AI划边界
约束条件,说白了就是告诉AI「不要做什么」。
为什么要加约束?因为AI有时候会「放飞自我」。比如你问它一个技术问题,它可能给你讲一堆无关的背景知识。
我曾经遇到过这样的情况:让AI写一个排序算法,它给我写了10种排序方法的对比。我只想要一种啊!
所以现在我会加约束条件:
约束条件:
- 只使用Python标准库,不要引入第三方依赖
- 代码行数不超过50行
- 不要使用递归,只使用循环实现
- 时间复杂度要求O(n log n)
关键点:约束条件要具体、可量化。不要说「代码要简洁」,要说「代码不超过30行」。
3.5 示例引导:给AI一个模板
这是五个要素里最容易被忽视的,但效果最好。
你想想看,如果你想让AI按照某种风格输出,最好的方式是什么?给它一个例子。
我习惯在提示词最后加一个示例:
请参考以下示例的格式和风格来回答:
示例:
问题:如何优化数据库查询?
回答:
1. 核心问题:慢查询通常由全表扫描引起
2. 解决方案:添加索引、优化SQL语句
3. 代码示例:
CREATE INDEX idx_user_email ON users(email);
4. 注意事项:索引不是越多越好,会影响写入性能
有了这个示例,AI就知道你要的是「问题-解决方案-代码-注意事项」这种结构。它输出的内容就会非常规整。
避坑指南:我曾经给过一个太复杂的示例,结果AI完全照搬了示例的格式,反而忽略了问题本身。示例要简洁,只展示结构,不展示内容。
3.6 五个要素的组合使用
这五个要素不是孤立的。它们要组合在一起,才能发挥最大效果。
我常用的提示词模板是这样的:
【角色设定】
你是一名资深前端工程师,精通React和TypeScript。
【任务描述】
请帮我实现一个可复用的表单验证组件。
要求支持:必填校验、邮箱格式校验、密码强度校验。
【输出格式】
请按以下结构输出:
1. 组件设计思路(2-3句话)
2. 完整代码(使用TypeScript)
3. 使用示例
4. 注意事项
【约束条件】
- 使用React Hooks,不要使用类组件
- 代码中不要使用任何第三方验证库
- 组件需要支持自定义错误提示
【示例引导】
参考以下格式:
组件名称:useFormValidator
输入:表单字段配置
输出:验证结果对象
你看,五个要素都齐了。AI拿到这样的提示词,基本不会跑偏。
总结一下:
- 角色设定:告诉AI「你是谁」
- 任务描述:告诉AI「做什么」
- 输出格式:告诉AI「怎么做」
- 约束条件:告诉AI「别做什么」
- 示例引导:告诉AI「做成什么样」
嗯,这五个要素,你记住了吗?下次写提示词的时候,试着把这五个要素都用上。你会发现,AI的回答质量会提升一大截。
我个人建议,刚开始可以先从「角色设定+任务描述」开始。等熟练了,再逐步加入其他要素。别一口气全用上,容易把自己搞晕。