ChatGPT 用了几个月,发现同样一个问题,问法不一样结果差距特别大。有时候给它一句话描述需求,出来的东西驴唇不对马嘴;换个方式把上下文说清楚,生成的代码直接就能跑。后来去看了些提示词工程(Prompt Engineering)的资料,发现确实有些套路可以用。记一下我觉得比较实用的几个。
1. 最基本的:把需求说清楚
这个看起来像废话,但真的是最重要的。不要假设 AI 知道你的背景和上下文。
1 | ❌ 差的提问: |
越具体,生成的结果越接近你要的。
2. 给它一个角色
告诉 AI “你是谁”,能让输出的风格和深度更符合预期。
1 | "你是一个有 5 年经验的前端开发工程师,熟悉 Vue 和 React。 |
我试过不加角色描述和加了角色描述的对比,区别确实明显。加了角色后它不会给你讲一堆初学者级别的废话,直接挑重点说。
3. Few-shot:给几个例子
当你需要 AI 按照特定的格式输出时,直接给它看例子比描述格式要靠谱得多。
1 | "请根据接口文档,生成前端的 TypeScript 类型定义。 |
给了例子之后,它就知道输出格式应该是什么样的了。
4. 分步骤引导
复杂任务不要一口气全甩给它,分步做效果更好。
1 | 第一步: |
这样一步步来,每步都能确认方向对不对,比一次性让它生成全部代码要可控得多。
5. 约束输出格式
有时候只需要代码不需要解释,或者需要特定格式:
1 | "只输出代码,不要解释。用 TypeScript。" |
6. 让它检查自己
AI 生成的代码不一定对,但你可以让它自检:
1 | "检查上面这段代码有没有以下问题: |
或者更直接:
1 | "这段代码有 bug,你能找出来吗?" |
让它重新审视自己的输出,有时候真能揪出问题来。
7. 一些日常用得比较多的 Prompt 模板
代码 Review
1 | "Review 以下代码,从可读性、性能、安全性三个角度给出改进建议。 |
写正则
1 | "写一个 JavaScript 正则表达式,匹配中国大陆手机号码(11位,以1开头,第二位是3-9)。 |
解释报错
1 | "我在 Vue 3 项目里遇到这个报错: |
写接口文档
1 | "根据以下 Express 路由代码,生成 API 文档。 |
8. 一些注意事项
- 别无脑信任生成的代码,尤其是涉及安全的部分(SQL 查询、用户输入处理等),一定要自己看一遍
- 敏感信息别粘进去,数据库密码、API Key 之类的
- **长对话会”忘事”**,如果上下文太长了,关键约束条件最好在后面的提问里再重复一次
- 不同模型效果不同,GPT-4 在复杂逻辑和长代码上明显比 3.5 强,预算够的话优先用 4
说实话写 Prompt 这事说穿了也没什么玄学,核心就是”把需求说清楚,把约束条件列出来”。跟给新同事安排工作差不多,交代越清楚,返工概率越低。
评论加载中…