Clerkie-cli 是一个AI终端工具,它使用 AI code 技术,在你的代码中遇到错误时提供建议和帮助。它能自动分析错误

Clerkie-cli 是一个AI终端工具,它使用 AI code 技术,在你的代码中遇到错误时提供建议和帮助。它能自动分析错误并给出改进建议。 作者是 @ishaan_jaff(twitter) ,他正在收集使用反馈,如果你遇到问题或建议,可以直接发给他。

相关推荐

封面图片

研究发现虽然AI辅助编程可以发挥巨大作用 但也会因训练限制而陷入困境

研究发现虽然AI辅助编程可以发挥巨大作用 但也会因训练限制而陷入困境 虽然在某些情况下,人工智能生成器可以生成比人类更好的代码,但分析也揭示了人工智能生成的代码存在一些安全问题。Yutian Tang是格拉斯哥大学的一名讲师,他参与了这项研究。他指出,基于人工智能的代码生成可以在提高生产率和自动化软件开发任务方面提供一些优势,但重要的是要了解这些模型的优势和局限性。"通过进行全面分析,我们可以发现基于 ChatGPT 的代码生成过程中出现的潜在问题和限制......[并]改进生成技术。"Tang 解释说。为了更详细地探讨这些局限性,他的团队试图测试GPT-3.5解决LeetCode 测试平台上五种编程语言中 728 个编程问题的能力:这五种编程语言是:C、C++、Java、JavaScript 和Python。对于 ChatGPT 为什么能在 2021 年之前更好地处理算法问题,一个合理的假设是,这些问题经常出现在训练数据集中。总体而言,ChatGPT 在解决不同编程语言的问题方面表现相当出色,尤其是在尝试解决 2021 年之前 LeetCode 上存在的编程问题时。例如,它能为简单、中等和困难的问题生成功能代码,成功率分别约为 89%、71% 和 40%。"然而,当遇到 2021 年后的算法问题时,ChatGPT 生成功能正确的代码的能力就会受到影响。它有时无法理解问题的含义,即使是简单的问题也是如此,"Tang 指出。例如,在 2021 年之后,ChatGPT 为"简单"编程问题生成功能代码的能力从 89% 降至 52%。而在 2021 年之后,它为"难"问题生成功能代码的能力也从 40% 降至 0.66%。对于 ChatGPT 为什么能在 2021 年之前更好地处理算法问题,一个合理的假设是,这些问题经常出现在训练数据集中。从本质上讲,随着编程技术的发展,ChatGPT 还没有接触到新的问题和解决方案。它缺乏人类的批判性思维能力,只能解决以前遇到过的问题。这也解释了为什么 ChatGPT 在解决旧的编程问题方面比解决新的问题要好得多。因此,ChatGPT可能会生成错误的代码,因为它不理解算法问题的含义。有趣的是,ChatGPT 生成的代码的运行时间和内存开销比人类解决相同 LeetCode 问题的至少 50% 的方案都要小。研究人员还探索了 ChatGPT 在收到 LeetCode 的反馈后修正自身编程错误的能力。他们随机选取了 50 个编程场景,在这些场景中,ChatGPT 最初生成了错误的编程,原因可能是它不了解手头的内容或问题。虽然 ChatGPT 擅长修正编译错误,但它通常不擅长纠正自己的错误。Tang 解释说:"ChatGPT 可能会因为不理解算法问题的含义而生成错误代码,因此这种简单的错误反馈信息是不够的。"研究人员还发现,ChatGPT 生成的代码确实存在相当多的漏洞,比如缺失空值测试,但其中很多都很容易修复。研究结果还显示,用 C 语言生成的代码最为复杂,其次是 C++ 和 Python,其复杂程度与人类编写的代码类似。基于这些结果,使用 ChatGPT 的开发人员必须提供更多信息,以帮助 ChatGPT 更好地了解问题或避免漏洞。"例如,在遇到比较复杂的编程问题时,开发人员可以尽可能提供相关知识,并在提示中告诉 ChatGPT 哪些是需要注意的潜在漏洞,"Tang 说。 ... PC版: 手机版:

