为什么 AI 编程助手的输出质量差距这么大?
同样的 Cursor,有人用它 10 分钟写完一个完整模块,有人生成的代码全是 bug 要重写。
差距在 Prompt。AI 编程助手的输出质量 80% 取决于你怎么描述需求。
下面是经过实战验证的 Prompt 指令集,覆盖日常编程的 8 个核心场景。直接复制到 Cursor Chat / Copilot Chat / Claude 中使用。
指令 1:项目脚手架生成
场景:快速搭建一个新项目
请帮我创建一个 {项目类型} 项目。
技术栈:
- 语言:{TypeScript/Python/Go/...}
- 框架:{Next.js/FastAPI/Gin/...}
- 数据库:{PostgreSQL/SQLite/MongoDB/...}
- 包管理:{pnpm/pip/go mod/...}
要求:
- 项目结构清晰,按功能模块分目录
- 包含基础配置文件(ESLint、Prettier、tsconfig 等)
- 包含 Dockerfile 和 docker-compose.yml
- 包含 README.md(含启动说明)
- 包含 .env.example
- 包含基础的错误处理和日志
- 代码风格:简洁、有注释、有类型注解
请给出完整的目录结构和每个关键文件的内容。
指令 2:函数实现
场景:根据需求描述生成函数
请用 {语言} 实现以下函数:
函数名:{functionName}
功能:{一句话描述}
输入参数:
- {param1}: {类型} — {说明}
- {param2}: {类型} — {说明}
返回值:{类型} — {说明}
边界情况处理:
- 输入为空/null 时:{行为}
- 输入超出范围时:{行为}
- 并发调用时:{行为}
要求:
- 纯函数,无副作用
- 包含 JSDoc/docstring 注释
- 包含 3 个单元测试(正常 + 边界 + 异常)
- 时间复杂度优于 O({N})
指令 3:Bug 修复
场景:描述 bug 让 AI 定位并修复
以下代码有 bug,请帮我定位并修复:
```{语言}
{粘贴代码}
Bug 描述:
- 预期行为:{应该怎样}
- 实际行为:{实际怎样}
- 复现步骤:{如何触发}
- 错误信息:{如有}
请:
- 指出 bug 的具体位置和原因
- 给出修复后的代码
- 解释为什么原来的写法会出问题
- 给出避免类似 bug 的建议
---
## 指令 4:代码重构
**场景**:改善已有代码的质量
请重构以下代码,提升可读性和可维护性:
{粘贴代码}
重构目标:
- {降低复杂度 / 消除重复 / 提升可读性 / 拆分大函数 / 改善命名}
约束:
- 不改变外部行为(输入输出不变)
- 保持向后兼容
- 不引入新依赖(除非必要)
请:
- 指出当前代码的问题(具体到行)
- 给出重构后的完整代码
- 说明每个改动的理由
- 如果拆分了函数,说明新的职责划分
---
## 指令 5:单元测试生成
**场景**:为已有代码生成测试
请为以下代码生成完整的单元测试:
{粘贴代码}
测试框架:{Jest/pytest/go test/...}
要求:
- 覆盖所有公开方法
- 每个方法至少包含:正常路径、边界值、异常情况
- 使用 Arrange-Act-Assert 模式
- Mock 外部依赖(数据库、API、文件系统)
- 测试命名格式:should_{预期行为}when{条件}
- 目标覆盖率 > 80%
请给出完整测试文件,可以直接运行。
---
## 指令 6:API 设计
**场景**:设计 RESTful API 接口
请帮我设计以下功能的 RESTful API:
功能描述:{描述} 相关数据模型:{描述实体和关系}
要求:
- RESTful 风格,资源命名用复数名词
- 包含 CRUD 全套端点
- 每个端点给出:
- HTTP 方法 + 路径
- 请求参数(path/query/body)
- 响应格式(JSON 示例)
- 状态码(200/201/400/404/500)
- 是否需要认证
- 分页、排序、筛选的通用约定
- 错误响应的统一格式
- 给出 OpenAPI/Swagger YAML 片段
技术栈:{Node.js + Fastify / Python + FastAPI / Go + Gin}
---
## 指令 7:数据库 Schema 设计
**场景**:设计数据库表结构
请帮我设计以下业务的数据库 Schema:
业务描述:{描述} 核心实体:{列出实体} 实体关系:{描述关系,如"一个用户可以有多篇文章"}
要求:
- 数据库:{PostgreSQL/MySQL/SQLite}
- 给出完整的 CREATE TABLE 语句
- 包含:主键、外键、索引、约束、默认值
- 包含 created_at / updated_at 时间戳
- 软删除(deleted_at)
- 给出 ER 图(文本描述)
- 给出常用查询的 SQL 示例
- 说明索引策略(为什么在这些字段上建索引)
---
## 指令 8:性能优化
**场景**:分析和优化代码性能
以下代码性能不佳,请帮我分析和优化:
{粘贴代码}
性能问题描述:
- {如"处理 10000 条数据需要 30 秒"}
- {如"内存占用持续增长"}
请:
- 分析性能瓶颈(时间复杂度和空间复杂度)
- 给出具体的优化方案(可能有多个,按效果排序)
- 给出优化后的代码
- 预估优化后的性能提升幅度
- 说明 trade-off(如用空间换时间)
---
## Cursor 专属配置
### .cursorrules 文件
在项目根目录创建 `.cursorrules`,让 Cursor 理解你的项目上下文:
.cursorrules 示例
项目概述
这是一个基于 Astro + Vue 的内容平台,后端使用 Fastify + SQLite。
代码规范
- 前端组件用 Astro + Vue 岛屿架构
- 交互组件用 Vue 3 Composition API
- 样式用纯 CSS 变量,不用 Tailwind
- 后端路由按模块分文件(routes/auth.js, routes/content.js)
- 数据库操作直接用 better-sqlite3,不用 ORM
设计系统
- 主色:#10b981(矩阵绿)
- 背景:#0a0f0d(暗绿黑)
- 字体:Inter + HarmonyOS Sans SC
- 代码字体:JetBrains Mono
回答要求
- 给出完整可运行的代码,不要用省略号
- 修改已有文件时说明修改了哪些行
- 新建文件时说明文件路径
### MCP 工具扩展
Cursor 支持通过 MCP 协议扩展能力,常用配置:
```json
// .cursor/mcp.json
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/project"]
},
"sqlite": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "/path/to/db.sqlite"]
}
}
}
这样 Cursor 可以直接读写文件系统和数据库,生成代码更准确。
使用建议
- 不要一次给太多需求:拆成小任务,每次一个函数/一个组件
- 先给上下文:让 AI 先读你的项目结构,再生成代码
- Review 每一行:AI 生成的代码一定要人工 Review,特别是安全相关
- 迭代优化:第一版不满意就追问「请优化 X 部分」,不要重新开始
- 善用 .cursorrules:项目上下文写得越清楚,AI 输出质量越高
原文出处:本指令集参考 Cursor + MCP 教程 和 Cursor MCP 完整教程 整理改写。
觉得有用?收藏 + 分享给你的开发伙伴。