为什么你的 AI 输出质量差
大多数人用 ChatGPT 写代码的方式是这样的:
帮我写一个登录接口然后得到一个不符合项目风格、缺少错误处理、没有注释的代码。
问题不在 AI,在于你没有给够信息。
四个核心方法
方法一:角色设定
在提示词开头告诉 AI 它是谁,它会用对应的专业视角回答。
你是一位资深的 Node.js 后端工程师,熟悉 Express、Prisma、JWT 认证。
现在帮我写一个用户登录接口。对比效果:
- 没有角色设定:给你一个最基础的实现
- 有角色设定:会考虑安全性、错误处理、日志记录
方法二:上下文给够
AI 不知道你的项目结构,你需要主动告诉它。
项目技术栈:Express + Prisma + MySQL
认证方式:JWT,accessToken 15分钟过期
用户表字段:id, email, password(bcrypt加密), role, createdAt
现有中间件:authenticate.ts(验证JWT)、validate.ts(Zod校验)
请帮我写一个修改密码的接口,路由为 PATCH /api/users/password方法三:分步拆解
复杂需求不要一次性丢给 AI,分步来。
错误做法:
帮我做一个完整的电商系统正确做法:
第一步:帮我设计商品表的数据库结构,需要支持多规格(颜色、尺寸)确认没问题后:
第二步:基于上面的表结构,写商品列表的查询接口,支持分页和按分类筛选方法四:示例引导
给 AI 看你已有的代码风格,让它保持一致。
我的项目里已有这个接口作为参考:
```ts
// 获取用户信息
export const getUser = async (req: Request, res: Response, next: NextFunction) => {
try {
const user = await userService.findById(req.params.id);
res.json(ApiResponse.success(user));
} catch (err) {
next(err);
}
};请按照同样的风格,写一个更新用户信息的接口。
---
## 实战模板
### 写新功能
你是一位 [技术栈] 工程师。
项目背景:[简单描述项目] 技术栈:[列出主要技术] 代码风格参考:[粘贴一段现有代码]
需求:[具体描述要做什么] 要求:
- 包含完整的错误处理
- 添加必要的注释
- 遵循现有代码风格
### 排查 Bug
我的代码出现了以下报错: [粘贴完整报错信息]
相关代码: [粘贴出问题的代码]
我已经尝试过:[你试过的方法]
请帮我分析原因并给出修复方案。
---
## 进阶技巧
**让 AI 先分析再写代码**
在写代码之前,先告诉我你的实现思路,我确认后再开始写。
**要求 AI 解释代码**
写完代码后,用中文解释每个关键步骤的作用。
**迭代优化**
这段代码有性能问题,findMany 查询没有用索引。请优化查询,并解释为什么这样改更好。 ```