封面图片

AI程序员Devin卧底工作群修bug 还和CTO聊技术

AI程序员Devin卧底工作群修bug 还和CTO聊技术 事情发生在办公软件Slack,截图中的akshat是AI基础设施创业公司Modal Labs的CTO Akshat Bubna。Modal Labs也是Devin开发商Cognition的首批客户之一。此时Devin正披着他的创造者之一、IOI金牌得主Steven Hao的马甲。对话的开始,AI程序员Devin正在询问有关Modal Lab平台的密钥的生命周期问题,特别是密钥更新后传播到正在运行的应用程序所需的时间。Devin表示自己已经查阅了文档,包括密钥和环境变量指南、CLI命令参考、API参考以及容器生命周期钩子和参数,但依旧没有找到关于密钥传播时间的明确信息。Devin询问了更新的密钥通常需要多长时间才能被运行中的应用程序使用,因为这对于他们的运营至关重要,了解这一点将有助于管理他们的部署流程。人类CTO解释说,当密钥更新时,他们不会使已经运行的Modal容器失效,但是新启动的容器将会读取更新后的值。Devin对此表示感谢,并决定暂时采用手动方法来管理Modal中的密钥,即在需要时调用modal deploy命令来触发相关应用程序容器的重启。看完整个过程后,同样是AI创业者的Raunak Chowdhuri评价到:发现问题、创建工单、调整代码,最好的人类开发者就是这么工作的。Devin更多实测结果拿到Devin早期测试资格的人和公司并不多,不过还是陆陆续续有人晒出实测结果。热衷AI的沃顿商学院教授Ethan Molick试过后,认为其新颖的实时交互方式是最值得关注的。您可以随时与它“交谈”,就像与人交谈一样,它会在后台不断地执行和调试您的想法。在测试中,Ethan Mollick要求Devin开发一个解释“创业公司融资中的股权稀释”的网站。不过他透露,AI还无法在没有任何帮助的情况下,自主且无差错地完成这项工作。要想把一个重大项目交给人工智能来完成,还有很长的路要走,但这仍然是一个令人着迷的开始。另一位晒出测试过程的创业者Mckay Wrigley更激动一些。在他晒出的27分钟测试中,只发了一个GitHub连接,让Devin部署来自开源项目的代码。Devin自主把任务拆解成一系列子步骤,并一步步开始执行。执行过程中,Devin在安装Supabase数据库时遇到了障碍,自己打开了对应的Github仓库开始查阅文档……从后续终端反馈中可以看出,Devin查到了运行Supabase所需的各种端口和密匙都应该填什么。(装过的都知道,雀食挺麻烦……)与此同时,Devin还在根据实际情况不断修改自己的后续计划。一段时间过后,一个本地的聊天机器人程序就跑起来了。测试一段时间后Mckay Wrigley认为,Devin已经可以算Agent的ChatGPT时刻。复现Devin计划ingDevin这边大伙还在接连测试,另一边开源“复现”方案也在进行中……这不,GitHub三万Star项目MetaGPT就上新了“开源版Devin”。名为数据解释器(Data Interpreter):同Devin一样,Data Interpreter也能实现自主编程,能迭代式观察数据,预测分析病情进展、机器运行状态;还能构建机器学习模型、进行数学推理、自动回复电子邮件、仿写网站……比如从英伟达股价数据中分析收盘价格趋势:分析数据预测葡萄酒质量:除此以外,阿里Qwen成员Binyan Hui等人开启了OpenDevin项目,刚刚起步已获得1.2k Star。Binyan Hui发推文表示,已有一个初步的路线图和一群优秀的人在努力工作,在很短的时间内就完成了前端原型。同时项目团队也在招新成员:另外,还一个名为Maisa AI的团队推出了Maisa KPU(Knowledge Processing Unit),被网友认为与Devin有一些竞争。目前Maisa KPU处于测试阶段,它可以解决复杂问题和推理,团队发布的基准测试结果如下:根据demo展示,KPU可以成为“智能客服”,在客户没有正确写好订单号的情况下,帮助客户解决订单未送达的问题:Devin基准测试技术报告发布最近,Devin创始团队Cognition还发布关于SWE-bench测试的技术报告。除了之前已公布的测试结果之外,团队还透露了一些新消息。比如,Cognition的目标之一是让Devin这个专门从事软件开发的AI智能体能够成功地为大型、复杂的代码库贡献代码。选择在SWE-bench上端到端运行智能体,也是考虑了它更接近现实世界的软件开发。此外,研发团队还透露,为了防止Devin在测试中作弊,比如查找外部的pull requests信息,测试已做相关设置,确保Devin无法访问相关信息,并且在此过程中也已人工手动检查了Devin运行情况。最后团队强调Devin仍处于起步阶段,还有很大改进空间:更多细节感兴趣的家人们可查看报告详情。Devin发布不到一周,网友们的讨论已十分热烈。比如,这位大兄弟表示自己一年前担心的事儿终究还是发生了。以后Stack Overflow上都是各种Devin在提问,人,就只能被挤出去(Stack Overflow危!!!):有网友回应(手动狗头):它们可以互相回答问题。还有网友发现Devin背后团队Cognition正在招全职软件工程师,于是缓缓打出一个问号:Devin不是应该填补这些职位空缺来为他们省钱吗?最后,若Devin公开你会想用它干点啥?参考链接:[1] ... PC版: 手机版:

