AI 提示词编写技巧:5 个让代码生成更精准的方法
2026-06-18
为什么提示词结构很重要
AI 代码生成非常强大,但输出质量很大程度上取决于你如何表达需求。模糊的提示词产生模糊的代码。结构化、精确的提示词产生生产就绪的代码。
技巧 1:使用结构化 Markdown
不要只写一行,而是用分节的方式组织提示词:
## 目标
创建一个验证电子邮件地址的函数
需求
- 接受字符串输入
- 返回布尔值 true/false
- 支持国际邮箱格式
- 无外部依赖
约束
- 纯 JavaScript(无 TypeScript)
- 必须处理边缘情况(空字符串、null、空白字符)
技巧 2:指定输出格式
告诉 AI 你希望输出的结构:
## 输出格式
返回一个 JSON 对象,包含:
{
"function": "完整函数代码",
"testCases": ["5 个测试用例及预期结果"],
"explanation": "方法简要说明"
}
这迫使 AI 在实现的同时考虑测试和文档。
技巧 3:提供示例(少样本提示)
向 AI 展示好的输出是什么样的:
## 示例
输入:"验证年龄在 0 到 150 之间"
预期输出格式:
{
"function": "function validateAge(age) { return age >= 0 && age <= 150; }",
"tests": ["validateAge(25) → true", "validateAge(-1) → false"]
}
实际任务
输入:"验证邮箱格式"
技巧 4:限定范围
差的提示词:"写一个登录系统"
好的提示词:"写一个密码验证函数,要求:至少 8 个字符、至少一个大写字母、一个数字、一个特殊字符。返回包含 { valid: boolean, errors: string[] } 的对象。"
前后对比
**之前(模糊):**
写一个排序数组的函数
**之后(结构化):**
写一个按指定键对对象数组排序的函数。
要求
- 输入:对象数组和字符串键名
- 输出:新的排序数组(不修改原数组)
- 处理:缺失键、null 值、嵌套键(点号表示法)
- 支持:升序和降序
示例
sortBy([{name: "Bob"}, {name: "Alice"}], "name") → [{name: "Alice"}, {name: "Bob"}]
sortBy([{a: 2}, {a: 1}], "a", "desc") → [{a: 2}, {a: 1}]
尝试 AI 提示词构建器
使用 YZIF 的 AI 提示词构建器 可视化构建结构化提示词,包含条件规则、输出格式和示例——导出为 Markdown 或 JSON 格式。