北京时间 11 月 23 日晚间消息,据报道,知情人士今日称,谷歌正在从事一个新的神秘项目:训练人工智能(AI)来写代码,以及后续的 Bug 修复和代码更新。分析人士称,该项目将来可能降低企业对人类软件工程师的需求。
知情人士称,该项目在谷歌内部的开发代号为“Pitchfork”,最初成立于谷歌母公司 Alphabet 的“X”研究部门,如今已走进谷歌实验室(Google Labs),这意味着该项目得到了高层的重视。
目前,Pitchfork 隶属于“谷歌实验室”旗下的一个新部门“AI Developer Assistance”(人工智能开发者支持团队),由奥利维亚・哈塔尔斯基(Olivia Hatalsky)领导,后者曾负责谷歌眼镜(Google Glass)和其他一些“登月项目”。
内部文件显示,Pitchfork 项目的宗旨是“利用机器学习(ML),训练代码来写代码,并进行自我修复和更新”。首先要让 Pitchfork 学习编程风格,然后根据所学知识,编写新代码。
谷歌的一位发言人对此表示:“Pitchfork 团队正与公司研究团队密切合作,共同探索不同的应用案例,以帮助开发人员。”
谷歌发言人还称,Pitchfork 的最初目标是构建一款工具,可以将谷歌的 Python 编程语言代码库更新到较新的版本。但随着时间的推移,该项目的目标转向了一个通用系统:可以减少人类编写和更新代码的需要,同时又能保持代码质量。
有人说,人工智能将来可替代程序员写代码,你怎么看?
你好!我是康哥! 未来不光是人工智能会取代程序员写代码,我认为很多行业都有可能被取代!
作为80后的我小时候没有电脑,父母那一辈基本上班的时候也都没接触过电脑,那个时候工作文稿都是用手写,而到我上了大学,短短18年的时间电脑在中国得到了普及。让我印象最深的是我参加工作的时候公司的老会计,业务能力不在话下,但是金蝶用友玩的不转。后来也不得不顺应时代的发展,学习电脑知识。
所以人工智能现在看似是一个很新兴的产业,但是很可能在未来的十几年当中渗入我们生活中的方方面面。
那些重复性的工作,例如人力资源中的考勤工资;财务中的基础做账工作;程序员中的基础代码工作;甚至医院的医生都会被人工智能取代 。
未来不会被渠道的是一些重复性工作不强的职位,我认为这个实际上就是效率的提升,电脑代替手工劳动,机器代替人的大脑和手脚,让我们的生活更加有效率。
我认为是一件好事情,能让我们有更多的时间去开发新事物。不断地开发我们的大脑去 探索 新事物。
但是从另外一个方面来看,未来的确有很多人会失业。不管是现在我们常见的一些岗位,包括一些看似稳定的铁饭碗,例如公务员或者事业单位人员,一些职能性的但是效率底下的职位也将会被取代。
这就提醒我们每个人都要居安思危,不断提升自己的技能和附加值,这样才不会被 社会 所淘汰,二十年时间看似很长,但是实际很短。
AI能代替我们的是一些能够重复的工作和简单的开发工作,可是谁来维护这些人工智能,如何管理这些人工智能我认为未来是我们人类职位的一个新增项。
作为一名IT行业的从业者,同时也是一名计算机专业的教育工作者,我来回答一下这个问题。
首先,随着人工智能技术的不断发展,未来大量基础的编码工作必然会由智能体来完成,这个过程也会不断推动程序员的岗位升级,提升程序员的岗位附加值,同时减轻程序员的工作压力。实际上,人工智能技术的发展对于未来延长程序员的职业生命周期具有重要的意义。
当前程序员岗位的工作压力还是比较大的,不仅应用级程序员每天需要完成大量的编码工作,研发级程序员也需要面对一些毫无能力提升的编码工作,这在很大程度上降低了程序开发的乐趣,使得程序员感到乏味。随着当前产品迭代的速度不断加快(大数据时代的并行迭代),程序员不仅面临更大的工作量,在工作内容上也得到了一定的拓展(全栈开发趋势),所以当前从事程序员岗位还是具有一定难度的。
要想让程序员从当前的工作压力当中解放出来,采用智能体实现代码编写是非常重要的一个解决方案,这不仅会提升程序开发的效率,同时也会保障程序代码的质量一致性,提升程序的稳定性。实际上,当前在程序开发领域内已经有不少工具可以完成一部分代码的生成工作,虽然目前功能还不够强大,但是已经在一定程度上减轻了程序员的编码负担。
未来当智能体替代程序员完成基本的编码工作之后,程序员可以把更多的精力应用在创新方面(算法设计、模式设计、框架设计等),而且技术验证的速度也会明显提升,这些都会提升程序员的工作效率。
如果有互联网、大数据、人工智能等方面的问题,或者是考研方面的问题,都可以在评论区留言,或者私信我!
有人说,人工智能将来可替代程序猿写代码,你怎么看?
好!
科技 这么发达,
完全有可能,
但是,
怎么发达,
有一些程序还是离不开人的操作,
程序猿,
有些程序必须靠人工才能完,
这个毋庸置疑,
不论智能怎么发达,
有些人的操作,
永远取代不了的,
这个倒是真的,
有一些事物,
是人工智能无法完成的,
到任何时候人,
都不会被智能取代消退,
总有一些程序交给人,
来操作!
都是些不深入ai的媒体炒作概念,让人觉得ai无所不能。一百二十八年内不可能,有的话也是小打小闹,满足不了工业届千变万化的需求。ai可以辅助创作,但独立创作,尤其是代码,绝无可能。
如果ai将来能写可执行的逻辑正确的代码,那么未来的程序员或算法工程师,都会大部分失业。如果ai都能按逻辑写代码,都可以去尝试各种逻辑,甚至自己决策。那么ai可以控制各种带有芯片的设备,小到手机,大到 汽车 。这还是ai么,这不是上帝之子么。
可能你从github喂海量的代码给到模型,借助于大数据和gpu算力出来,理论上来说能训练出一个号称能写代码的ai.但这个ai写出的代码都是基于统计规律的,不能处理突发事故。运气好的话,生成的代码能执行,但代码越长,生成的代码可运行的概率越低。
即使能运行,代码的逻辑是什么?
程序员和产品经理干架,就是因为需求会一直变。你期望ai能写出满足千变万化的需求的代码?
我们从几十亿年的单细胞生物进化到今天,能不能有点自信?要是ai这么厉害,我觉得我没脸说我是人了。总之,怎么可能!
将来我们写代码时:
总之,ai可以辅助程序员编程,极大提高编程效率。但如果代替程序员自己编程,根本不可能。如果有那一天,我把我现在的手机吃了。
这几年,人工智能被炒的越来越热了,比如阿里的鲁班系统能够自动生成双十一海报,一天可能出图上亿张;还有通过机器学习,程序画的话,被卖到上亿元;其实就目前来讲,这些都是比较基础的,人工智能即使画画,也是通过机器学习别人的画之后,说白了, 组合的。没有灵魂作为支撑的产品,不能说没有价值,但是在意义层面来讲绝对是非常弱的。
人工智能在将来可以替代程序员写代码吗?我只能说:有可能,而且即使人工智能代替程序员写代码,也是比较基础的,其实,随着现在程序工具化的趋势,已经解放了程序员,如果人工智能+工具化,在一些基础的,机械的编程中,确实能够让程序员解放出来,去处理更加复杂的业务逻辑和架构设计。
但是,我感觉人工智能完全取代程序员是不可能的。因为,机器永远也不想到人类复杂的需求,尤其是,变来变去的需求变化。如果机器能够有灵魂的话,估计也会被人类复杂且变来变去的需求,折磨的要死,从而发出一句,感叹:卧槽,这是什么玩意的破需求。
但是,去年有一条新闻值得我们关注,那就是:
Repairnator 是由 KTH 瑞典皇家理工学院的软件技术教授 Martin Monperrus 开发。它会监控开源软件在持续集成期间发现的 bug,并尝试自动修复它们。如果它成功合成了一个有效的补丁,那么 Repairnator 会伪装成人类身份向人类开发者提交此补丁。到目前为止,Repairnator 已经成功生成了 5 个补丁,并被人类开发者永久地合并到代码库中。
这是自动程序修复软件工程研究中新的里程碑。
所以,现在机器都可以修改 bug 了,将来在一定程度上写程序,也是有可能的,但是完全取代我认为不现实。
原因如下:
当然了,如果机器能够完全取代人类编程的话,那非常可怕啊,未来有可能将是被机器控制的时代,而不是人类控制机器的时代。
有人说,人工智能将来可以取代程序员来写代码,这个理由不成立,因为人工智能就是程序员开发出来的。而且现在所谓的人工智能远远没有达到真正意义上的智能,大部分还是人工更多一点。
如果以人类的生命成长阶段来看,人工智能目前只能算是婴儿阶段,在婴儿阶段就抛弃喂养自己的母亲程序员,那为时也太早了。
人工智能大体分两个大的方向,图像识别和机器学习。目前图像识别成长的比机器学习更快一点,但也仅限于快一点儿,我们常见的图像识别场景就是无人驾驶。而机器学习发展相对缓慢,都是在初级阶段,如果想要有阶段性的变化,在算法机制上要有突破性的进步,才能引领机器学习进入下一阶段。
所以至少在未来几十年甚至上百年我认为我们程序员都不会失业的,还是有饭吃的。
所谓人工智能的程序也是由人类开发设定的,它也绝不会取代人的作用,它对美学,结构想象力设计,逻辑多向思维甚至悬思学都无法深入涉足,它就像一个架构师将算法和公式公布出来,其它基础部分由代码来完成一样,就算将来人工智能也可以进行相关研发,但审核与检测仍然需要人类完成,人类的工作只会越来越高级。
所以不用杞人忧天,人工智能是不可能真正成为人类的思维一部分的,当它的工作目标对人类无意义而虚耗电能和时间的时候,人类是一定会及早发现并介入的,一个简单的拔电源就可以停止其行为……
人工智能是近阶段大家经常提到的一个话题,其中神经网络深度学习其中一个特点,那么人工智能最终真的能达到一般人类这样去思维么?能够像程序员那样的编程么?会不会以后有一天真的能替代程序员了吧,这件事情你是怎么看待的?针对这事情我来说一下我的看法。
人工智能会让程序员的工作效率更高,十年之内不可能完全代替程序员
在CSDN上有一篇报道,有一个名字为Screenshot-to-code-in-Keras的项目可以把一些稿件自动变成一堆html代码加css代码,有的前端程序员就可能为此而感觉到恐慌,感觉以后人工智能要替代自己的饭碗了,这样的事情也不足为奇,在人工智能这个概念还没有兴起之前,一些java程序员使用ide开发工具就能生成一堆代码,节省了开发效率。感觉起码在近五到十年内感觉人工智能还不能完全替代人类程序员这样去编程,就以前端代码为例,虽然html代码加效果类css让人工智能生成代码,可能人工智能在这方面战术上完胜,但是一些战略问题它还是远远不及人类的。
其一它生成的东西能确保是人类想要的吗?,如果不符合要求是不是需要人类程序员来调整,人工智能不可能做出一套适应所有场景的东西出来。
其二前端程序员是要与后端程序员进行对接的,在对接时各个参数,怎么调用了,相当复杂,两个人类程序员(前端程序员与后端程序员)还需要沟通好长时间,难道人工智能就能那么完美理解人类的意思就不需要沟通了么?
近5到10年内的情况可能是这样的,一些低级的常规的代码都可能会是自动生成,一些组织调整的工作交给人类程序员来进行处理,最后项目的质量当然还是有人类进行负责的,由人工智能的加持,程序员的工作效率可能会大大提高,以往传统开发需要几周的工作量可能会缩减到几天甚至更短。
未来上层领域的程序员数量会减少
随着时间再往后发展,我想一些上层代码会逐渐由人工智能程序自己完成了,可能写代码的不再是程序员了,比如说可能是一种操作软件的形式存在,有着成熟的操作界面,良好的操作体验,一个非技术人员通过界面输入自己想要的东西,通过一定的规则描述,然后就会生成相应的代码并能直接运行。或者比这个更先进,不是一个软件界面的形式存在,而是一个智能硬件设备,只需要对其说话,像与人类说话那样,说出自己的需求,智能设备就能在短时间内做出自己想要的东西。
如果真能达到这种程度的话,我想未来参与业务开发的程序员的数量将会急剧减少,但是 不可能减少到为0,因为人工智能做出的东西也不可能是完全有保证的,起码需要个别人还需要进行对项目代码进行负责不是嘛,就想现在的无人驾驶车为啥还留有方向盘一样。上层开发的人员少了,人工智能这些底层开发的程序员会更吃香了,甚至数量会多起来。
软件数量和规模将成倍增长
大家都知道程序做事效率是相对高的,人类做项目是用天,周,年为单位来计算的,那么这些软件交给人工智能处理应该是秒级别的吧,如果是大一点的项目顶多是分钟了。如果是这样的话,估计人类世界软件的发展速度将会达到一个新的高度,软件的数量和规模将是几何倍数的增长。
如果真是这样一天的到来,我想人类在学习和思想上都要有策略上的改变,以前经常在嘴边说的话,要勤奋,要多动手,未来的人类要做的事情,就是要多思考,勤于思考。动手的事情就交给人工智能去吧。
那是必然的。不仅程序,看病,甚至很多方面都可以,但是,那种机械的,生冷的东西在几何级数提高效率的同时也会铸成,无论如何,这个趋势不可阻挡,是喜是忧?需要盖棺定论。
电脑只能处理精确到指令,需求一开始往往是很模糊的,以目前人工智能自然语言语义理解的发展程度,可能性很低。
如何自学人工智能
学习AI的大致步骤:
(1)了解人工智能的一些背景知识;
(2)补充数学或编程知识;
(3)熟悉机器学习工具库;
(4)系统的学习AI知识;
(5)动手去做一些AI应用;
1 了解人工智能的背景知识
人工智能里面的概念很多,比如机器学习、深度学习、神经网络等等,使得初学者觉得人工智能很神秘,难以理解。刚开始学习的时候,知道这些名词大致的意思就行了,不用太深究,学习过一段时间,自然也就清楚这些概念具体代表什么了。
人工智能是交叉学科,其中数学和计算机编程是学习人工智能最重要的两个方面。这些在“知云AI专栏”之前的文章“认识人工智能”,也为大家介绍过,没阅读过的同学可以去看一下。
下图为人工智能学习的一般路线:
2补充数学或编程知识
对于已经毕业的工程师来说,在系统学习AI之前,一般要补充一些数学或者编程方面的知识。如果你的数学和编程比较好,那么学习人工智能会轻松很多。
很多同学一提到数学就害怕,不过,学习人工智能,数学可以说是绕不过去的。在入门的阶段并不需要太高深的数学,主要是高等数学、线性代数和概率论,也就是说,大一大二学的数学知识已经是完全够用了。如果想要从事机器学习工程师的工作,或者搞人工智能的研究,那么应该多去学习数学知识,数学好将会是工作中的一大优势。
Python是在机器学习领域非常受欢迎,可以说是使用最多的一门编程语言,因此Python编程也是需要掌握的。在众多的编程语言中,Python是比较容易学习和使用的编程语言,学好Python也会受益很多。
3 熟悉机器学习工具库
现在人们实现人工智能,主要是基于一些机器学习的工具库的,比如TensorFlow、PyTorch等等。
在这里推荐大家学习PyTorch。PyTorch非常的受欢迎,是容易使用的机器学习工具库,有人这样评价PyTorch“也说不出来怎么好,但是使用起来就是很舒服”。
刚开始学习人工智能的时候,可以先运行一下工具库官网的示例,比如MNIST手写体识别等。这样会对人工智能有一个感性的认识,消除最初的陌生感。然后可以看看里面的代码,你会发现,其实神经网络的程序并不复杂,但是会对神经网络的原理和训练有很多的疑问。这是一件好事,因为带着问题去学习,会更有成效。
4 系统的学习人工智能
这里的人工智能主要指机器学习,因为目前人工智能主要是通过机器学习的方式来实现的。
机器学习知识主要有三大块:
(1)传统机器学习算法,比如决策树、随机森林、SVM等,这些称作是传统机器学习算法,是相对于深度学习而言的。
(2)深度学习,指的就是深度神经网络,可以说是目前最重要最核心的人工智能知识。
(3)强化学习,源于控制论,有时候也翻译成增强学习。深度学习可以和强化学习相结合使用,形成深度强化学习。
在这里需要知道的是深度学习并不难学,对于一些工科的研究生,一般只需要几周就可以上手,并可以训练一些实际应用中的神经网络。但是想要对深入学习有深入理解不是容易的事情,一般需要几个月的时间。
传统机器学习算法的种类非常多,有些算法会有非常多的数学公式,比如SVM等。这些算法并不好学,因此可以先学习深度学习,然后再慢慢的补充这些传统算法。
强化学习是比较有难度的,一般需要持续学习两三个月,才能有所领悟。
5 动手去做一些AI应用
学习过几周的深度学习之后,就可以动手尝试去做一些AI应用了,比如图像识别,风格迁移,文本诗词生成等等。边实践边学习效果会好很多,也会逐渐的加深对神经网络的理解。