AI 学习笔记(二):Prompt Engineering 入门,怎么和大模型好好说话
第一篇开了个头,先把“为什么我要系统学 AI”这件事说清楚了。
那第二篇,就该落到一个最实际的问题上:我们到底该怎么和大模型说话,才能让它更稳定地帮我们做事?
很多人第一次用大模型时,都会有一种错觉:它好像什么都懂,但又总是“差一点意思”。
有时候回答得很泛,有时候重点跑偏,有时候看起来说得头头是道,结果一落地就发现根本不能用。
我后来慢慢发现,这里面当然有模型能力的差异,但更常见的问题,其实出在输入不够清楚。
你给它一个模糊的问题,它往往就会回你一个模糊的答案。你给它一个带目标、带约束、带上下文的任务,它输出的质量通常会稳定很多。
这也是 Prompt Engineering 的核心:不是研究怎么“施法”,而是研究怎么把需求说明白。
Prompt Engineering 到底是什么
如果用一句最朴素的话来解释,Prompt Engineering 就是:
用更清晰的方式组织你的意图、上下文、约束和预期输出,让模型更接近你真正想要的结果。
它不是咒语,也不是背几个万能模板就能解决所有问题。
更像是你在和一个反应很快、知识面很广、但不会主动追问太多上下文的助手合作。
你说:
1 | 帮我写一个登录功能 |
它当然也能回,但大概率会回得很散。
因为这里缺了太多信息:
- 你用什么技术栈?
- 是前端页面,还是后端接口?
- 你要的是示例代码、设计思路,还是排查方案?
- 你希望输出到什么粒度?
- 有没有现有项目约束?
所以 Prompt 的本质,不是“让 AI 变聪明”,而是减少理解偏差。
一个好 Prompt 通常包含什么
我现在会把一个实用 Prompt 拆成 5 个部分:
1. 角色
告诉模型,它应该从什么视角回答。
例如:
1 | 你是一名有前端实战经验的全栈工程师 |
这不是仪式感,而是在缩小回答范围。
角色越具体,回答越容易贴近场景。
2. 目标
明确这次任务到底要完成什么。
例如:
1 | 请帮我把一个模糊的需求拆成可执行的开发步骤 |
比起“帮我看看这个需求”,目标明确得多。
3. 上下文
这是最容易被忽略、但往往最影响结果的一部分。
例如:
- 当前项目是 React 还是 Vue
- 接口已经存在还是要一起设计
- 你面对的是线上问题还是新功能
- 你现在卡住的点是什么
模型不是没能力,而是它不知道你脑子里已经默认了什么。
4. 约束
约束决定答案能不能落地。
例如:
- 不要改动现有接口结构
- 只给最小改动方案
- 输出用 Markdown
- 代码示例用 TypeScript
- 不要引入新依赖
很多时候,AI 输出“看起来不错但不能用”,不是因为它不会,而是因为你没告诉它边界。
5. 输出格式
如果你不指定输出格式,它就会按它认为合适的方式展开。
这在聊天里没问题,但在工作流里会很痛苦。
例如:
1 | 请按以下格式输出: |
一旦格式稳定下来,后续复用和迭代都会轻松很多。
从“会问”到“问得好”:一个对比
先看一个不够好的提问:
1 | 帮我优化一下首页性能 |
这个问题太大了。模型很可能会给你一堆正确但空泛的建议,比如懒加载、图片压缩、缓存、减少请求等等。
这些建议没错,但通常也没法直接拿去改项目。
如果换成下面这种写法:
1 | 你是一名前端性能优化工程师。 |
这时候模型更容易给出你能直接执行的内容。
这也是我现在最常用的思路:
不要只提问题,要把任务背景一起交代出来。
我自己常用的 Prompt 骨架
为了避免每次都从头想,我现在会先写一个骨架,再根据任务补细节:
1 | 你现在扮演: |
这个模板不高级,但很实用。
尤其在写代码、排查问题、做技术方案对比时,比一句话硬问稳定得多。
初学者最容易踩的几个坑
1. 把 Prompt 当成搜索框
很多人用 AI 的方式,其实还是在“搜答案”。
但大模型不是搜索引擎,它更像是一个基于上下文生成结果的协作对象。
搜索更像在找“已有结论”,而 Prompt 更像在发“任务说明”。
2. 只说目标,不说限制
比如“帮我重构这段代码”,如果你不说不能改接口、不想引新依赖、不希望大改目录结构,它就可能给你一个理论上更优、实际上更难落地的方案。
3. 一次塞太多任务
让模型同时做分析、设计、编码、测试、总结,结果通常不如拆成几个小步骤。
我的经验是:
- 先让它分析
- 再让它给方案
- 然后让它实现
- 最后让它自查风险
把复杂任务拆开,质量往往比一把梭高很多。
4. 不做结果校验
Prompt 写得再好,也不意味着结果一定可靠。
尤其在代码、配置、命令、版本差异这些问题上,最后还是要回到“验证”。
AI 可以帮你加速,但不能替你负责。
对开发者来说,Prompt Engineering 真正有用的地方
在我看来,Prompt Engineering 最实用的价值不在“生成一段漂亮文案”,而在下面这几件事:
- 把模糊需求快速转成执行步骤
- 把报错信息整理成排查路径
- 把重复性说明压缩成可复用模板
- 在技术方案比较时,快速得到多种角度
- 在写代码前,先让模型帮你补齐思路盲区
如果你本来就有开发经验,会更明显感受到一点:
Prompt 的上限,往往取决于你表达问题的能力。
你越知道自己想要什么,AI 就越容易帮到你。
你越会把边界讲清楚,输出就越可控。
我现阶段的结论
学 Prompt Engineering,第一步不是收集“万能提示词”,而是先建立一个意识:
和大模型协作,本质上是在写一份更清楚的任务说明。
当你开始这样看待 Prompt,很多事情都会顺起来:
- 为什么上下文这么重要
- 为什么约束越清楚越好
- 为什么示例能显著提升输出质量
- 为什么同一个模型,在不同人手里效果差异会那么大
它没有想象中那么神秘,但确实值得认真练。
参考资料
这一篇先把“怎么提问”讲清楚。
下一篇:Token、上下文窗口和 Temperature,到底在影响什么
本文永久链接: https://www.mulianju.com/learning-notes/ai-learning-notes-prompt-engineering-intro/