一、前言
我想让ChatGPT帮我搭建一个SpringBoot的web项目,我希望能够访问数据库,所以我需要集成ORM框架和Redis组件,在这个过程中我会去逐步验证过程是否正确,以确定它能否给我的coding上带来更多的价值。
这个过程可能需要不断的调教,以便让狗(G)屁(P)通(T)更好的理解我想做的事情,包括这篇文章的大部分内容。
下面让我们一起来看看如何让ChatGPT搭建一个能运行起来的工程,并结合一个简单的业务场景为我们生成测试用例并以思维导图的形式输出。
二、搭建一个SpringBoot工程
给GPT发一个指令:帮我搭建一个SpringBoot工程,基于2.6.x版本
继续,给我来一个工程示例:
按照狗(G)屁(P)通(T)的代码我们来创建一个工程,并把他运行起来:
很完美,可以运行起来,并且访问成功:
继续发送指令:给这个工程集成MyBatis-plus组件,版本:3.4.3.1:
啊,这一步似乎漏了MySQL的依赖?让我们来提示他一下:
上面的依赖似乎缺少了MySQL驱动程序的依赖?
帮我生成建表语句:给我来一个SQL建表语句,表名称:user,包含字段:自增Id、username、password、age:
让我们运行一下项目,看看效果如何:
报错了,说我们的UserMapper不是一个bean,看来GPT少加了一个注解@MapperScan,这事我得好好问问他!
加上这个注解后,继续运行项目,启动成功,访问:
http://127.0.0.0.1:8080/user/1,成功返回数据库里的数据:
继续:给我一个代码:SpringBoot集成redis
debug验证一下:
完全没问题~
三、结合XMind输出测试用例
先让狗(G)屁(P)通(T)为我们生成测试用例:
帮我写测试用例,业务场景是:用户注册流程,用户名为手机号或者邮箱,密码必须包含大小写和特殊符号,用户名必须全局唯一,以markdown语法输出,以便我能导入到XMind
保存为markdown文档后导入到XMind中:
四、关于提示工程
以上的示例其实很简单,但是不知道大家有没有发现一个问题,就是如何正确的让狗(G)屁(P)通(T)理解你的意图才是最难的,也就是所谓的:“如何用?”,这就是今年新兴的行业“提示工程师”或者叫“提词工程师”的范畴了,英文是:“AI Prompt Engineer”。
提示词主要包含五个要素:
指令 (必须) : 阐述模型需执行的任务,例如:帮我写测试用例;
上下文 (选填) : 提供执行任务时的附加信息,如“用户注册流程”;
输入数据 (选填) : 用户提出的具体问题,如“说一下劳动法第43条”
输出格式(选填) : 明确输出形式,例如以markdown形式输出、以表格输出。
风格(选填) : 回答的风格,例如幽默、风趣、友善、正式等等;
合理的运用这五个要素可精确向狗(G)屁(P)通(T)提问,获取更准确的答案。
打败你的不是AI,而是会用AI的人~