首页 >>  正文

python怎么用item

来源:baiyundou.net   日期:2024-09-20

作者 | 苏宓

出品 | CSDN(ID:CSDNnews)

AI 编程距离程序员还有多远?如果说 GitHub Copilot 的到来,让众多开发者看到了希望,那么初创公司 Kite 的倒闭,也让我们认清了现实。

Kite 是一家使用 AI 帮助开发者编写代码的初创公司,也是 Python 代码自动补全的神器。一直以来,因为其在「Intelligent Snippets」功能的加持下,可以帮助 Python 程序员减少一半的操作,而备受大家喜爱,甚至此前 Python 之父 Gudio van Rossum 在使用之后,也强烈推荐。

然而这款工具经历了几年的迭代之后,11 月 16 日,Kite 创始人 Adam Smith 发布一则《Kite is saying farewell》(Kite 正在说再见)的公告,正式宣布 Kite 开发工作已经停止,日后该团队也不再支持 Kite 的软件,就此为 Kite 画上了句号。

Kite 失败的两重因素:技术超前与不赚钱

对于这款工具的突然停更,Adam Smith 也在公告中从两个维度分析了 Kite 业务失败的主要原因。

一、Kite 早在 10 多年前诞生,然而当时的技术还不成熟,未能实现人工智能辅助编程的愿景

在 Adam Smith 看来,Kite 建立了当时最先进的 AI 来帮助开发者,但它没有达到开发者所需的 10x 改进的突破,因为机器学习在代码上的最新技术还不够好。现如今出现的 GitHub Copilot 虽然展现了很大的发展前景,但仍然有很长的路要走。

Adam Smith 表示,“Kite 最大的问题是,最先进的模型不理解代码的结构。我们在为代码建立更好的模型方面取得了一些进展,但这个问题是非常工程化的。要建立一个能够可靠地合成代码的生产质量的工具,可能要花费超过 1 亿美元,目前还没有人尝试。”

二、Kite 未能实现商业化,产品不赚钱

作为一款旨在用 AI 帮助开发者提升 10x 生产力的工具,Adam Smith 直言,Kite 团队起初并没有将赚钱排在业务的第一位,这也是后来他们花了很长时间才弄清楚的失败原因。

对于 2014 年成立的 Kite 而言,由于当时环境下构建一款超前概念的 AI 代码自动补全工具,无论是在技术还是落地应用层面,都存在着巨大的挑战。因此,Kite 创建之初,便花了很大的功夫去构建世界一流的工程团队。

在工程团队人员集结之后,Kite 才去专注于产品研发。然而,或是自身低估了 Kite 产品研发的难度,也或是高估了市场人才的技能,仅是这两个流程,Kite 团队便花费了 5 年的时间去组队与研发。

直到 2019 年,Kite 才达到产品与市场的契合度,正式面向开发者推出。

初发布时,Kite 仅支持 Python,即使如此,也受到了很多用户的喜爱。

次年,Kite 相继支持 Java、Kotlin、C/C++、Objective-C、C#、Go、TypeScript 等十多种编程语言,也可以在 VS Code、Vim、Sublime、Atom、Android Studio 等开发环境中工作。

那时 Kite 官方表示,在该工具的帮助下,活跃开发者甚至每天只需编写由大约175 个“单词”组成的代码。

凭借这些便捷性,Kite 后来开始大力发展用户群体。对此,Adam Smith 表示,“我们在这方面执行得很好,将我们每月活跃的开发者用户群发展到 50 万名,而营销支出几乎为零。”

如果说前面几个创业的流程,Kite 走得顺风顺水,那么作为创业公司,要持续发展下去的源泉必然是实现营收。遗憾的是,Kite 产品未能产生收入,其拥有的 50 万开发者也并不愿意付费使用。

Adam Smith 在公告中指出,「我们的诊断是,个人开发者不会为工具付费。他们的经理可能会,但工程经理只想为离散的新功能付费,也就是说,让他们的开发人员在写代码时快 18% 的速度并没有引起足够强烈的共鸣。」

Kite vs GitHub Copilot

正是因为这两点,即使 Kite 后来也开启了新的业务探索,如代码搜索,也依然未能拯救这款工具的颓势。

其实一定层面上,Kite 也是一款与 GitHub Copilot 竞争失败的代码补全工具,因为从功能性上来看,GitHub Copilot 不仅在去年上线了代码搜索 Code Search 平台,也基于 Codex 引擎提供的支持,会分析开发者正在编辑的文件以及相关文件中的上下文,并在文本编辑器中提供建议。相对 Kite 而言,GitHub Copilot 背靠大厂的支持,其整体功能更为成熟与完善一些。

