写代码前先学会“说人话”:给工程师的 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

作加

类似文章