机器之心报道
编辑:陈陈、小舟
AI 辅助编程工具这条赛道越来越卷了。
新晋 AI 编程神器 Cursor,终于迎来了一次备受关注的版本更新,Cursor 0.43 来了。
新版本最大亮点之一是推出了 Composer Agent 功能,其具有完整的项目理解 / 编辑能力。
用户已经用上了 Composer 新引入的 Agent 模式,并让其解析整个文件。来源:https://www.reddit.com/r/cursor/comments/1gyq690/cursor_composer_agent_is_here/
网友表示:「带有 Cursor Agent 的 Cursor 0.43.3 太疯狂了。」
启用 Composer Agent 有两种方法:
1. 在 Composer 聊天窗口中启用
2. 在 Settings > Editor > Chat & Composer 中设置「Enable Tools」选项
图源:https://x.com/imrat/status/1860620192214081614
有网友迅速对 Composer Agent 展开了测试。
例如,有网友让 Composer Agent 读取项目文件:
视频链接:https://mp.weixin.qq.com/s?__biz=MzA3MzI4MjgzMw==&mid=2650944160&idx=2&sn=e6acc969934c18c5b227b2752e9f1a0a&chksm=84e7f6deb3907fc8725253a9ab7a75f04b45090a414e5cd40acb6bc2f408defc85917b420362&token=615307809&lang=zh_CN#rd
还有网友尝试在一个小型 WordPress 插件上进行测试,目标是让插件更稳健、安全、可维护。
该插件包含 2 个文件夹中的 34 个文件,Composer Agent 很好地掌握了主要功能并选择了要审查的关键文件。然后,Composer Agent 继续审查文件并建议实施 4 项增强功能,更改了 2 个文件,并将一些关键视图移动到单独的文件中,创建新文件夹和新文件,最后还总结了所做的改变。大约做了 580 个更改,约占此插件中行数的 48%。
图源:https://x.com/imrat/status/1860620194726486344
除了 Composer Agent,Bug Finder 功能也是大家比较关注的, 目的是通过检测潜在的问题,帮助开发者尽早在开发过程中修复代码问题。
据了解,该功能会分析你当前分支和远程代码库中主分支之间的代码变更。官方建议是在将代码从功能分支合并到主分支之前使用此功能,以便在开发初期发现潜在问题。
目前,这一功能还处于 Beta 实验阶段 ,并且不是免费的,官方也说明了 Bug 检测仍处于试验阶段,可能无法发现代码中的所有问题,可能会损失用户金钱,却得不到任何有效漏洞,请自行承担使用风险,看来大家还是慎用此功能。
图源:https://x.com/imrat/status/1860620203744178687
此外,Cursor 0.43 还有几项改进,包括:
- 语义搜索:使用户可以更轻松地使用几个字符找到所需的文件,和 VS Code 的搜索方式一致;
- image drop;
- File pill recommendations。
新版本上线后,用户们也是非常激动,都开始用起来了,但有些网友表示自己并没有更新成功,「下载页面只允许下载 setup x 0.42.5,运行 Cursor:Attempt Update,但没有成功。」
对此,官方回复是为了确保新版本的可靠性,他们正在分批推出,还不能更新的用户只能在等几天了。
除了 Cursor 的更新吸引眼球外,近日 Github 公布的一些数据证实,这些编程工具确实在改变开发者的工作体验。
真实测试 GitHub Copilot 到底多好用
GitHub Copilot 已经面世两年了,在此期间,该工具帮助开发人员将编码速度提高了 55%,借助 GitHub Copilot,85% 的开发人员对自己的代码更有信心,88% 的开发人员在使用 GitHub Copilot 时感觉更顺畅。
虽然 GitHub Copilot 一直在不断完善,但大家仍有一个疑问,使用 GitHub Copilot 编写的代码质量客观上是更好了还是更差了?
为了回答这个问题,GitHub 进行了一项随机对照试验。
在这项研究中,他们招募了 202 名拥有至少五年经验的开发者,并且将一半参与者随机分配到使用 GitHub Copilot 的组,而另一半被指示不要使用任何 AI 工具。所有参与者都被要求完成一个编程任务,为一个 Web 服务器编写 API 端点。随后,通过单元测试和由开发者组成的专家组评审对代码进行了评估。
结果显示,使用 GitHub Copilot 编写程序的那组人员代码质量显著提高了,并且功能性更强、可读性更强、可靠性更高、可维护性更强、更简洁。
GitHub Copilot 编写的代码功能更强大
如果代码无法正常工作,那么就不能说它是高质量的。因此,研究者通过分析代码通过了多少单元测试来衡量其功能性。
结果发现,使用 GitHub Copilot 编写的代码通过的测试显著更多(p=0.002)。事实上,在这项研究中,拥有 GitHub Copilot 访问权限的开发者通过全部 10 个单元测试的概率高出 56%(p=0.04)。
这意味着使用 GitHub Copilot 帮助开发者编写的代码在功能性上有着较大的优势。
使用 GitHub Copilot 编写的代码更容易阅读
在研究的第一阶段中,有 25 名开发者编写的代码通过了全部 10 个单元测试。这些开发者随机被分配去盲审匿名提交的代码,包括使用和未使用 GitHub Copilot 编写的代码。
审查者发现,GitHub Copilot 显著减少了代码错误:使用 GitHub Copilot 的开发者平均每 18.2 行代码出现一个代码错误,而未使用的情况下是每 16.0 行出现一个。这意味着使用 GitHub Copilot 的情况下,平均每个代码错误前可以多写 13.6% 的代码行(p=0.002)。这可以转化为实际的时间节省,因为每个代码错误都需要开发者进行处理。
此外,开发人员还发现使用 GitHub Copilot 编写的代码更易读、更可靠、更易于维护和更简洁。虽然这些差异很小,但它们具有统计意义,并且确实有助于改善代码库。
使用 GitHub Copilot 编写的代码更有可能获得批准
开发者更有可能批准使用 GitHub Copilot 编写的代码,概率高出 5%(p=0.014)。在实际场景中,这意味着使用 GitHub Copilot 的开发者编写的代码更容易达到合并的标准,从而加快修复漏洞或部署新功能的速度。
如今, AI 编码界不断推出新的工具,又不断的迭代更新,人人都是程序员的时代或许真的要到来了。
https://x.com/imrat/status/1860620189806592455
https://github.blog/news-insights/research/does-github-copilot-improve-code-quality-heres-what-the-data-says/
热门跟贴