如今面对 Kite 在 AI 工具领域的出局,Adam Smith 遗憾地说道:

“我们为建立 Kite 做出了无数的牺牲。我们拿着低于市场价的工资来维持并延长我们的跑道,工作时间也很长,尤其是在公司成立的前几年。我们团队工程师拥有顶尖的背景,也经常被外界‘觊觎’。但我们想以一种特殊的方式为世界做出贡献,在 Kite,我们通过巨大的努力和承担我们的项目可能不成功的风险来做到这一点。

很遗憾,最终它没有成功。我们抓住了一个机会,我们可以大大加快世界上的软件开发速度。我们进行了实验,尽管每个人都做出了巨大的努力,但实验并没有成功。

如今事后诸葛亮来猜测过去的决定,这太容易犯错了。鉴于我们在 2014 年创办 Kite 时所知甚少,我只能满怀爱意地回顾我们当初冒险的勇气。正是因为有这样的勇气,我们才生活在一个快速进步的世界里。”

程序员为什么拒绝为工具付费?

随着技术的快速迭代,Kite 的离场,令人惋惜,但是对于其归咎失败的原因之一是:个人程序员拒绝为工具付费,也引发了 HN 平台上不少开发者的热议。

很多开发者认为,程序员之所以不愿意为工具付费,一方面是因为其商业模式不可接受,另一方面则是功能没有达到自己付费的预期。

其中网友 @malwrar 分享道:

我不喜欢依赖于可能在一个月内失去的东西,或者通过这种方式把我拴在互联网上。我认为那更像是一种服务,而不是一种工具。我更喜欢只买一次就能用的东西,但这种商业模式可能也会夭折,因为人们会盗用那些没有被拴在服务器上的组件的东西。

我想要说的是,我想买工具,但现在人们只是在租用。就个人而言,我在很大程度上希望这成为某人开源的项目,这样我可以真正拥有我的工具。

@JRPT 则表示:

我从未使用过 Kite,但我尝试了两次 GitHub Copilot,发现它充其量是微不足道的(最坏的情况是分散注意力)。在使用这款工具的时候,如果不仔细检查和修改它,我就不会使用其中的任何代码。但这仍然是一个巨大的帮助,仅编写测试所节省的时间就可以为此付费。我的猜测是 Kite 将自己定位为 Copilot 的免费替代品,然后无法获利。

@Dijit 认为:

作为初创公司的首席技术官,我注册的订阅服务数量之多令人难以置信,我花费了 8 美元、19 美元,重要的东西要 49 美元、99 美元不等。

有些工具很值得,如 GitLab、Confluence、Jira、1Password、Copilot、codepen、JetBrains、Visual Studio、Docker Desktop 等。

最令人沮丧的是:

1)我需要证明这些费用各自带来的价值,有些东西是很好的,但在纸面上带来的价值太小。

2)你不能只为一些人启用或购买工具,这样有巨大的重叠,而且这种重叠越来越大。

我明白人们需要得到报酬,但这些工具产品层出不穷。我已经在订阅这类的工具上花费了支持员工工资的 7%-13%。

