06 程序员写 Prompt 的黄金法则——别用和人聊天的方式跟AI说话

发布时间:2026/10/1 3:07:25

06 程序员写 Prompt 的黄金法则——别用和人聊天的方式跟AI说话
摘要本文针对 AI 编程中常见的 Prompt 编写问题总结了五条立即可用的黄金法则1明确角色、任务、约束让 AI 无需猜测2先说指令后给上下文提高理解效率3一次只提一个明确请求聚焦才能保证质量4通过风格范例控制输出让 AI 按你的偏好生成5采用迭代式提问快速出第一版再逐步打磨。掌握这些法则可大幅提升与 Cursor、Copilot 等 AI 工具的协作效率。先交代一下背景我发现一个很有意思的现象。我带过好几个刚入坑 AI 编程的同事他们用 Cursor 和 Copilot 的时候跟 AI 沟通的方式是这样的「帮我把这个代码改一下。」「写一个用户管理功能。」「这个程序有问题。」然后就等 AI 回复。AI 回复的速度确实很快但结果经常一言难尽——要么生成的东西不是他想要的要么代码质量一团糟。问题出在哪你在用和人聊天的方式跟 AI 说话。AI 不是你的同事。你同事能在模糊的指令下猜出你的意图因为他和你在同一个项目里、有共同的知识背景。AI 没有。你给它的每一行指令都是它唯一的输入源。越模糊它越靠猜猜出来的结果就越偏。今天不说大道理直接给一套你马上能用的——写 Prompt 的黄金法则。黄金法则一角色 任务 约束不管问什么脑子里先过三个要素你是谁、你想干嘛、有什么限制。反面例子帮我写一个用户注册接口AI 收到这个 Prompt 会陷入选择困难用 Spring Boot 还是 Flask要不要 JWT需不需要邮箱验证数据库用 MySQL 还是 MongoDB它没辙只能猜一个最通用的方案。正面例子3要素齐全你是一个 Java 后端开发熟悉 Spring Boot 3.x。 帮我写一个用户注册接口要求 1. 接收 username, password, email 三个参数 2. 密码用 BCrypt 加密后存储 3. 邮箱格式校验 4. 注册成功后发送欢迎邮件异步 5. 参数校验用 Valid 注解 数据库用 MySQL MyBatis Plus看到了吗AI 收到这个 Prompt不需要猜任何东西。角色明确了我是 Java 开发者任务明确了是注册接口约束明确到了用什么框架、怎么校验、怎么存储。结果就是一次生成的代码可用率从 30% 飙升到 90%。黄金法则二先说指令后给上下文很多人写 Prompt 喜欢先交代背景再提要求我这边有一个 Spring Boot 项目用的是 2.7 版本数据库是 MySQL 8.0用了 MyBatis Plus 和 Redis。现在有个需求是这样的需要一个订单导出功能导出成 Excel 格式……你写得很累AI 读得也累。而且——如果对话中 AI 的上下文窗口比如 16K tokens被前面的背景描述占了 30%留给实际代码的空间就少了。最佳实践是先把指令说清楚再提供必要的上下文。帮我写一个订单导出接口导出为 Excel 格式。 要求按时间范围筛选支持 10 万条以上数据分批导出。 技术栈Spring Boot 2.7 MySQL 8.0 MyBatis Plus 接口签名POST /api/order/exportAI 先收到「写什么」的指令再看到「用什么写」的上下文理解效率大幅提升。黄金法则三一次只给一个明确的请求这是最常见的问题一次问太多。帮我写一个用户管理模块包括注册、登录、找回密码、修改个人信息、管理员封号功能。注册的时候要发送邮件验证登录要加验证码密码要有强度校验……AI 收到这种请求通常会给你一个非常完善的目录结构——每个文件都只有一个骨架没有任何一个实现了完整功能。正确的做法拆成多个 Prompt。Prompt 1帮我写用户注册接口这个接口的功能是…… Prompt 2帮我写用户登录接口带上 JWT token 生成…… Prompt 3帮我写找回密码功能通过邮箱验证码……每个 Prompt 只聚焦一个功能点。AI 会把全部注意力放在你当前的要求上质量自然高。这跟你带实习生是一个道理你跟他说「今天把用户管理模块写完」他大概率写得很烂。你跟他说「今天先把注册接口搞定登录明天写」他就能出活。黄金法则四给 AI「说人话」的范例AI 生成代码默认的风格是偏正式、偏冗余的。如果你不指定它给你的可能是/** * 根据用户ID查询用户信息 * * param userId 用户ID * return 用户实体对象 * throws UserNotFoundException 如果用户不存在 */注释标准、严谨但你在个人项目里不需要这个。在 Prompt 里加一句「风格偏好」就能解决注释不要太正式用中文大白话每段逻辑一句注释就行结果// 查用户——返回 null 表示不存在 User user userMapper.selectById(userId);干净、直接。这就是所谓的输出控制。你告诉 AI 你想要的输出风格和格式它就能按你的偏好出活。黄金法则五迭代式提问一次只改进一个点AI 第一次给的东西很少是完全满意的。这时候别重新写一个 Prompt也别自己动手改代码——迭代就好。AI 生成了一个 Excel 导出功能你看了一眼发现了两个问题1. 文件没有用临时目录直接写到了项目目录下2. 导出的 Excel 没有列头你可以说可以了但有两个小问题 1. 把生成的文件放到系统临时目录 2. 加上列头AI 会直接在原来的代码基础上改。你不用重新描述整个需求它还记得上下文。这就是用 AI 编程最核心的技巧——增量迭代。不要追求一次性完美快速出第一版再在基础上逐步打磨。总结五条黄金法则你记住三个就能见效了1.角色 任务 约束→ 让 AI 不用猜2.先说指令后给上下文→ 提高 AI 的理解效率3.一次只给一个请求→ 聚焦才有质量4.指定输出风格→ AI 按你的喜好来5.迭代式提问→ 快速出第一版再打磨你用这些法则跟 AI 对话一周后回去看以前写的 Prompt你会想抽自己。下一篇预告AI 写单元测试——一行代码不写给整个模块加测试

相关新闻

电子闭锁开关电路设计:用瞬时按钮实现电源保持功能

电子闭锁开关电路设计:用瞬时按钮实现电源保持功能

2026/9/27 15:28:50

1. 闭锁电源开关与瞬时按钮的奇妙组合 在电子电路设计中,我们经常遇到一个看似矛盾的需求:如何用瞬时按钮(也就是按下接通、松开断开的按钮)实现类似机械闭锁开关(按下保持接通状态,再次按下才断开&#xf…

XML Notepad终极指南:3分钟快速上手,免费搞定XML编辑所有难题

XML Notepad终极指南:3分钟快速上手,免费搞定XML编辑所有难题

2026/9/27 9:57:20

XML Notepad终极指南:3分钟快速上手,免费搞定XML编辑所有难题 【免费下载链接】XmlNotepad XML Notepad provides a simple intuitive User Interface for browsing and editing XML documents. 项目地址: https://gitcode.com/gh_mirrors/xm/XmlNotep…

ncmdumpGUI:轻松解密网易云NCM文件,让音乐自由播放

ncmdumpGUI:轻松解密网易云NCM文件,让音乐自由播放

2026/8/23 0:17:40

ncmdumpGUI:轻松解密网易云NCM文件,让音乐自由播放 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 您是否遇到过这样的困扰&#xff1f…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/29 22:00:59

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/30 20:35:35

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/30 20:35:38

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/30 20:35:36

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/30 20:35:33

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/30 8:20:32

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…