提示词工程入门-03

作者:一诺滚雪球日期:2026/2/6

前言

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

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

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

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


1. 什么是提示词工程

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

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

Prompt 的黄金结构

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

2. 案例

案例 1:明确角色的力量

❌ 没有角色

1"怎么提高编程能力?"
2

✅ 有角色

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

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

案例 2:具体明确的任务

❌ 模糊的任务

1"帮我写个文章"
2

✅ 明确的任务

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

SMART 原则

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

案例 3:提供充足上下文

❌ 缺少上下文

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

✅ 充足上下文

1"我正在开发一个电商网站的用户认证功能。
2这段Python代码用于验证用户密码,
3但总是返回False,帮我找出问题:
4
5[粘贴代码]
6
7预期行为:正确密码返回True,错误密码返回False
8实际行为:所有密码都返回False"
9

上下文要素清单

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

案例 4:使用示例的魔力

少样本学习示例

1例子1:
2输入:苹果
3分类:水果
4
5例子2:
6胡萝卜
7分类:蔬菜
8
9例子3:
10香蕉
11分类:?
12

思维链示例

1问题:小明有5个苹果,吃了2个,又买了3个,现在有几个?
2
3思考过程:
41. 初始:小明有5个苹果
52. 吃了2个:5 - 2 = 3个
63. 买了3个:3 + 3 = 6个
7答案:6个
8
9现在请解决:
10小红有10颗糖,给了妹妹3颗,妈妈又给了她5颗,现在有几颗?
11

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

案例 5:格式化输出

❌ 不好的 Prompt

1"分析这段代码"
2

✅ 好的 Prompt