其实,当前 Kite 的大部分代码已经在 GitHub(https://github.com/kiteco)上开源了,包括数据驱动的 Python 推理引擎、Python 公共包分析器、桌面软件、编辑器集成、GitHub 爬虫和分析器等等。最终,基于这种业务模式,Kite 折戟创业期,Adam Smith 表示,「我们迫不及待地希望人工智能能彻底改变编程。这不是我们开始时希望的结果,但我们庆祝每个人的勇气和贡献,他们使实验得以实现」。

最后,你认为什么样的 AI 软件工具会成功?你会为哪种 AI 编程工具而付费?

参考资料:

https://www.kite.com/blog/product/kite-is-saying-farewell/

https://news.ycombinator.com/item?id=33685209

","force_purephv":"0","gnid":"94ef6dc0a4f06cdbb","img_data":[{"flag":2,"img":[{"desc":"","height":"80","s_url":"https://p0.ssl.img.360kuai.com/t0186957a1ca5352752_1.gif","title":"","url":"https://p0.ssl.img.360kuai.com/t0186957a1ca5352752.gif","width":"640"},{"desc":"","height":"241","title":"","url":"https://p0.ssl.img.360kuai.com/t0189d61ae97f8b6e4b.jpg","width":"588"},{"desc":"","height":"409","title":"","url":"https://p0.ssl.img.360kuai.com/t01b78a555e97c079d8.jpg","width":"1080"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"cache","pub_time":1669028647000,"pure":"","rawurl":"http://zm.news.so.com/ab945e25e3e1133ce0beb048652ffe40","redirect":0,"rptid":"a922af6b0c1b6411","s":"t","src":"CSDN","tag":[{"clk":"ktechnology_1:github","k":"github","u":""},{"clk":"ktechnology_1:pilot","k":"pilot","u":""}],"title":"失败告终!历经 8 年研发的 Python 代码补全神器 Kite 停止开发

阎树关3919如何在Windows环境下运行Python脚本 -
步法雍18573319287 ______ python是一款应用非常广泛的脚本程序语言,谷歌公司的网页就是用python编写.python在生物信息、统计、网页制作、计算等多个领域都体现出了强大的功能.python和其他脚本语言如java、R、Perl 一样,都可以直接在命令行里运行脚本程序...

阎树关3919如何用python和web.py搭建一个网站 -
步法雍18573319287 ______ 一、使用工具:python、web.py 二、搭建步骤: 1、 环境搭建. 安装python2.7.10,注意要把python路径加入系统环境变量.版本不能低于2.7.9,但不能用3.0以上,web.py支持不好.安装web.py, 官方网下载来装就行,记得是解压后进去:...

阎树关3919如何用IDLE编写python代码
步法雍18573319287 ______ python2 使用s=raw_input(('Do you want to know the Exam period for the particular semester?') python3 使用s=input(('Do you want to know the Exam period for the particular semester?')

阎树关3919windows下怎么用python连接hive数据库 -
步法雍18573319287 ______ windows下怎么用python连接hive数据库 由于版本的不同,Python 连接 Hive 的方式也就不一样.在网上搜索关键字 python hive 的时候可以找到一些解决方案.大部分是这样的,首先把hive 根目录下的$HIVE_HOME/lib/py拷贝到 python 的库中,也就是 site-package 中,或者干脆把新写的 python 代码和拷贝的 py 库放在同一个目录下,然后用这个目录下提供的 thrift 接口调用.示例也是非常简单的

阎树关3919如何用python 中with 用法 -
步法雍18573319287 ______ 在Python中,如果一个对象有__enter__和__exit__方法,就可以在with语句中使用它. with块结束时会调用相应的__exit__中的代码.因此,我们不需要再写相应的代码去close,无论是因为什么原因结束with. with open(...) as f: print(f.readall())等价...

阎树关3919python 如何调用带参数的shell脚本 -
步法雍18573319287 ______ 调用带参数的脚本,需要首先设置,举例如下:test.py按行解释如下:1. 脚本中有汉字的话,需要声明文件编码格式;2. 导入sys模块,这个模块是用来获取参数列表的;3. sys.argv是一个列表,第一个是文件名,之后依次是参数列表;4. 打印输出,这一步不需要多讲;5. 保存到c:\users\YYC\Desktop\test.py;调用操作步骤:1. 打开命令行;2. 输入python 文件名 第一个参数 第二个参数.....(参数之间用空格区分);3. 一定要注意参数个数,要以文件名开始.

阎树关3919如何让python调用C和C++代码 -
步法雍18573319287 ______ 如何让python调用C和C++代码 安装python后,会有一个chm格式的python手册.要搞明白如何让python调用C/C++代码(也就是写python的 extension),你需要征服手册中的 <<Extending && embedding>>厚厚的一章.在昨天花了一个小时看...

阎树关3919python如何运行 -
步法雍18573319287 ______ name = raw_input("what is your name?") print "Hello," + name + "?"不就这样吗?你都写出来了.

阎树关3919如何用python读取json里面的值啊 -
步法雍18573319287 ______ 1、首先需要在桌面新建'json.txt'文件,内容为jsonline格式.2、打开Python开发工具IDLE,新建'json.py'文件,并按照如图所示书写代码.3、F5运行程序,Shell打印出json文本信息.4、这是一次性读取所有内容,如果文件很大的情况,出于性能考虑要分批读取内容,这样要用到yield生成器,改写lines()函数如下,注意yield一定要写在with里,这样才能每次从上一次读取的位置继续读取.5、继续写程序入口函数,这里要注意readlines返回的是一个列表,要读取里面的内容,要再做一个循环来遍历.6、F5运行程序,Shell打印出json文本信息,这个利用生成器方式读取的方式经常处理较大的文件.

阎树关3919如何用python写web程序 -
步法雍18573319287 ______ 可以在apache中的加入myfirst.py所在的路径 如 PythonPath "sys.path + ['myfirst.py所在目录']"

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024