封面图片

Linux之父讽刺AI炒作:很搞笑,大概我也会被大模型取代

Linux之父讽刺AI炒作:很搞笑,大概我也会被大模型取代 会上,Linux 之父 Linus Torvalds 与其好友、Verizon 开源项目办公室负责人 Dirk Hohndel 展开了一场对话,深入探讨了 Linux 开发及相关问题。外媒 ZDNet 对他们两人的对话进行了整理。左为 Linus Torvalds、右为 Dirk Hohndel。首先谈到的话题是 源代码中的制表符与空格 。此前一位开发者建议用用空格替换制表符,以帮助 Kconfig 解析器读取文件。不过,Torvalds 认为这是一个糟糕的举动。在最近发布的 Linux 6.9-rc4 版本中,Torvalds 采取了特别措施来应对那些无法正确处理制表符的 Kconfig 解析器。他故意地在通用 Kconfig 文件中加入了一些制表符。图源: Linux 6.9 内核版本,Torvalds 形容它“平静、稳定且无聊”。或许对于一个有着 30 多年历史的软件项目来说,本该如此。如果每个版本都有大的改变,可能意味着出现了问题。他们随后谈到硬件问题。如果硬件错误持续存在的话,可能会导致安全问题。对此,Torvalds 表示,这令人沮丧。开发者通常可以快速地修复软件问题,但硬件由于迭代无法及时修复。此外随着 RISC-V 等开放硬件的兴起,这些问题或许不会困扰下一代硬件。但是 Torvalds 觉得事实并不是如此。他认为,RISC-V 及开发者会犯其他人犯过的所有错误。Torvalds 解释称,硬件人员与软件人员不同,他们之间存在着相当大的鸿沟。并且,硬件开发者重新发明了旧的做事方法,只能通过犯以前犯过的所有相同错误来学习。这令人悲伤,但却是事实。不过,Torvalds 预计事情会进展得更快。Hohndel 也指出,Linux 在消除用户硬件平台之间的差异方面做得越来越好。“10 年前,从 x86 迁移到不同的平台仍然非常困难。如今,大多数人甚至都不知道自己运行的是 AMD 还是英特尔芯片。都在云端,一切看起来一模一样。”接着他们谈到,一些开源项目最近遇到的问题是:有些邪恶的开发者看起来人畜无害、乐于助人,实际上却是有恶意的。比如,微小的 Linux XZ Util 程序内有一个安全后门,它非常容易传播到主流 Linux 发行版中。这些问题被及时制止了,本身也不是 Linux 的问题,但还是令人担忧。Torvalds 回忆到,2021 年,有人尝试将不良补丁推送到 Linux 中,但他们失败了。Linux 维护者发现了这些不良补丁,但为此感到非常沮丧和生气。Linux 社区是独一无二的,它拥有 1000 多名开发者,其中很多人已经合作了数十年。因此,黑客试图通过欺骗手段将不良代码植入到 Linux 内核是不可能完成的任务,但其他大多数程序就没这么幸运了。即便如此,Torvalds 指出,当居心不良者利用成为维护者的机会来实施不良行为时,几周之内就会被发现。开源项目发现这类攻击,意味着事情会得到解决。因此,一个健康的社区构成了最好的防御。当然,这并不适用 99% 的开源项目,这些项目往往很小。我们需要保持警惕,并知道自己可以信任谁。在 Linux 内核中,我们将 PGP (Pretty Good Privacy) 作为信任网络的基础。Torvalds:AI 并不能解决一切问题与此同时,Torvalds 认为不要期待人工智能会成为最后的那个答案。这两位业界开源领袖仍对人工智能炒作持疑。Torvalds 调侃道:“这看起来很搞笑,我也可能会被人工智能模型取代。”Hohndel 则认为,当今大多数人工智能就像是增强版的自动更正。Torvalds 随即将他的态度总结为:“让我们等上 10 年,看看它实际上会发展到哪一步,我们再来作出所有这些令世人疯狂的声明。”这并不是意味着两位领袖对人工智能在未来的有益性持悲观态度。事实上,Torvalds 指出了一个人工智能的良好作用:英伟达已经开始更好地与 Linux 内核开发团队进行持续的沟通,并与 Linux 内存管理部门开展了良好的合作,从而在 Linux 上更加高效地运行人工智能大语言模型(LLMs)。Torvlads 也表示:“我们对现在所持有的较多工具能够切实寻找到问题点、漏洞报以较大期许,并持有经久不变的信心,但使这些工具变得更加智能化并不是一件坏事。使用智能化工具只是面对时代变化的一个不可避免的步骤。我们有一些通过高度复杂的脚本及模式识别功能,能够对内核进行重写的工具。由于我们必须在最低满足点指定事物,所以导致该类工具变得难以使用,但人工智能会在这一关键阶段起到非常大的正向作用。”此外,在谈到 AI BS 时,Torvalds 表示必须要变得警惕。Honhndel 随即开玩笑道:“他是在指美妙的科学。美妙的科学在这个时代进来又出去。”对于是否会继 Linux 和 Git 之后继续开发新的大项目时,Torvalds 则当即表示:希望不会如此。他的解释是:我希望这一切不会发生,因为我开启每一个项目都是源于我对他人变得无能或贪恋而感到深深的沮丧。比如我开发 Linux 的原因是因为我已经无法支付真正的东西。这一切相当困难,33 年后,我仍然为此工作。Torvalds 也提到自己 20 年前犯了同样的错误。当时他说自己实在不敢苟同源代码管理(SCM)是极其有趣的事情,但在我之前的所有人 - 他们显然都完全搞错了。所以我需要自己去做,这有多难呢?因此,Torvalds 希望再也不会遇到这种情况了。如今,Torvalds 仍坚守在 Linux 和 Git 的工作岗位上,因为“当其他人过来围在我身边并跟我说『我们真的需要你』时,我十分确信,没有他们,我就不会继续坚守这一切。虽然我的产品源于我需要的东西,但真正使它们不断前进的原因是它们确实对另一些人产生了真正有意义的作用。”Torvalds 最后表示,只要我们发现 Linux 切实发挥了作用,自己和团队将会继续不懈地努力改进它。 ... PC版: 手机版:

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人