人人都会AI编程

4.2.1 高质量代码生成的描述公式

更新时间:2026-06-30

提示词写得好不好,直接决定 AI 生成代码是一次可用,还是需要反复修改。与其笼统地说"帮我写个登录功能",不如套用下面这个可复用的描述公式:

高质量描述 = 上下文/角色 + 具体任务 + 约束条件 + 输出格式

四要素拆解

| 要素 | 说明 | 示例 |
|:---|:---|:---|
| 上下文/角色 | 让 AI 知道技术栈、项目背景或你的身份 | "在 Vue 3 + TypeScript 项目中"、"作为后端开发,使用 Go 1.21" |
| 具体任务 | 明确要做的事情,避免歧义 | "实现一个带防抖的搜索输入组件"、"写一个订单超时自动取消的定时任务" |
| 约束条件 | 必须遵守的规则、边界或性能要求 | "不使用第三方库"、"时间复杂度 O(n)"、"兼容 IE11" |
| 输出格式 | 对代码风格、注释语言、返回内容的额外要求 | "添加中文注释"、"返回 JSON 格式错误码"、"只输出函数代码,不输出调用示例" |

对比示例

  • 模糊版写一个文件上传功能

→ 结果可能语言、框架、限制都不对,需要多次追问。

  • 清晰版在 Python FastAPI 项目中写一个异步文件上传接口 /upload,仅允许 jpg/png,单文件最大 5MB,保存到 ./uploads/{YYYY-MM}/ 目录,成功后返回文件访问 URL。使用 aiofiles 处理 IO,添加异常捕获和中文日志,不要改动现有路由注册逻辑。

→ 一次生成的代码往往可直接进入微调阶段。

三个高频场景模板

  1. 函数/算法实现

用 [语言] 写一个函数,功能为 [具体描述],输入 [参数与类型],输出 [返回值],要求 [时间/空间复杂度/异常处理/不允许使用内置函数]。

  1. 接口/API 开发

基于 [框架] 创建 [HTTP 方法] 接口 [路径],接收 [参数来源与格式],返回 [状态码与数据结构],需要 [鉴权/参数校验/日志记录]。

  1. 重构/优化现有代码

将以下 [语言] 代码重构为 [目标风格/设计模式],要求 [保留原有业务逻辑/降低嵌套层数/提取公共方法],不要改变函数签名和对外行为。

与注释驱动的结合

在 3.1.2 提到的注释驱动代码生成中,同样可以直接套用此公式。把公式内容写成函数上方的文档注释或单行注释即可,例如:

// 用纯 JavaScript 实现一个函数,功能为深拷贝对象,输入为任意对象,输出为新对象。
// 约束:不借助 lodash 等第三方库,处理循环引用,支持 Date 和 RegExp 类型。
// 输出:添加 JSDoc 注释,给出两个使用示例。
function deepClone(obj) {

刚开始建议把四要素写全;熟悉 AI 的响应风格后,保留最关键的"约束条件"即可稳定获得高质量结果。