历史上的今天
返回首页

历史上的今天

今天是:2025年07月31日(星期四)

正在发生

2019年07月31日 | aiXcoder编程机器人将开发程序员的新技能

2019-07-31 来源:fqj

现在开发者所书写的代码,大多都已被重复使用多次。即便如此,他们依然要被复杂、繁复的代码逻辑占去大量时间,未能把更多的时间和精力真正的投入到富有创造性的劳动当中。近日,一款智能编程机器人Xcoder——这是一款人工智能辅助,可以将人工智能与软件开发连接起来,利用人工智能技术辅助开发者自动进行程序编写。

在aiXcoder的辅助下,程序员将摆脱过去逐字逐句的编程模式。以代码自动补全功能为例,它能够自动预测程序员的编程意图,为开发者推荐出的代码补更长、更准确,从而程序员在编写过程中可以通过“一键选择”的方式,直接补全代码。不仅如此,经过训练的aiXcoder还能根据程序员使用习惯,对频繁使用的成员、方法进行智能排序,从而大大提高代码的编写效率。

而且,aiXcoder还能在程序编写的过程中,通过智能的搜索并推荐与当前功能代码相似的程序,开阔了程序员的思维,为程序员提供了有力的参考。采访过程中,郝逸洋亲自演示了aiXcoder的使用过程,当他在编写程序时,aiXcoder自动预测并迅速给出了提示,几乎整一句代码都能通过aiXcoder的自动补全技术实现正确编写,按照这种方式,一个程序在短时间内就能轻松完成。

正是这样一个aiXcoder智能编程机器人,能将编程开发人员的效率和质量提上去,同时能把人从那些复杂的、繁复的代码逻辑中解脱出来。aiXcoder就像一个时刻陪伴程序员工作的“伙伴”,与程序员一起编写代码,帮助程序员查缺补漏。

aiXcoder 采用了专门应用于程序分析与生成的特定深度模型,其原理是用深度神经网络构造起一个庞大的深度神经网络体系,然后基于GitHub和Stackoverflow等优质平台上的开源代码数据集加以训练,最后针对不同的任务、对引擎大脑进行特别训练,以插件的形式整合在常用的IDE中。

aiXcoder的原生技术来源于北京大学高可信软件技术教育部重点实验室,首席科学家李戈是北京大学信息科学技术学院软件研究所的副教授,2013年,他曾到斯坦福大学AI实验室中的吴恩达团队下,以访问学者的身份进行合作研究。在此期间,李戈提出了利用深度神经网络进行程序分析和生成的想法。对于这个想法,曾有Stanford教授提出自己的疑惑:“知道程序的一切,它可以编译、可以run(运行),你为什么还要分析他?”

当前,aiXcoder采用“云服务”的运行模式,它的引擎部署在云服务器中,就如同一个云端的“编程大脑”,开发者只需要一个客户端插件,这其中涵盖了liJ、Eclipse、VS-ode等主流集成开发环境,支持当下各种主流的开发语言,如、、C++等。郝逸洋表示,aiXcoder将于近期推出PHP和语言等前端开发语言的支持。

在此基础上,开发者们只需选择相应的插件即可实现与“云端AI服务”的对接,随时随地使用自己的“编程大脑”,不需要更繁琐操作流程。aiXcoder主要面向企业用户提供智能编程服务,对于企业用户,aiXcoder提供了定制化的专属服务,以“企业私有云”的方式部署在企业中,利用企业自己的代码对深度学习引擎进行训练,使aiXcoder学习到企业代码中的隐含逻辑和知识,从而为企业中的开发者提供贴身的编程辅助。

同时,配合aiXcoder的企业开发者服务模式,推出了“aiXmanager开发质效提升”一体化解决方案,aiXmanager能够对程序员的“指尖行为”所形成的进行分析,有效揭示出开发过程中存在的一系列效率和质量问题,帮助企业挖掘潜在的开发潜能。

