AI 提示工程指南
· 阅读需 6 分钟
用了大半年的 AI 写代码、写文档,踩了不少坑,也摸索出一些门道。这篇文章把我觉得真正有用的提示技巧整理出来,少扯概念,多讲实操。
先说结论
提示工程说白了就一件事:怎么跟 AI 说话,能让它给你想要的东西。
很多人用 AI 的姿势是这样的:
帮我写个登录功能
然后 AI 给了一坨不知道用什么框架、什么语言的代码,还得来回问好几轮。
会用的人是这样的:
用 Python Flask 写一个用户登录接口:
- 用 JWT 做认证
- 密码用 bcrypt 加密
- 返回 JSON 格式
- 加上基本的参数校验
一轮就能拿到能用的代码。差距就在这。
四种常用提示模式
别被那些花里胡哨的术语吓到,常用的就这几种:
1. 直接问(Zero-shot)
不给例子,直接说需求。适合简单任务。
把这段代码的变量名从驼峰改成下划线风格
2. 给例子(Few-shot)
先给几个示范,再让它照着做。适合格式要求严格的任务。
帮我写 Git commit message,格式参考:
feat: 添加用户登录功能
fix: 修复订单金额计算错误
docs: 更新 API 文档
现在写:添加了商品搜索功能
AI 就会输出:feat: 添加商品搜索功能
3. 让它一步步想(Chain-of-Thought)
复杂问题别让 AI 直接给答案,让它先分析再回答。
这段代码有性能问题,帮我分析:
1. 先说说这段代码在做什么
2. 哪里可能有性能瓶颈
3. 怎么优化,给出具体代码
4. 角色扮演
让 AI 进入某个角色,回答会更专业。
你是一个有 10 年经验的后端架构师。
我们现在日活 10 万,数据库经常慢查询,怎么优化?
比直接问"数据库怎么优化"得到的答案质量高很多。
实用技巧
技巧 1:把需求说清楚
这是最重要的一条。AI 不会读心术,你不说它不知道。
烂提示:
写个爬虫
好提示:
用 Python requests + BeautifulSoup 写一个爬虫:
- 目标网站:豆瓣电影 Top250
- 抓取:电影名、评分、评价人数
- 存到 CSV 文件
- 加上请求间隔,别把人家服务器搞崩
技巧 2:给限制条件
没有限制,AI 容易放飞自我。
写一个 React 组件:
- 不用 class 组件,只用 hooks
- 不引入额外依赖
- 代码不超过 50 行
技巧 3:让它输出固定格式
需要结构化数据时,直接告诉它格式:
分析这段日志的错误,用这个格式输出:
错误类型:xxx
发生位置:xxx
可能原因:xxx
解决方案:xxx
技巧 4:复杂任务拆开问
别指望一个提示搞定所有事。
比如要设计一个系统,可以这样拆:
- 先聊需求:这个系统要解决什么问题
- 再聊架构:应该分哪些模块
- 然后聊细节:每个模块怎么实现
- 最后聊代码:写具体的代码
一步步来,质量高很多。
技巧 5:不满意就追问
AI 给的答案不对,别重新开一个对话,直接追问:
这个方案在高并发下有问题,换一个
代码能跑,但是可读性太差,重构一下
解释得太复杂了,用大白话再说一遍
几个实战场景
场景 1:Code Review
帮我 review 这段代码,重点看:
1. 有没有明显的 bug
2. 性能有没有问题
3. 代码风格有没有不规范的地方
[贴代码]
场景 2:写单元测试
给这个函数写单元测试:
- 用 pytest
- 覆盖正常情况和边界情况
- 每个测试用例加上注释说明在测什么
[贴代码]
场景 3:排查报错
报错信息:
[贴报错]
代码:
[贴代码]
帮我分析为什么报这个错,怎么修
场景 4:写技术文档
给这个 API 写文档,包括:
- 接口说明
- 请求参数(列个表格)
- 返回示例
- 错误码说明
[贴代码或接口定义]
场景 5:学习新技术
我是 Java 开发,想学 Go,帮我对比一下两种语言:
- 语法差异(用代码示例)
- Go 有哪些 Java 没有的特性
- 有哪些坑需要注意
避坑指南
1. 别信它的"我确定"
AI 经常一本正经地胡说八道,特别是涉及到:
- 具体的版本号
- 具体的 API 名称
- 具体的配置参数
一定要自己验证,别直接复制粘贴就跑。
2. 上下文有长度限制
聊得太长 AI 会"忘记"前面说的。如果发现它开始重复或者答非所问,新开一个对话。
3. 不同模型擅长不同事
- GPT-4 / Claude:复杂推理、长文本
- GPT-3.5:简单任务,速度快
- 代码专用模型(Copilot 等):写代码
根据任务选模型,别拿杀鸡的刀去宰牛。
4. 敏感信息别往里塞
公司代码、密钥、用户数据,别直接贴给 AI。脱敏之后再问。
我的提示模板
用得最多的几个模板,直接抄:
代码生成:
用 [语言/框架] 实现 [功能]
要求:
- [要求1]
- [要求2]
- [要求3]
问题排查:
环境:[系统/语言版本/框架版本]
问题:[描述现象]
报错:[贴报错信息]
已经试过:[试过什么方法]
技术选型:
场景:[描述业务场景]
要求:[性能/成本/易用性等]
对比 [方案A] 和 [方案B],给出建议
代码重构:
重构这段代码:
目标:[更易读/更高效/更易测试]
限制:[保持接口不变/不引入新依赖]
[贴代码]
最后
提示工程没什么神秘的,核心就是:说人话,说清楚。
把 AI 当成一个能力很强但需要明确指令的实习生。你说得越清楚,它干得越好。
多用多练,慢慢就有感觉了。
参考资料:
