Prompt 写好了,代码质量也更好
很多人觉得 AI 写的代码质量参差不齐,有时候很惊艳,有时候一塌糊涂。
差别在哪?很多时候在 Prompt。
我有一个简单的判断标准:如果你的需求描述给一个刚入职的程序员,他能看懂、能执行,那这个 Prompt 就足够好了。
好的 Prompt 要说清楚三件事
背景(这是什么项目、用了什么技术)、目标(要实现什么功能)、约束(有什么不能做、格式要求是什么)。
举个例子,与其说:
帮我写一个登录功能
不如说:
我的项目用 Next.js 14 + Supabase,帮我实现邮箱密码登录,成功后跳转到 /dashboard,失败显示错误提示,不要用第三方登录库
后者写出来的代码几乎可以直接用,前者往往要来回改好几轮。
反面案例:为什么 AI 写的代码"不能用"
我收集了一些常见的"失败 Prompt",分析一下它们为什么会导致低质量的输出:
"帮我写一个表单"——什么表单?多少个字段?提交到哪里?校验规则是什么?AI 只能猜,猜出来的结果自然不是你想要的。
"优化一下性能"——哪里慢?加载慢还是运行慢?有多少数据量?不给上下文,AI 只能给出泛泛的建议。
"参考某某网站的风格"——AI 看不到那个网站。你需要用文字描述具体的视觉特征:颜色、布局、间距、字体大小。
不要假设 AI 知道你的项目背景。每次新的对话,都要重新提供必要的上下文信息,或者利用 CLAUDE.md 等项目记忆文件让 AI 自动获取上下文。
一个模板,覆盖 80% 的场景
经过大量实践,我总结了一个 Prompt 模板:
【背景】我正在做一个 [项目类型],使用 [技术栈]
【目标】我需要 [具体功能描述]
【要求】
- [具体要求 1]
- [具体要求 2]
- [具体要求 3]
【约束】
- 不要 [不想要的东西]
- 保持与现有代码风格一致
这个模板不需要每次都严格遵循,但在你不知道该怎么写 Prompt 的时候,套用它基本不会出错。
迭代比一次到位更重要
还有一个经常被忽略的点:Prompt 不需要一次写完美。
更好的工作流是:
- 先写一个大致的需求,让 AI 给出第一版
- 看看结果,找出不满意的地方
- 针对性地补充要求,让 AI 修改
这个过程通常两三轮就能得到满意的结果。比花 20 分钟构思一个"完美 Prompt"要高效得多。
写代码之前先把需求想清楚
说到底,写 Prompt 的能力本质上是表达需求的能力。这不只是给 AI 看的,也是给自己看的。
很多时候你觉得 AI "写得不对",其实是你自己还没想清楚想要什么。把需求写成 Prompt 的过程,本身就是一次思考的梳理。
如果你能把需求描述得让 AI 一次就写对,那你的需求分析能力已经相当不错了——这个能力不管是跟 AI 合作还是跟人合作,都非常有用。