1"请分析以下代码,并按以下格式输出:
2
3## 代码功能
4[简要说明代码的功能]
5
6## 时间复杂度
7[分析时间复杂度]
8
9## 改进建议
10[列出3条具体改进建议]
11
12## 重构代码
13\`\`\`python
14[重构后的代码]
15\`\`\`"
16

案例 6:常用 Prompt 模板

代码生成模板

1你是一个{语言}专家。
2请写一个{功能描述}的{语言}函数,
3要求:
41. {要求1}
52. {要求2}
63. {要求3}
7
8请包含:
9- 详细的注释
10- 错误处理
11- 使用示例
12

Bug 调试模板

1我在开发一个{项目类型}项目,
2这段{语言}代码出现了{问题描述}:
3
4\`\`\`{语言}
5{代码}
6\`\`\`
7
8预期行为:{预期}
9实际行为:{实际}
10
11请帮我:
121. 找出问题所在
132. 解释问题原因
143. 提供修复方案
15

总结

核心技巧速记

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

Prompt 检查清单

发送 Prompt 前,问自己:

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

常见陷阱

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

高级技巧

1. 迭代优化

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

2. 温度参数调整

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

3. 分解复杂任务

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

提示词工程入门-03》 是转载文章,点击查看原文


相关推荐


耗时 20 天,AI 漫剧 APP 和 Web 全部开源, 已斩获 764 星!
苍何2026/1/28

这是苍何的第 474 篇原创! 大家好,我是消失了一段时间的苍何。 1 月 5 号,我写了篇文章,并开源了 AI 漫剧 APP,获得了很多朋友的喜欢。 然后在 GitHub 上一共获得了 764 星和 181 fork,让我有些吃惊。 说实话,这个项目远超我们的预期,甚至连歪果哥都来给我们提 issue,希望支持双语。 甚至还有老板来咨询问我卖不卖这个 APP,我说,大哥,咱都开源了,自己去整吧,不用付费,哈哈哈。 这或许就是开源的魅力吧。 但我发现,APP 还是不大方便,评论区也不少求


万字长文!搞懂机器学习中的概率图模型
aicoting2026/1/19

推荐直接网站在线阅读:aicoting.cn 概率图模型(Probabilistic Graphical Models, PGM)是一类结合概率论与图论的强大工具,用于描述多个随机变量之间的依赖关系。它通过图结构将复杂的联合概率分布分解为局部条件概率分布,使得对高维数据建模和推断变得可行且高效。 根据图的类型,PGM 可分为有向图模型(如贝叶斯网络)和无向图模型(如马尔可夫随机场)。贝叶斯网络利用有向无环图表示变量之间的因果关系,适合建模因果推断和序列数据;马尔可夫随机场则通过无向图捕捉变量之


WPF样式进阶实战:外置样式+MVVM主题切换+样式优先级全解析
bugcome_com2026/1/11

在WPF开发中,样式(Style)是实现界面美化、统一风格、提高代码复用性的核心利器。但很多开发者在实际项目中,容易陷入「内联样式冗余」「主题切换困难」「样式优先级混乱」的困境,写出难以维护的XAML代码。 今天我们就通过一个完整的模块化实战项目(附全部可运行代码),从「外置样式封装」到「MVVM模式主题切换」,再到「样式优先级核心知识点」,全方位解锁WPF样式的高级用法,最终实现一个支持「浅/深色全局主题切换」「按钮专属样式切换」「传统后台代码样式切换」的完整案例。 一、项目架构梳理:模块化让


2025年终总结,智启
袁庭新2026/1/3

大家好,我是袁庭新。2025年就这么溜走了,对我而言,是极为不寻常的一年,总是想着用文字把它记录下来。 文章输出 写是为了更好的思考,坚持写作,力争更好的思考。 2025年累计发表54篇原创文章,平均1周更1篇,大多数是技术相关。2025年我有个转变——每个月写一篇月总结,对这个月主要做了什么事做一个系统的梳理,尽量以可量化的形式呈现,比如,这个月写了多少篇文章,拍了几条短视频,录了几节课,办了几场讲座等诸如此类。 为什么采用这种方式呢?前些年我也不是没写过年终总结,年底一回顾,感觉又稀里糊涂过


一文带你吃透 Java 反射机制
BestAns2025/12/24

一文带你吃透 Java 反射机制 在Java开发中,“反射”绝对是个让人又爱又恨的知识点。有人觉得它晦涩难懂、破坏封装,也有人靠它实现了各种灵活的功能——比如框架开发、动态配置加载。 其实反射没那么神秘,今天就给大家用最通俗的语言讲清楚:反射到底是什么、怎么用,以及反射在实际开发中的应用。 一、Java反射到底是什么? 我们先从Java的核心特性“封装”说起。平时写代码时,我们通过new关键字创建对象,调用类的方法、访问属性,都是在“编译期”就确定好要操作的类,比如User user = new


为什么说 AI 赋能前端开发,已经不是选择题,而是必然趋势?
西陵2025/12/16

首发于公众号 code进化论,欢迎关注。 前言 这几年 AI 在前端开发里的能力几乎是肉眼可见地进化”。从最早只能帮我们做做代码补全、提示几个参数,例如早期的 comate。到后来能够独立生成一个完整的 React/Vue 组件,连逻辑、样式和交互都能自动写好,例如 cursor 和 claude。再到现在,AI 已经能根据一句自然语言去搭建整个前端项目,自动创建页面、路由、接口层,甚至跑通基础业务流程,例如 v0 和 bolt.new。AI 的角色正在从“聪明的编辑器”变成“能独立干活的虚拟工


计算机十万个为什么--数据库索引
无限大62025/12/8

计算机十万个为什么--数据库索引 大家好,欢迎来到最新一期的无限大博客。 突然发现自己对数据库相关的内容掌握不够扎实,于是就去学习了一下,顺便也将自己的理解写成了一篇博客。 希望这篇文章能对大家有所帮助 数据库索引:给数据仓库装个"智能导航系统" 🧭 想象一下,你走进一个占地 1000 平方米的超级图书馆 📚,里面塞满了几十万本书,却连个分类牌都没有。老板忽然喊你找一本《数据库从入门到放弃》,你是不是当场想表演一个原地消失术?😱 这就是没有索引的数据库的日常!每次查询都像蒙眼找书,全表


失业7个月,我把公司开起来了:一个程序媛的“野蛮生长”
后端小肥肠2025/11/28

大家好,我是小肥肠。 4月被裁,11月注册公司。 这7个月,我一个人赚回了以前一年的工资,也攒够了人生第一台CC的首付。今天不讲技术,聊聊这半年一个程序媛的野蛮生长。 1. 半年了我开起了公司 从4月到现在已经创业半年多了(7个月),这7个月以来,我从一个一无所有的失业人到现在攒够了一台cc的首付(赚的比以前上班一年还多),我的共学社群实现了从0到现在的300多人。 其中有很多和我一样的程序员,他们都是被我的文章吸引来共学群一起成长,也有很多小白进来一步一步成长为可以自行搭建自己的智能体。 在这


EasyExcel的使用
脸大是真的好~2026/2/15

需求1:能够导出1个Excel文件,能够导入一个Excel文件; 需求2:导出的文件,能实现第1行,第123列的合并单元格:也就是会写注册处理器;知道sheet和cell是什么; 需求3:能实现合并的单元格设置单元格宽高,背景颜色,内容居中,字体大小; 需求4:能控制从任意行开始写入,并让要输出的字段居中; 需求5:导出能实现从任意行开始读入; 导出Excel文件 <!-- EasyExcel 核心依赖 --> <dependency> <groupId>com.alibaba</gro


一个简单Demo彻底理解前后端怎么连的丨Figma + Supabase + Vercel
阿星AI工作室2026/2/23

哈喽,大家好! 我是阿星👋 很多小白编程学了三个月,全是AI做主UI,难以融入自己的设计理念。 甚至不了解前后端到底怎么连通的。 一旦代码出错了,可能和AI对话还要重新理解一遍概念。所以今天,我们通过一个简单的case,把一个完整前后端的核心链路全跑一遍👇🏻 让你能自己把控UI、把控数据库、把控前端、后端。 🗺️ 先看一眼全局流程 整件事分五步,每一步做完了才能进下一步: ① Figma 画页面 →  ② 定接口契约 →  ③ Supabase 建数据库→  ④ AI 帮你写连接代码

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2026 XYZ博客