代码生成
开发者在工作中还有一种场景的工作量比较大,需要复杂的逻辑思考。但是实际上最终的代码可能只需要几行就可以搞定。你在思考过程中觉得很痛苦,想和身边的同事去沟通。也许你给他解释完这个逻辑以后,他非但不能帮你思考,反而将一人份痛苦变成两人份。
"candidates": null,
"candidatesX": null,
"description": "role---用户角色",
"label": "角色",
"name": "role",
"optional": true,
"schema": null,
"type": "String"
},
{
"candidates": null,
"candidatesX": null,
"description": "Topics of the pulsar server to create---需要创建的主题",
"items": {
"schema": [
{
"candidates": null,
"candidatesX": null,
"description": "topic name---主题名称",
"label": "主题名称",
"name": "name",
"schema": null,
"type": "String"
},
{
"candidates": null,
"candidatesX": null,
"default": 1,
"description": "partition number---分区数",
"label": "分区数",
"name": "partitions",
"schema": null,
"type": "Integer",
"validator": ">0"
}
],
"type": "Object"
},
"label": "主题列表",
"name": "topics",
"optional": true,
"schema": null,
"type": "List"
}]
我想要得到的数据是 type 为 List 的数据,并且数据结构为:
[
{type:List, name:"topics", needValidates:[{
name:"name", type:"String"
},{name:"partitions", type:"Integer"}] }]
GPT 会为我们得到正确的结果:
我们只需要输入目标数据结构,转换后的数据结构,无需指定语言。因为它会从你的上下文里理解到你是想要问什么实现方式。
还有执行脚本,我们只需要描述清楚我们的需求,它也会帮助我们进行完善。
此外,它还可以进行进行解释说明:
上面可以看到,我们在这里使用了一次“自然语言编程”的操作流程。不论你是否会使用 python、bash 你都可以正常的描述你的需求。进行生成。
我们还可以进行代码转换,例如你写了一段 js 代码,你希望将这段代码转化为python,以前我们会通过 Google 搜索看看有没有对应的转换器,现在就只需要交给 gpt 来执行。提出你的诉求,它会在 10s 内为你生成一段没有 bug,包含异常处理的代码。这里我们不展开举例。
生成单测
我们刚刚那段数据转化的代码,如果我们想要进行测试。以前我们可能会苦思冥想很多场景进行补充。现在只需要告诉 AI 帮我生成单测即可。
1prompt:
2
3(代码内容) 为这段代码生成 unit test。
如果你觉得测试条件不够,那就再问它,让它再生成。
prompt: 数据源不够丰富,多测试集中边界条件,比如数据不存在,数据类型无法转换,数据类型不对等。
它还会给你解释这里都做了什么操作,这些测试用例覆盖了不同的场景,包括:
当数据源中没有类型为 List 的字段时,应该返回空数组;当数据源中有类型为 List 的字段时,应该返回正确的字段数组,包括需要的验证。
更多 AI 应用/插件
AI 就像是一个基础应用, 在它上面还有着很多的可能。随着你用的越多,解锁的技能也就越丰富。例如现在 GPT 系列甚至推出了自己的应用市场。下面我们来为各位简单介绍几款热门插件:
AIPRM
它是 ChatGPT3.5 时代的应用商店。用户通过不同的 prompt,对它进行训练,达到自己的目的。
例如我们在文章最开始介绍的“长文总结”能力:我们普通的和它进行交流,那么字数限制就会成为瓶颈。但是如果我们转化了沟通技巧,那么就可以突破这一限制。AIPRM 就是一个充满了奇思妙想的插件系统,你可以在里面查找/发布各种你想要的 prompt。