同样是问大模型同一个问题,有人得到的是废话连篇,有人得到的是直接可用的代码和方案。差距就在 Prompt。本文总结了 10 个真正有效的 Prompt 技巧,每条附有反例→优化例对比。
为什么 Prompt 工程很重要?
大模型是概率模型,它的输出高度依赖输入。一个模糊的问题,会得到模糊的答案;一个清晰、有约束的 Prompt,会得到精准的输出。
现实案例:
❌ 差的 Prompt:帮我写个爬虫
✅ 好的 Prompt:用 Python requests + BeautifulSoup 写一个爬取掘金首页文章列表的爬虫,提取文章标题、作者、点赞数,输出为 JSON 格式,加上异常处理,兼容 Python 3.10
两个 Prompt 的输出质量天差地别。下面是 10 个系统化的提升技巧。
技巧一:角色设定(Role Prompting)
给大模型设定一个专业角色,它会用对应领域的知识和表达方式来回答。
❌ 普通版:
解释一下什么是 TCP/IP
✅ 角色版:
你是一位有 10 年经验的网络工程师,正在给一个刚入行的运维工程师解释 TCP/IP 协议栈,
请用类比生活中的场景,从 IP 层到应用层逐层说明,每层举一个真实的协议例子。
实用角色模板:
| 场景 | 角色设定 |
|---|---|
| 代码审查 | 你是一位 Google 级别的高级工程师,擅长代码审查,关注安全性、性能和可维护性 |
| 文案写作 | 你是一位科技媒体编辑,擅长写吸引开发者的技术文章标题和摘要 |
| 技术方案 | 你是一位架构师,有丰富的云原生和微服务经验,帮助评估技术方案的优劣 |
| 错误排查 | 你是一位 Linux 系统专家,擅长从错误日志中定位根本原因 |
技巧二:明确输出格式
告诉大模型你想要什么格式,它就不会给你一堆文字。
❌ 问:列举5种常用的云数据库
✅ 问:列举5种常用的云数据库,用 Markdown 表格输出,
列名为:数据库名称、类型(关系型/NoSQL)、典型使用场景、月费用范围。
常用格式指令:
用 JSON 格式返回,字段包括:name, type, description只给我代码,不要解释分三段:问题诊断 → 解决方案 → 预防措施用 Markdown 表格对比,5列:维度/方案A/方案B/推荐/原因用编号列表,每条不超过30字
技巧三:提供示例(Few-shot Prompting)
给大模型看几个”输入→输出”的例子,它会学习你想要的风格和格式。
我需要你给技术文章写吸引人的掘金风格标题。参考以下例子:
原标题:使用 Docker 部署应用
改写后:手把手教你用 Docker 部署生产环境!5步搞定,附完整 Compose 文件
原标题:Redis 缓存介绍
改写后:Redis 缓存实战:让接口响应速度从 800ms 降到 8ms,我是这样做的
现在请改写这个标题:大模型 API 对比
输出:
2026年大模型API横评:GPT-4o vs Claude 3.5 vs 通义千问,谁才是性价比之王?
技巧四:思维链(Chain of Thought)
让大模型”先思考再回答”,可以显著提升推理类任务的准确率。
❌ 直接问:
一台 4核8G 的服务器,同时运行 MySQL(需要 2G)、Redis(500M)、
Nginx(200M)、Java 应用(3G),内存够用吗?
✅ 思维链版:
一台 4核8G 的服务器,同时运行 MySQL(需要 2G)、Redis(500M)、
Nginx(200M)、Java 应用(3G),内存够用吗?
请一步一步计算,先列出各服务内存需求,再加总,再和可用内存对比,最后给出结论和建议。
关键词:
– 请一步一步推理
– 先分析原因,再给出方案
– Let's think step by step(英文场景)
– 请列出你的推理过程
技巧五:约束边界(Constraint Prompting)
通过添加约束来减少无效输出,让大模型聚焦。
❌ 宽泛版:帮我优化这段代码
✅ 约束版:帮我优化以下 Python 代码,要求:
1. 不改变函数签名和返回格式
2. 只优化时间复杂度,不考虑空间复杂度
3. 兼容 Python 3.8+
4. 不使用第三方库
5. 在关键步骤加注释
[代码]
常用约束维度:
– 字数限制:回答不超过 200 字
– 技术栈:只用标准库,不引入新依赖
– 风格:语言简洁,面向初学者,不用专业术语
– 范围:只针对性能问题,不讨论代码风格
技巧六:分解复杂任务
把复杂任务拆分成多个步骤,每一步单独问。
❌ 一次性问:帮我做一个完整的用户认证系统,包括注册、登录、JWT、刷新token、权限控制
✅ 分步骤:
第一步:先给我设计数据库表结构(用户表、角色表、权限表),只输出 SQL 建表语句
第二步:(拿到表结构后)基于上面的表结构,用 FastAPI 实现注册接口,包含密码加密
第三步:实现 JWT 生成和验证逻辑,封装成可复用的工具函数
...
每步得到可靠的输出后,再进入下一步,最终组合成完整方案。
技巧七:负向提示(Tell What NOT To Do)
除了告诉大模型要做什么,也要明确告诉它不要做什么。
帮我解释 Kubernetes 的 Pod 和 Deployment 的区别。
要求:
- 用类比解释,不要使用 Kubernetes 官方文档里的术语
- 不要给代码,只要文字解释
- 不要说"很简单"、"其实就是"之类的敷衍话
- 控制在 150 字以内
常用负向约束:
– 不要重复我的问题
– 不要给免责声明
– 不要说"当然"、"好的"等废话开头
– 不要给多种方案,只给最推荐的一种
技巧八:迭代优化(Iterative Refinement)
把大模型当成一个可以反复沟通的协作者,而不是一次性生成器。
第一轮:给我写一篇关于 Docker 入门的文章大纲
第二轮:第3节太宽泛了,帮我把它拆成3个具体的小节,
每个小节有一个实操步骤
第三轮:用更有代入感的语气重写第一段,要像和朋友聊天一样
第四轮:把整篇文章的标题都改成疑问句形式,更有吸引力
这种方式比一次性给一个超长 Prompt 效果更好,因为你可以在每一轮都验证输出并调整方向。
技巧九:上下文注入(Context Injection)
把相关背景信息放在 Prompt 里,减少大模型的猜测空间。
❌ 没有上下文:
我的 API 请求老是超时,怎么解决?
✅ 有上下文:
环境信息:
- 后端:Python FastAPI,部署在腾讯云 2核4G CVM
- 数据库:MySQL 8.0,同一个 VPC 内
- 问题:某个接口平均响应 3s,偶发超时(>30s)
- 错误日志:[粘贴具体的错误日志]
- 已尝试:增加了数据库连接池,问题没有缓解
请帮我分析可能的原因,给出排查步骤。
上下文要包含:
1. 技术栈版本
2. 运行环境(本地/云服务器/容器)
3. 具体错误信息
4. 已经尝试过的方案
5. 期望的输出结果
技巧十:自我校验(Self-Verification)
让大模型自己检查自己的输出,提升准确率。
# Prompt 示例
"""
请用 Python 写一个函数,计算两个日期之间相差的工作日天数(排除周末)。
写完后,请自行用以下测试用例验证:
- 2024-01-01 (周一) 到 2024-01-07 (周日),应该是 5 个工作日
- 2024-01-06 (周六) 到 2024-01-08 (周一),应该是 1 个工作日
- 同一天,应该是 0 个工作日
如果测试失败,请修正代码直到通过所有用例。
"""
这个技巧在代码生成、数学计算、逻辑推理类任务上效果尤其明显。
综合运用:一个完整的 Prompt 模板
把以上技巧组合起来,打造一个通用的”高质量 Prompt 模板”:
# 角色
你是一位有8年经验的 Python 后端工程师,擅长 FastAPI 和云原生开发。
# 任务
实现一个 JWT 用户认证中间件。
# 背景
- 框架:FastAPI 0.110
- 数据库:PostgreSQL + SQLAlchemy 2.0
- 已有用户模型 User(id, email, hashed_password)
- Token 有效期:Access Token 30分钟,Refresh Token 7天
# 要求
- 只给我中间件代码和 JWT 工具函数,不要给完整项目结构
- 包含 Token 过期自动刷新的逻辑
- 加上详细注释,尤其是 JWT 验证部分
- 代码里不要有 TODO 或占位符
# 约束
- 不使用 FastAPI-Users 等第三方认证库
- 兼容 Python 3.10+
# 验证
写完后给出 2 个使用示例,一个正常场景,一个 Token 过期场景。
速查卡:10个技巧一览
| # | 技巧 | 核心关键词 | 适用场景 |
|---|---|---|---|
| 1 | 角色设定 | 你是一位… | 需要专业知识的问题 |
| 2 | 明确格式 | 用表格/JSON/列表输出 | 结构化输出 |
| 3 | 提供示例 | 参考以下例子… | 风格/格式复现 |
| 4 | 思维链 | 一步一步推理 | 逻辑推理、计算 |
| 5 | 约束边界 | 不改变/只用/兼容 | 代码生成、方案设计 |
| 6 | 分解任务 | 先…再…然后… | 复杂系统设计 |
| 7 | 负向提示 | 不要/不得/禁止 | 避免无效输出 |
| 8 | 迭代优化 | 在此基础上修改… | 内容创作、优化 |
| 9 | 上下文注入 | 环境:/错误:/已尝试 | 问题排查、调试 |
| 10 | 自我校验 | 写完后验证以下用例 | 代码生成、数学 |
结语
Prompt 工程不是玄学,是有规律可循的技能。核心原则就一句话:给大模型的信息越具体、约束越明确,输出就越符合预期。
从今天起,每次问大模型前先想一想:角色设了吗?格式说了吗?约束加了吗?坚持用这 10 个技巧,你和大模型的协作效率会有质的提升。
关于作者
长期关注大模型应用落地与云服务器实战,专注技术在企业场景中的落地实践。
个人博客:y1cloud.cn —— 持续更新云计算、AI大模型实战教程,欢迎访问交流。
