一. 前言
自从OpenAI流行之后,我对这一块的方向仍是比较关注的。前段时间Google IO大会AI部分也是占了很大的比重了,并且从google的部署来看,也差不多是往我预期的方向去开展,我所关注的东西其实很简略,便是辅佐开发,而Google IO大会中的内容也让我认识到了,他们确实有在往这个方向去开展。尽管现在还处于一个比较鸡肋的阶段,可是这是一个进入大AI年代的信号。
二. 现状
对于现在的一个环境而言,AI是现已能进行一些根底的辅佐开发了。最简略的做法我之前也有说过一些,/post/721986…
这时候有人就说了,咱们这些做开发的,还要搞这些翻开网页后仿制粘贴的操作,太low了。没错,所以一般咱们希望能做到的第一步便是集成,把AI集成到咱们的IDE中。
1. Studio Bot
而这次的Google IO大会就有这么一个东西 Studio Bot ,把AI集成到AndroidStudio中,留意,这是官方的,尽管现在相当于一个试用的阶段,但至少也能看出了官方的决计:要做一款google自己的AI东西 ,而往往google这几年出的东西都是比较香的,所以我很看好几年后能运用到老练的AI东西。
想要了解的能够去看看官网 developer.android.com/studio/prev… ,首要需求下载最新的版别Android Studio Hedgehog,然后依照流程去注册运用Studio Bot,文档卡里边讲得仍是比较清楚的,我这儿就不重复搬过来说了。
但其实你别看它这个东西提出来了,其实当时仍是比较鸡肋的,并且现在运用的人很少,后续或许还会进行优化和功用的扩大。我主张咱们看看演示就行了,没必要下载预览版来尝试,首要预览版会有很多问题,其次上面说了,当时的功用比较鸡肋,估量你就玩个一两个小时就失掉爱好了,现在用来直接辅佐开发我觉得还尚早。
讲完官方的,咱们能够来讲讲现在老练的插件。
2. Bito
Bito是ChatGPT团队开发的一款插件,而咱们的IDE能够运用这款插件来辅佐开发,想要了解的话能够看看官网的介绍 bito.ai/
AndroidStudio运用Bito的办法也很简略,首要在搜索这个插件
然后装置,然后点击Help ->Find Action,输入Choose Boot Java Runtime for the IDE
select runtime中JCEF有两个如出一辙的,有一个是有问题的,有一个是正常的,试试就知道了。装置之后重启,然后点AS右边的Bito进行登录就能运用了
没有号的话注册一个就行,流程挺简略的,登录之后就能够直接运用
Bito的好处便是整个流程引进下来很便利,可是它也有很明显的缺点,那便是太慢了,不知道是因为运用的人多仍是什么问题,它的回复速度十分的慢。我自己是给了它一个json,然后让他生成一个kotlin的data类,成果好久才生成出来,我或许自己撸代码都撸完了。尽管慢,但也是能用,比方你有什么问题,仍是能够问他的,但我是宁愿翻开GPT网页直接运用
3. Github Copilot
Github Copilot和Bot相同是插件,而相对于Bot,Github Copilot会更快,并且能做到的更多(相对更多,其实也挺鸡肋)
运用的办法也是直接插件搜Github Copilot
装置,装完之后它会重启AS,然后弹出个告诉让你去登录GitHub,你不小心关掉也没关系,AS的底部也有个图片能点出来
点Copy and Open 会翻开github让你把Device code输入进去,没登录的话会先登录(Github总不能没号吧)
输入后你的github就会进入这个页面,你的github菜单就会多出一个Copliot
那么这是干什么的呢?这是收费的啊大哥,是能够有一个月的免费体会,可是你要有VISA,因为要填信息,你得填完信息才给用,或许你有教育邮件(便是学生或许教师),一般你上大学的话都会有个学校的邮箱。这个类似苹果那种教育优惠。
但我十分不主张学生运用这种方法去注册,因为我上面说了,这个功用其实不算老练,你肯呢个玩个一两小时就失掉爱好了,然后你把你的信息给露出出去,我觉得这有点因小失大。
所以有VISA的能够体会一个月,有钱的,当我没说。那又没VISA,不用学校邮箱,要怎么弄呢?买一个号啊,这种东西在我神州大陆会缺?
Github Copilot相对于Bito的功用和功用都会强壮一些,可是Github Copilot的引进就没有Bito的便利
4. 小结
这边介绍了3个现在AS能运用的AI东西,一个官方的东西studio bot,两个插件Bito和Github Copilot,加上直接在GPT网页翻开GPT运用这4种方法中。
我个人肯定是最看好studio bot,官方出品,必属精品,其他IDE我不敢说,可是Android Studio未来肯定是studio bot最好用。
而就现在来说,无论运用哪种都有一定的成本,首要肯定是科学上网,GPT有些大佬会迁移出来,不科学上网也是能运用的。其次便是账号问题,像Github Copilot这种账号恳求难度就比较高,我主张想用的话直接买号。
终究现在对于辅佐开发而言(对于其他运用我或许不太清楚,我比较关心的是辅佐开发的作用),功用上还不是很老练,说得好听便是或许对我的开发流程而言用途不是很大,说得难听一点便是我自己敲代码都比他快。
有的人或许会觉得仍是用途挺大的。我仅代表我自己的观念,像我开发的话习惯运用一些模板,快捷键和AS供给的一些东西。我不敢确保说每个人都会去运用这些东西,但就我而言,比方拿Bot来说,你或许会喜欢给他一些简略的逻辑让它生成代码,可是我运用模板运用AS的东西生成代码的速度比它更快。我反而会在一些比方说Json生成Data,下划线转驼峰,或许突然忘掉一些知识点的时候去运用,可是这种情况下直接翻开网页运用GPT我感觉更好。
三. 展望
便是这个google IO大会,提出AI这个方向之后,特别是本年提出这些东西之后,其实对之后的影响仍是挺大的。这个能够一点一点慢慢说。
首要是Android的一个技能更新,像之前google提出的JetPack、kotlin、flutter等,其实都是很好的技能,都是要学的,现在相当所以重心放AI了,所以之后像这类技能的展示或许周期会相对长一些。
然后是咱们比较关心的一个问题,会不会AI技能老练之后,就不需求开发人员了,直接AI就行了,程序员悉数失业。我觉得应该不会到达这种地步吧,假如真能到达这种地步,那AI都能自己给自己编程了,这种情况就超出想象了,完全便是科幻里边的那种。 可是我以为终究是能做到极致的辅佐开发,宏观上来看便是能辅佐咱们把开发时间缩短到一半以下。那么就有或许会出现说公司只需一两个核心的成员,合作AI进行开发,就顶原本的五六个人开发。 这其实是要看老板吧,他觉得你的功率因为AI的合作能进步一倍,你一个人就能做两个人的事,那我干嘛养两个人,养一个人不更合算?当然老板也会觉得,那AI进步了你的功率,你就做完6点下班吧,不用加班了。其实话说到这儿,懂的都懂。
所以这个开展是好仍是坏,其实我也不清楚。可是单纯对开发来说,肯定是好的。那要怎样才能到达我说的辅佐开发的地步,我又为什么这么看好studio bot?
这儿得聊一些根底,
咱们写代码,咱们编译,打包APK等等这些操作,其实都是对文件操作,这个能理解吧。比方class文件用dx东西生成dex文件。然后这些操作,我能够写一个脚本去做吧,写脚本去操作文件。
比方我想用json生成kotlin的data类这件事,我能够用脚本去做,我能够用脚本接受json输入,然后依照data类的格局去让脚本生成一个data类的.kt文件,这个脚本是能够做到的,这个要先清楚。
那既然脚本能做到的事,AI你觉得做不做得到?为什么我不写脚本去完结这件事,因为这件事不费事,我反而写脚本更费事,可是运用AI去完结这件事并不费事啊,所以这是能很明显的进步开发的功率。
可是现阶段的AI的问题是什么呢?是拿不到上下文,简略来说它只能单纯的作为聊天东西,它拿不到咱们项目的上下文。“帮我依据以下json生成一个data文件放到xxx目录下”,AI当时完成不了这个功用,可是它要做这个作用so esay。咱们当时只能说让他生成个data类,然后它在聊天窗口给你生成,你自己创立一个data类然后仿制它的内容过去。
所以我看好studio bot的原因之一是因为它是官方的,我觉得它未来是能拿到上下文的。举个简略的比如,它能拿到整个项目并且读写整个项目,那咱们让它做的操作,和它说的话都是基于整个项目的,我就不会花费很多时间去给他描绘我要做什么,也会省去很多过程,我现在运用AI来和项目接轨都是要经过一些过程进行转化的,而这些转化的时间还不如我直接自己撸代码。
假如它能拿到项目这个上下文,我对它说“帮我找xxx页面的布局”,它能帮我直接找的。或许说咱们运用retrofit做网络恳求,往往要写一些分散的代码,我直接和它说“依据链接、入参、出参新增一个名为xxx的恳求”,它能帮我依照其他恳求的格局去写到各个文件中。要是能做到这步,那对咱们功率的进步就很大了。
“给这个XXXXActivity写个LiveData”,“查看当时类是否有内存泄露或许”,“帮我将当时的中文放到string.xml中”等等。这些操作其实都是开发中的重复操作,其实并没有很依赖业务,而我信任终究studio bot终将会做到这一步。
大AI年代现已敞开,这股激流又会将咱们带到何处!