在此之前,程序员的“指尖行为”是软件开发中典型的“暗数据”,价值大却难以捕获、难以分析。在aiXcoder的帮助下,这些暗数据被充分利用了起来。哪些技术难点最影响开发效率?哪些代码质量问题最为突出?哪些程序代码耗费时间最多?哪些代码被修改的次数最多?等等这些影响企业开发能力的潜在问题被明明白白揭示出来。

面向C端用户,aiXcoder主推两个版本,分别是Community版(社区版)和Professional版(专业版)。社区版可以免费下载使用,而Professional版则会更智能,它能够从用户编写的代码中不断学习个性化的编程模式和编程习惯,能为用户打造一个更加智能的私人编程“助理”。现阶段,aiXcoder团队已经为、百度、阿里巴巴、软通动力等公司提供了企业定制服务。

来自企业开发者的反馈信息表明:在aiXcoder的帮助下,编程开发人员能够在最短的时间内高效的编写代码,有效的节省了程序员的开发时间,同时也降低了程序员对API文档或相关信息的依赖。使得将开发者从繁复的代码逻辑中解脱出来,让他们有机会能投入到一些更有创新性的工作上去。当前在智能编程机器人领域内,还有来自美国的两款插件——ki、TabNine也和aiXcoder处于同一赛道。

用TabNine官方网站给出的示例代码进行对比,aiXcoder仅需132次按键即输入完毕,而TaNine需要228次按键才能完成输入,Kite也需要214次按键才能完成,在该示例中,aiXcoder的输入效率是TabNine的1.73倍,是kite的1.62倍,可见aiXcoder的优势非常明显。在未来,aiXcoder想要打造成一款能够自动帮助程序员完成程序编写的“智能编程机器人”,以低耗时、高效率、便捷式的方式切入到开发者的工作中。

推荐阅读

史海拾趣

远阳(FLYOUNG)公司的发展小趣事

国光新业深知技术创新是企业发展的核心动力。截至目前,公司已拥有授权专利78项,其中发明专利30项,实用新型专利48项,还有数十项专利正在实质审查中。这些专利的积累,不仅彰显了公司在电容器领域的深厚技术底蕴,更为公司产品的持续升级与市场竞争力的提升提供了有力保障。公司还主导起草了两项该类高分子电容器国家标准,进一步巩固了其在行业内的领先地位。

Emerson Embedded Power公司的发展小趣事

在电子行业的早期,Emerson Embedded Power就开始注重技术创新。该公司不断投入研发资源,开发高效、可靠的电源解决方案,以满足不断增长的市场需求。其创新的电源管理技术不仅提高了设备的性能,还降低了能源消耗,赢得了客户的广泛认可。

EOZ Secme公司的发展小趣事

在电子产品市场竞争日益激烈的背景下,EOZ Secme始终坚守品质至上的原则。公司从原材料采购、生产流程到售后服务都进行严格把控,确保每一件产品都符合高标准的质量要求。这种对品质的执着追求让EOZ Secme的产品在市场上赢得了良好的口碑,也使其品牌价值得到了显著提升。

Bipolar Integrated Technology Inc公司的发展小趣事

随着技术的成熟,BIT开始积极寻找市场机会。他们与多家电子设备制造商建立了合作关系,将自家的集成电路应用于各种电子产品中。通过与这些合作伙伴的紧密合作,BIT的产品逐渐在市场上占据了一席之地,公司规模也逐渐扩大。

Eclipse Magnetics公司的发展小趣事

面对日益严峻的环境问题,BIT积极响应可持续发展的号召。他们开始研发更加环保、节能的电子产品,并推动整个行业向绿色、低碳的方向发展。同时,BIT还加大了对人才培养和技术研发的投入,为公司的未来发展奠定了坚实的基础。

请注意,以上故事仅为虚构示例,旨在展示一个电子行业中公司可能的发展历程。在实际中,每个公司的发展都有其独特的轨迹和经历。

