AI编程,不会使用提示词,那怎么能行!! 小南独家提示词书写技巧, 让你效率提高2倍!!! - 提示词第一课!!!!

0. 前言

这是提示词第一课程, 未来还有cursor、 Copilot 、通义千问、MarsCode的实战。 关注、收藏不迷路。 麻烦点个赞吧。小南持续为大家

1. 如何写提示词

编写有效提示词是高效使用 AI编程软件的关键。下面介绍一些方法和技巧,帮助你更精准地引导模型生成所需内容。


1.1 明确角色

将 AI编程软件设定为特定领域的专家角色,有助于生成更专业、更贴合实际需求的内容。

示例:

“你是一位经验丰富的 Java 后端开发工程师,熟悉 Spring Boot、MySQL、Redis 等技术栈。请基于这些技术实现以下功能。”

通过设定具体身份,模型会根据角色的专业背景给出更准确的结果。


1.2 明确需求和要求

为模型提供清晰的目标描述和详细的上下文信息,能显著提高生成结果的质量。

1.2.1 明确目标

提示词需要准确描述你希望 AI编程软件完成的任务目标,避免模糊的指令。

示例:

  • 模糊:写一个登录系统
  • 明确:用 Python 编写一个登录系统,支持用户名和密码校验,使用简单的控制台输入输出。

明确的目标能帮助生成更符合需求的结果。


1.2.2 分步骤描述

将复杂任务分解成简单的步骤,逐步引导模型生成结果,既能提高准确性,也便于逐步优化。

示例:

提示:分三步设计一个购物车系统:1. 数据模型,2. 添加和移除商品的功能,3. 计算总价的功能。每一步分别用 Python 实现并解释。现在请进行第一步的详细设计

分步骤提示使生成的代码逻辑更清晰且易于维护。


1.2.3 提供上下文

为模型提供充分的背景信息和约束条件,帮助其更好地理解你的需求。

示例:

  • 模糊:生成一个 API
  • 提供上下文:生成一个基于 Flask 的 REST API,包含两个端点:一个用于用户注册(POST 请求),另一个用于获取用户列表(GET 请求)。

通过补充上下文,模型能生成更贴合实际的结果。


1.2.4 使用约束条件

为模型指定技术栈、代码结构或其他限制,以确保生成结果符合实际需求。

示例:

提示:生成一个只使用 Python 标准库的脚本,功能是从文本文件中提取电子邮件地址。

设置约束条件能让生成的代码更符合场景需求,避免不必要的依赖。


1.2.5 迭代改进

不要期望一次生成完美的结果,通过多次迭代逐步优化生成内容

示例:

  • 初始提示:生成一个简单的 Flask 应用程序。
  • 改进提示:在生成的 Flask 应用中,添加用户输入的错误处理功能,并返回适当的 HTTP 状态码。

通过反馈和改进提示词,逐步完善代码,确保最终结果符合预期。

下面补充一些更高级的技巧和实践,提升提示词的精度和灵活性:

1.3 高级技巧和实践

1.3.1 明确输出格式

指定输出格式能让 AI编程软件的结果更符合你的期望,尤其是代码和文档类任务。

示例:

  • 提示:用 Python 编写一个函数,功能是计算 Fibonacci 数列,并以 Markdown 格式输出代码和说明文档。
  • 结果:AI编程软件将同时生成代码和符合 Markdown 标准的注释说明。

1.3.2 提供输入输出示例

为任务附加示例输入和预期输出,帮助模型更精准地生成符合需求的代码。

示例:

提示:

编写一个 Python 函数,接收一个整数列表作为输入,返回该列表的平方值列表。例如:

  • 输入:[1, 2, 3]
  • 输出:[1, 4, 9]

通过具体示例,模型能更好地理解预期功能和逻辑。


1.3.3 定义边界条件

为生成内容设定边界条件,避免产生超出范围或不符合实际的内容。

示例:

提示:

生成一个只适用于 Python 3.8+ 的代码,用于解析 JSON 数据,并捕获可能出现的 KeyError 和 TypeError 异常。

明确的边界条件帮助生成更精确和实用的内容。


1.3.4 设置交互式问答风格

通过多轮交互指导 GPT-4,逐步优化和调整结果。

示例:

  • 提示 1:用 Java 编写一个登录模块的基础代码。
  • 提示 2:在代码中添加错误处理,确保用户名不能为空,且密码不少于 8 位。
  • 提示 3:优化代码,将用户验证逻辑抽象为独立的方法。

多轮交互帮助逐步完善代码,避免一次性处理复杂任务。


1.3.5 为长任务分段提示

当任务较复杂时,建议分段生成内容,每段专注于一个子任务。

示例:

  • 第一步提示:生成一个简单的 Flask 应用骨架。
  • 第二步提示:在骨架中添加一个用于用户注册的端点(POST 请求)。
  • 第三步提示:为用户注册端点添加错误处理,并返回适当的 HTTP 状态码。

分段提示不仅提升生成结果的质量,还能更好地控制每一步的逻辑和细节。


1.3.6 考虑性能优化

对于性能敏感的任务,直接要求 AI编程软件生成高效的解决方案。

示例:

提示:

使用 Python 编写一个高效的函数,从一个大文件中提取所有邮箱地址,考虑内存优化,不加载整个文件到内存中。

明确要求性能优化,使生成的代码更贴近实际需求。


1.4 小结:提示词框架模板

