为什么 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 描述:

  • 预期行为:{应该怎样}
  • 实际行为:{实际怎样}
  • 复现步骤:{如何触发}
  • 错误信息:{如有}

请:

  1. 指出 bug 的具体位置和原因
  2. 给出修复后的代码
  3. 解释为什么原来的写法会出问题
  4. 给出避免类似 bug 的建议

---

## 指令 4:代码重构

**场景**:改善已有代码的质量

请重构以下代码,提升可读性和可维护性:

{粘贴代码}

重构目标:

  • {降低复杂度 / 消除重复 / 提升可读性 / 拆分大函数 / 改善命名}

约束:

  • 不改变外部行为(输入输出不变)
  • 保持向后兼容
  • 不引入新依赖(除非必要)

请:

  1. 指出当前代码的问题(具体到行)
  2. 给出重构后的完整代码
  3. 说明每个改动的理由
  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 秒"}
  • {如"内存占用持续增长"}

请:

  1. 分析性能瓶颈(时间复杂度和空间复杂度)
  2. 给出具体的优化方案(可能有多个,按效果排序)
  3. 给出优化后的代码
  4. 预估优化后的性能提升幅度
  5. 说明 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 可以直接读写文件系统和数据库,生成代码更准确。


使用建议

  1. 不要一次给太多需求:拆成小任务,每次一个函数/一个组件
  2. 先给上下文:让 AI 先读你的项目结构,再生成代码
  3. Review 每一行:AI 生成的代码一定要人工 Review,特别是安全相关
  4. 迭代优化:第一版不满意就追问「请优化 X 部分」,不要重新开始
  5. 善用 .cursorrules:项目上下文写得越清楚,AI 输出质量越高

原文出处:本指令集参考 Cursor + MCP 教程 和 Cursor MCP 完整教程 整理改写。

觉得有用?收藏 + 分享给你的开发伙伴。


原文参考:Cursor + MCP 教程、Cursor MCP 完整教程