</>YZIF
博客

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 格式。