写代码前先学会“说人话”:给工程师的 Prompt 工程实战指南
你有没有试过这样问 AI:
“写个登录接口”
然后得到一个没密码校验、没防暴力破解、连 CORS 都没配的“玩具代码”?
这不是 AI 不行——是你还没掌握一项正在悄悄取代“背 API”的新基本功:Prompt 工程(提示词工程)。
它不是玄学咒语,也不是程序员的新 KPI,而是一套可练习、可量化、能立刻提效的沟通技术——就像你给资深同事讲需求那样,把“人想清楚的事”,一字不漏地告诉 AI。
为什么普通开发者总被 AI “带偏”?
因为过去我们写代码,机器只认语法;现在我们“指挥”AI,它只认清晰度。
- ❌ 模糊指令 → AI 自由发挥(填坑式补全)
“帮我写个 Python 脚本处理 CSV” - ✅ 清晰指令 → AI 精准执行(交付即可用)
“用 Python 3.11 写脚本:读取 users.csv(含 id,name,email 字段),过滤掉 email 为空或重复的行,按 id 升序,输出 clean_users.csv;要求无外部依赖、加类型注解、有单元测试示例。”
看出来了吗?后者像不像你在写 PR 描述、设计文档、或跟后端同学对齐接口?
Prompt 工程 = 把工程师的隐性思考,变成显性输入。
它不教你“怎么提问”,而是帮你暴露真问题
AI 是面镜子:
– 如果你写不出“这个功能要支持多少并发”,生成的代码大概率扛不住压测;
– 如果你没想清“失败时该重试还是告警”,AI 就会默认静默吞掉错误;
– 如果你连“用户数据是否要加密存储”都没声明,AI 会坦然用明文写进数据库。
👉 所以别怪 AI “不聪明”——它只是在诚实反馈:你还没真正定义好问题。
三步上手:今天就能用的实战心法
1. 像写 README 一样写 Prompt
每条指令包含这 5 个要素(缺一不可):
– 角色:让它知道它是谁(如:“你是一位有 10 年经验的 Go 后端工程师”)
– 任务:要做什么(如:“生成一个 JWT 认证中间件”)
– 约束:不能做什么(如:“不使用第三方 JWT 库,仅用标准库 crypto/hmac”)
– 上下文:运行环境(如:“部署在 Kubernetes,服务间通过 gRPC 通信”)
– 验收标准:什么叫“完成”(如:“需包含单元测试、错误日志、超时控制”)
2. 把 AI 当成“需要带教的 junior”
别直接复制粘贴生成代码。试试这些动作:
– ✅ 让它解释自己写的逻辑:“请逐行说明这段代码如何防止 SQL 注入?”
– ✅ 让它主动找漏洞:“从安全和性能角度,指出这段代码的 3 个风险点”
– ✅ 让它按你的规范改写:“按团队 ESLint 规则重写,禁用 var,强制 async/await”
3. 建立你的“Prompt 模板库”(附真实例子)
下面是一个生产环境常用的 REST API 提示词模板,已验证可直接复用:
你是一位专注高并发 Web 服务的资深 Node.js 工程师。
请用 Express 4.18+ 实现一个 /api/v1/orders 接口:
- 方法:POST
- 输入:JSON 格式,必须含 { "user_id": number, "items": [{ "sku": string, "qty": number }] }
- 输出:201 Created + { "order_id": string, "status": "pending" }
- 约束:
• 必须校验 user_id > 0,items 数组非空且每个 qty ≥ 1
• 使用 Joi 进行请求校验(已安装)
• 错误响应统一格式:{ "error": "描述性消息", "code": "ERROR_CODE" }
• 不连接真实数据库,用内存 Map 模拟订单存储
• 添加 JSDoc 注释,含 @param 和 @returns
- 附加:提供 curl 测试命令示例
💡 小技巧:把这类模板存成 VS Code Snippet 或 Notion 数据库,下次写接口直接调用,省下 80% 的“反复调试提示词”时间。
最后说句实在话
AI 不会取代你,但会用 Prompt 工程的工程师,会取代不会用的。
这不是多学一门工具,而是升级你的“工程表达力”——把模糊想法,变成可执行、可审查、可传承的技术指令。
就像当年大家争论“要不要学 Git”,今天争论“要不要学写 Prompt”,答案早已写在 GitHub 的提交记录里:
最高效的团队,Prompt 和代码一样,都进了版本库。
直达网址:https://tmdm.cn/dev/prompt-engineering
