大家好,我是鱼皮。
前阵子 AI 大火的时候,很多朋友都在问我:AI 是否会淘汰程序员?
现在距离 AI 大火已经快一年了,我的答案很明确:
AI 会淘汰程序员,但只会淘汰不会用 AI 的程序员。
不得不感叹,AI 的发展真的是太快了,很多同学可能对 AI 的印象还局限于智能问答,但其实现在 AI 已经能自己干活了。
虽然 AI 现在还不能完全取代一个职业,但确实改变了很多职业的工作方式。
像我们公司的员工,都在使用 AI 工具来帮助自己摸鱼。开发用它生成代码,设计用它生成图像,运营用它优化文案,销售用它智能回复。我不仅全都要,还会用 AI 来创造艺术。
虽然 AI 已经这么强大了,但是有多少同学能真正利用好它呢?
为了让程序员朋友们都能跟上时代,我做了视频和图文教程,以知名的、免费的国产 AI 工具 CodeGeeX 为例,给大家分享如何运用 AI 工具来提高学习和工作效率。
建议大家观看视频,学习体验更佳:https://www.bilibili.com/video/BV1Aw411h7Ae
AI 使用教程
一、安装
首先安装 CodeGeeX 工具,可以直接在官网安装,也可以在主流 IDE 的插件市场里安装。
官网:https://codegeex.cn/zh-CN?article=1130
话说国内 AI 工具那么多,为什么选择用它来演示呢?
原因很简单,4 个优势:完全免费、速度更快、生态活跃、而且最关键的是能够直接在主流 IDE 中作为插件使用。VS Code、JetBrains 都支持~
不知道大家最常用的 IDE 是哪些?我这里选择用主流的轻量编辑器 VS Code 给大家演示。
进入 VS Code 的扩展页面,搜索 CodeGeeX 插件,点击安装:
然后就能在左侧看到插件了:
这里分享一个 VS Code 使用技巧,在插件图标上长按鼠标,然后往右拖,插件界面就跑到右侧了,和左侧的文件列表可以同时存在,这样后面使用会更方便~
下面我以程序员的工作为例,给大家分享如何用 AI 摸鱼。不,用 AI 提高工作效率!
二、工作提效
1、AI 导师
程序员刚进公司,肯定要先熟悉项目代码,但是看不懂代码怎么办?
没关系,现在 AI 就是你的导师!
打开要分析的代码文件,然后在插件中输入 /explain
指令:
回车!AI 导师就帮你解释了整个代码文件,可以帮助自己快速理解项目。
当然,你也可以选中代码片段,然后输入指令:
这样做,AI 给出的解释可能会更详细一些:
我强烈建议大家用这个指令解释一下同事写的代码,如果发现 AI 都不能理解,那么你的同事之后可能会更注重代码质量。
2、AI 程序助手
一般熟悉了项目、写好了设计文档,我们就要开始写代码了。
这时,AI 就是我们得力的程序助手,我们只需要按照正常的习惯编写代码,AI 就会持续给我们代码提示:
这时按下 Tab
键,就能快速使用 AI 生成的代码啦。
还可以直接向 AI 提问,让它帮你生成完整的代码,比如 “Java 爬虫示例代码”,很快就给出了可以运行的完整代码:
虽然 AI 目前还不能帮你生成复杂的业务代码,但对于一些通用的代码(比如数据格式校验、写 SQL),还有各种 Demo 代码,它还是能帮你搞定的。
而且咱们还可以利用 AI 来优化代码,比如选中这段代码,让 AI 帮我提升代码的健壮性:
看看 AI 给出的回复,补充了很多的校验,也能帮我们学到一些好的编程习惯:
此外,AI 可以帮我们解决程序员的 2 个大忌。
哪 2 个大忌?
写代码不写注释,做项目不写文档。
明明我们都讨厌跟这样的人合作,自己却还是这么干,最后眼看着代码堆积成屎、业务口口相传,还不忘吐槽一句:什么辣鸡?!
现在有了 AI 程序员,不用你写注释了,直接打开代码文件,输入 /comment
指令:
只需几秒钟,CodeGeeX 插件就会自动为你的代码补充详细的注释!
你也可以只选中部分代码,然后输入 /comment
指令,让 AI 给这段代码添加注释,非常灵活。
同理,你可以让 AI 帮你写文档,只需要选中代码,然后向它提问 “帮我写一篇介绍文档”:
很快一篇详细的代码介绍文档就出炉了:
请在评论区 @ 出那个不写注释、不写文档的人,把这个教程发给他看!让,ta,生!
3、AI 测试员
写完程序后,为了保证程序能正常运行,一般我们要写单元测试。
但是,很多同学是不写单元测试的!
为啥?
因为写单元测试要花费很多时间啊,而且我们程序员总是对自己有着莫名的自信,觉得自己的代码肯定没 Bug。
说的是不是你?
不过现在我们有了 AI 测试员,只要打开想测试的文件,然后输入 /tests
指令:
就能自动生成单元测试代码啦:
为了提高生成的准确度,我更建议大家选中要测试的方法,然后在输入 /tests
指令的同时,告诉 AI 你的要求,比如要使用什么单元测试框架、生成多少用例之类的:
你给 AI 的命令越具体,才更容易得到理想的回复:
在评论区 @ 出那个不写单元测试的人,把这个视频发给他看!让,他,生!(一字一顿)
4、AI Bug 修复师
做程序员,最痛苦的事情不是加班,而是程序出现了 Bug,导致你加班。
像我们之前开发复杂项目常常是开发 1 小时,改 Bug 2 - 3 天。
现在有了 AI Bug 修复师,我们只需要打开存在 Bug 的代码文件,然后输入 /fixbug
指令:
AI 就会自动为我们发现代码中潜在的 Bug,并给出修复和优化建议,我们可以自主选择是否替换 AI 修复的代码:
当然,你也可以直接带着具体的报错信息向 AI 提问,区别于直接上网搜,AI 的回答可能会更好理解、更容易帮你找到解决问题的思路:
不过有一点很重要,咱要学会如何向 AI 提问,让 AI 理解你的问题也是需要技术的,甚至还专门有一种新职业 prompt 工程师。
三、其他能力
除了上面这些最常用的功能外,现在很多 AI 都支持读取和处理文件了。
1、工具箱
比如 CodeGeeX 新出的工具箱,你可以上传一个 JSON 文件,让 AI 帮你转换为 Java 类代码:
AI 的处理方式很有意思,它接收到这个任务后,自己写了一段 Python 程序来实现文件的读取和代码转换,并最终给我们提供了一个处理好的文件下载地址:
点击下载,验证转换后的文件是否可用:
除了使用内置的工具外,你还可以自主向 AI 提问,从而实现更多定制的能力,比如内容加密、数据生成等:
理论上只要 Python 程序能做的事情,AI 都能操作 Python 实现。但由于现在 AI 能力有限,现实可能并没有那么顺利,你可能会看见 AI 自我拉扯的名场面:
2、代码翻译
最后介绍的功能是代码翻译,这是我大学时期就幻想过的一个功能,可以把我的 C 课设的代码直接转成 Java 代码,拿去交 Java 课设的作业。
可惜当年莫得实现,但现在有了 AI,一切都很简单了。
尤其适合转语言、想用多种语言刷算法题、或者重构项目的同学,虽然翻译未必完全准确,但起码有一个提醒的作用,能够提高效率。
总结
OK 就分享到这里,怎么样,是不是觉得 AI 和我们已经没有距离了呢?
为什么我觉得 AI 会淘汰程序员?是因为随着 AI 越来越智能,简单传统的编码任务会被自动化,从而减少人工成本。
所以作为一名程序员,我们要做的不是迷茫和焦虑,而是要具备使用 AI 工具的能力,适应未来的技术变革,这样才不会被淘汰。
建议大家养成使用 AI 的习惯,其实在做任何复杂的事情之前,都可以先问问 AI 有没有什么建议和方法。