AI 简介
像 ChatGPT/New Bing 这类 AI 归于人工智能中的 NLP 范畴,也便是自然语言(英文、汉语等)处理范畴。换句话说便是让计算机来了解并正确地操作自然语言,完结咱们给它指定的使命。
准备工作
- 你需求想办法注册一个 ChatGPT 账号,或许像本文一样直接运用基于 GPT-4 的 New Bing AI 来完结你的代码优化
- 由于 AI 的答复具有必定的随机性,你应该将 AI 设置为精准答复,而不是赋有创造性的答复,这能有效防止 AI 给出过错答案
如何成为发问(Prompt)工程师?
想 AI 发问的时分,应该尽或许的具体一些,下面分享一些常见的发问事例作为参阅。
低效
比较低效的,是这种非常简单的发问方法:
优化代码:code
用 Bing AI 测试:
可以看到 Bing AI 并没有当即优化你的代码,而是阅览你的代码后,用询问的方法来确定是否要优化这段代码…
合格
优化你提出的需求,添加一点要求和约束,比方 “帮我” “这段”。
帮我优化这段代码:code
这时分 Bing AI 就能直接给出一段优化后的程序供你参阅了,省去了一次剩余的对话时间。
高效
- 持续优化需求,用【】对要处理代码的范围进行约束
- 添加附加条件,比方 “我不想用 if 句子了”
帮我优化【】中的代码,我不想用 if 句子了:【code】
专业
采用 设定人物 + 提出需求 + 附加条件 的发问方法,比方人物设定为高档前端工程师,需求是优化给出的代码,附加条件是不想要 if 句子并给出优化后的代码。
先设定人物
你现在充任一名高档前端工程师
然后发问
帮我优化【】中的代码,我不想要 if 句子并请你给出优化后的代码:【code】
这是一份比较通用且高效的发问格局,建议我们今后常用这种方法进行发问。
代码优化的方向
这里要求发问工程师本身具有必定的代码优化才能,了解根本的代码优化方向,比方:
- 优化代码结构
- 优化代码可读性
- 优化算法和数据结构
- 优化代码的功能和功率
或许具有一些具体的优化点,比方:
- 干掉可优化的循环
- 干掉可优化的 if 句子
- 缓存常用的值
- 防止重复的代码
- 消除剩余的句子
再直白一点,比方:
- 双循环优化为单循环
- 表驱动编程替代 if else 句子
- switch 替代 if else 句子
- && 或 || 或 三元运算符替代 if 句子
- 提取全局变量、常量
- 将重复的代码优化成函数
- 添加具体的注释
这些优化方向,你都可以在向 AI 发问的时分,添加到附加条件里,指定 AI 往这些当地进行优化。
示例:
帮我优化【】中的代码,将双循环优化为单循环并运用 && 或 || 或 三元运算符替代 if 句子,请你给出优化后的代码:【code】
一直需求查看 AI 的答复
不能无脑相信 AI 帮你优化的代码,它常常也是会给出一个看似正确,实则有 BUG 的代码程序。截取一段 GPT-3.5 的优化事例作为参阅:
哪怕是同一段代码,由于发问的方法不同,AI 给出的答案也或许会不同,而且答案还或许有问题。
你能查看出来图中哪一段代码是有 BUG 的吗?
或许需求你拆解代码
如果一大段代码投喂过去,Bing AI 或许并不会帮你优化(特别是在你运用最低效的发问方法的时分):
这时分需求将你的代码拆解后一点点投喂给它,比方你可以以函数为单位,一个一个函数叫他帮你优化,而且尽或许将你的发问语依照专业的方法进行发问。
或许需求你提供更多上下文
有时分一个功能模块的代码并不在同一个文件里,这时分就需求你将相关的代码都顺次投喂给 AI,让他阅览后再提出你想要优化的需求。
End
感谢阅览,期望这篇文章能协助你学会更高效的向 AI 发问的方法,终究利用 AI 来协助你优化代码。