综合以上技巧,可以使用如下模板编写提示词:

[角色]:你是一名 [领域专家]。
[目标]:请生成 [具体任务]。
[上下文]:任务需基于以下背景信息:[上下文内容]。
[格式]:输出需符合以下格式:[输出格式要求]。
[约束]:需满足以下条件:[具体约束条件]。
[示例]:附加输入和输出示例:[示例内容]。
[优化]:代码需考虑 [性能/可维护性/扩展性等] 优化。

示例:

你是一位熟悉机器学习的 Python 开发专家。请编写一个基于 scikit-learn 的程序,用于对手写数字数据集进行分类。
任务需包括数据加载、模型训练、测试和评估。输出以 Markdown 格式生成,代码附带详细注释。模型需具有良好的扩展性,允许替换不同的分类器。

2. 提示词实际案例 - 写个Spingboot项目

2.1. 大型项目最重要的是迭代

让 GPT 进行迭代开发是一种高效方式,尤其是在完成完整项目时。以下是一个迭代开发 Spring Boot 项目的具体思路和步骤。


2.1.1. 第一步:初始化项目结构

提示词:

你是一名经验丰富的 Java 后端开发工程师。
请为我生成一个基于 Spring Boot 的项目,初始功能是管理用户信息。项目需要:
1. 使用 Maven 构建。
2. 配置 application.properties 文件以连接到 MySQL 数据库。
3. 提供项目目录结构(包含 src/main/java、resources 等标准目录)。
4. 生成一个基本的 pom.xml 文件,包含 Spring Boot、Spring Data JPA 和 MySQL 的依赖。

目标输出:

  • 项目目录结构
  • 基本的 pom.xml 文件
  • application.properties 示例配置

2.1.2. 第二步:设计数据模型

提示词:

在刚才生成的项目基础上,请添加用户管理模块。需要:
1. 创建一个 User 实体类。
2. 数据表字段包括:id(主键)、username(字符串,非空)、email(字符串,唯一)、created_at(时间戳)。
3. 使用 Spring Data JPA 创建 UserRepository 接口。
4. 提供 User 表的 SQL 创建语句。
5. 使用标准 Java 注释解释每个字段和类的作用。

目标输出:

  • User 实体类
  • UserRepository 接口
  • SQL 脚本

2.1.3. 第三步:开发基础服务层

提示词:

现在请在项目中添加服务层逻辑:
1. 创建 UserService 类,提供以下方法:
   - `List getAllUsers()`:获取所有用户。
   - `User getUserById(Long id)`:根据 ID 获取用户。
   - `User createUser(User user)`:创建用户。
   - `User updateUser(Long id, User user)`:更新用户信息。
   - `void deleteUser(Long id)`:删除用户。
2. 所有方法需要添加异常处理,若找不到用户需抛出自定义异常。
3. 添加方法级注释,解释每个方法的作用。

目标输出:

  • UserService 类
  • 异常处理逻辑(自定义异常类)。

2.1.4. 第四步:开发 REST 控制器

提示词:

请在项目中添加一个 RESTful 控制器:
1. 创建 UserController 类,映射路径为 `/users`。
2. 提供以下 API 端点:
   - `GET /users`:返回所有用户。
   - `GET /users/{id}`:根据 ID 返回用户信息。
   - `POST /users`:新增用户。
   - `PUT /users/{id}`:更新用户信息。
   - `DELETE /users/{id}`:删除用户。
3. 返回 JSON 格式响应,并为每个端点添加详细注释。

目标输出:

  • UserController 类
  • REST API 实现

2.1.5. 第五步:添加单元测试

提示词:

现在请为项目添加单元测试,具体需求如下:
1. 使用 JUnit 和 Spring Boot 测试框架。
2. 为 UserService 编写测试用例,验证 CRUD 操作的正确性。
3. 测试数据需使用内存数据库(如 H2)。
4. 为每个测试方法添加注释,解释其测试目的。

目标输出:

  • 单元测试类
  • 测试用例实现
  • H2 数据库配置

2.1.6. 第六步:完善功能和优化

提示词:

在现有项目基础上,添加以下功能和优化:
1. 添加用户的输入校验(如 username 和 email 不能为空,email 格式需合法)。
2. 为 REST API 添加全局异常处理机制,返回统一的错误格式(包含错误码和描述)。
3. 优化代码:将通用异常处理和日志功能抽象为独立组件。
4. 添加分页和排序支持到 `GET /users`。

目标输出:

  • 输入校验逻辑
  • 全局异常处理类
  • 分页和排序支持

2.1.7. 第七步:部署和文档

提示词:

最后一步,请为项目生成以下内容:
1. 部署指南:包括如何在本地运行项目、如何配置数据库。
2. API 文档,包含每个端点的请求和响应示例。
3. 使用 Docker 容器化 Spring Boot 项目,并提供 Dockerfile 和 docker-compose 文件示例。

目标输出:

  • 部署指南文档
  • API 文档(Markdown 格式)
  • Dockerfile 和 docker-compose 示例

2.2 总结

通过上述7 步迭代提示,你能逐步完成一个功能完善、代码清晰的 Spring Boot 项目。每一步专注于特定模块或功能,便于逐步优化和调整,最终构建出高质量的项目。

这种迭代式开发方法可以根据需求灵活调整方向,也有利于团队协作时的任务分工。

你可能感兴趣的:(AI,JAVA,前端,AI编程)