富士康(FOXCONN)公司的发展小趣事

1996年,FMS在台湾正式成立,标志着美丽微半导体股份有限公司的诞生。公司由杨照霞女士创办,初期便专注于二极管及场效应管(MOS)等分立式器件的研发与制造。这一决策基于对市场需求的敏锐洞察,以及对半导体技术未来发展的坚定信心。在杨照霞女士的带领下,FMS迅速建立起一支专业的研发团队,并着手构建半导体上下游资源整合体系,为公司的长远发展奠定了坚实基础。

问答坊 | AI 解惑

老板一定要买正版EDA软件,有没有价廉物美的?

一直用altium designer,之前也用过ORCAD一段时间,仿真一般用PROTEUS。现在老板要买正版的,联系了ALTIUM报价太贵,有没有别的推荐?…

查看全部问答>

用VHDL实现正弦波

用定制ROM的方法完成正弦波设计···…

查看全部问答>

Linux LCD驱动:LCD右屏颜色不对,左屏颜色正常(android)。

在做基于omap3430的android开发是,lcd驱动遇到如下问题:LCD可以正常显示,但是右边屏幕有些地方颜色泛蓝,请问调过LCD的专家帮忙。…

查看全部问答>

《EVC高级编程及其应用开发》中第八章就一个例子,利用ADO访问ACCESS的一个问题

  为什么程序的CreataConnection()时就该语句hr= CLSIDFromProgID( g_szADOCE31ConnProgID, &tClsid );就无法正确执行。 在程序中只量把ADOCE30.h换成了ADOCE31.h。另外程序中所有的ADOCE30也全换成了ADOCE31。 急!!参与有分啊~~~~ ...…

查看全部问答>

USB FOR KITL 到底要如何使用

http://blog.eeworld.net/gooogleman/archive/2009/04/03/4001784.aspx 按照上面KITL的教程指示,结果在DNW 上显示  USB serial wait for connecting . 此时点机 PB上的 attach device 则出现下列错误: (CoreCon)  16:19:5 ...…

查看全部问答>

mobile c++ 手机关机处理事件

mobile c++  手机关机处理事件 我想在手机关机时响应到一个事件,然后在这个事件中做一些其他处理.但现在无法得到手机关机事件. 比如:1:启动软件, 2;长按power键,3:响应到软件中的代码 4:在该代码中做其他处理. 问题:如何实现第三步?当 ...…

查看全部问答>

串口不能烧程序

前段时间在淘宝买了块STM32的板子,我收到发现串口不能烧程序,寄回卖家说用JTAG,把什么“保护”给弄了下,当时我也没具体问卖家怎么回事。这是不是说明STM32是已经用过的芯片,要不然新的片子怎么会串口都不能烧写呢? 不知道是不是?…

查看全部问答>

请教:430单片机的速度?

我使用8M晶振,读取串行flash -AT45DB081,但是速度还是达不到我的要求(用c语言写的),想超频,不知道430能超到多少,稳定吗? 各位dx有没有什么解决速度的经验。…

查看全部问答>

关于DSP上电引导的提问

最近看了两个TI的文档呢。DSP281x_HeaderFiles_QuickStart_Readme和spru095a_TMS320F28x Boot ROM Reference Guide (Rev. A)这两个文档。了解了一下 DSP有了复位信号后,会跳到0x3FFFC0这个地址上去,假设现在是BOOT-ROM映射到0x3FF000这个地址上面 ...…

查看全部问答>

STM8在STVD下debug时候,ST-link一直闪

STM8在STVD下debug时候,ST-link一直闪,这是为什么呢?谢谢高人指教!   之前自己做的demo板没有供电,出现error【30006】chip  is not answer,供电后通信不了,st-link灯一直闪,一两分钟以后就出错了,烧录不了也debug不了。…

查看全部问答>