⚠️ Alpha内测版本警告:此为早期内部构建版本,尚不完整且可能存在错误,欢迎大家提Issue反馈问题或建议
Skip to content

5.1.5 怎么和 AI 好好说话——Prompt 工程核心原则

一句话破题

好的 Prompt 三要素:清晰(AI 能理解)、具体(减少歧义)、结构化(便于执行)。

核心原则

原则一:清晰表达意图

❌ 模糊:"帮我优化这个代码"
(优化什么?性能?可读性?安全性?)

✅ 清晰:"这个函数运行太慢了,请优化性能,
目前处理 1000 条数据需要 5 秒,希望降到 1 秒以内"

原则二:提供充足上下文

❌ 缺乏上下文:"写一个用户表"

✅ 上下文完整:
"用 Prisma 写一个用户表:
- 使用 PostgreSQL 数据库
- 需要支持邮箱登录
- 用户有基本信息(昵称、头像)
- 需要记录创建和更新时间"

原则三:明确约束条件

❌ 无约束:"做一个登录页面"

✅ 有约束:
"做一个登录页面:
- 使用 Next.js App Router
- 样式用 Tailwind CSS
- 需要表单验证(邮箱格式、密码长度 8-20)
- 调用 /api/auth/login 接口"

Prompt 结构模板

一个完整的开发类 Prompt 通常包含:

markdown
## 任务
[一句话说明要做什么]

## 背景
[相关的上下文信息]

## 技术约束
- [使用什么技术栈]
- [需要遵循什么规范]

## 输入/输出
- 输入:[接收什么数据]
- 输出:[返回什么结果]

## 示例
[如果有的话,提供参考示例]

## 注意事项
[容易出错的地方]

实战示例

需求:创建一个文章管理的 API

markdown
## 任务
创建文章 CRUD 的 API 路由

## 背景
这是一个博客系统的后端接口,前端使用 React,
需要支持文章的创建、读取、更新和删除

## 技术约束
- Next.js 16 App Router
- 使用 Prisma ORM
- 数据库是 PostgreSQL
- 返回 JSON 格式

## 接口定义
- GET /api/posts - 获取文章列表(支持分页)
- GET /api/posts/[id] - 获取单篇文章
- POST /api/posts - 创建文章
- PUT /api/posts/[id] - 更新文章
- DELETE /api/posts/[id] - 删除文章

## 数据结构
文章包含:id, title, content, authorId, 
createdAt, updatedAt

## 注意事项
- 创建和更新需要验证必填字段
- 删除要返回 204 状态码
- 列表接口默认每页 10 条

常见误区

误区 1:一次说太多

❌ "帮我做一个完整的博客系统,包括文章管理、用户系统、
评论功能、搜索、RSS..."

✅ 分步骤:先做文章 CRUD,验证通过后再加其他功能

误区 2:期望 AI 读心

❌ "按照通常的做法来就行"
(AI 不知道你认为的"通常"是什么)

✅ 明确指定:使用 RESTful 风格,遵循项目现有的代码规范

误区 3:不给反馈

❌ 收到代码后直接使用,发现问题才说"你给的不对"

✅ 收到代码后检查,具体说明哪里不符合预期:
"创建文章时,如果标题为空应该返回 400 错误,
但现在返回的是 500"

提升 Prompt 质量的技巧

  1. 先写后审:写完 Prompt 先读一遍,看自己是否能理解
  2. 假设 AI 是新人:把 AI 当作刚入职的同事,需要详细说明背景
  3. 提供示例:能给代码示例就给,AI 从示例中学习最快
  4. 迭代优化:第一次不完美很正常,根据结果调整 Prompt