发一篇存货,本文编写时间为2023年07月07日
本次共调研了Cursor、Integrated AI for Xcode、CopilotForXcode三个比较热门的AI工具,总结下来AI支持如下三类能力:
- Code Suggestion
- Prompt to Code
- Chat
业内对所支持的功能还没有统一的命名,以上命名来自CopilotForXcode
Code Suggestion
侧重于智能代码推荐
- 实时/非实时根据当前代码逻辑,智能猜测、推荐后续将要编写的代码逻辑
- 根据注释生成代码,比如编写一个验证邮箱的方法、为一个方法编写一个单元测试代码
实时代码推荐
以下为CopilotForXcode的实时代码推荐功能,右下角弹窗为根据上下文推荐的代码
让Cursor实现一个功能模块
Swift实现一个埋点框架,支持上报埋点事件和额外参数。同时,发送网络请求模块可以替换。积累10条埋点记录后发送网络请求上报一次。还要支持持久化存储,当程序意外中断时可以存储在磁盘上,下次启动时还要从磁盘中读取数据
Prompt to Code
侧重于基于成熟的设计原则、编码规范对已有代码的优化,比如
- 分析已有代码潜在的bug,指出待改进的地方
- 修改代码提高可读性,比如减少判断嵌套、检查变量命名、单词拼写等
- 自动添加注释
- 将大方法拆分为功能更加单一的多个子方法
- 使用自然语言翻译代码逻辑
Cursor的代码解释功能演示
Cursor代码优化演示
Chat
无需赘述,大家都用过的ChatGPT
对比与总结
AI工具 | 特点 | 不足 | 配置难度 | 费用 |
---|---|---|---|---|
Cursor | – Prompt to Code – Chat(支持免费的GPT 4) | – 无法集成到Xcode中 | 简单 | – 免费版、个人付费版和企业付费版 – 日常使用,免费版够了 |
Integrated AI for Xcode | – Prompt to Code – 集成到Xcode中 | – 有处理字符数上限 – 速度慢 | 简单 | 免费 |
CopilotForXcode | – Code Suggestion – Prompt to Code – Chat – 集成到Xcode中 | – 配置复杂 – Code Suggestion实时推荐会导致卡顿 | 复杂 | 工具免费,Open AI key申请使用需收费 |
体验中的不足之处
- 仅能对选中代码或当前文件上下文代码逻辑进行智能推荐,无法理解整个项目代码
- 因此经常出现推荐的代码编译不过情况
- 无法从本质上提高代码开发效率,或者说无法将开发效率提高一个数量级
- 比如目前AI很难做到根据简单地描述,甚至通过一张UI设计稿,自动编写一个业务相关的代码出来(比如一个任务奖励弹窗)
- 配置麻烦,因为Xcode官方并未提供AI工具,以上集成到Xcode都是通过extension方式,所以对于实时的功能来说使用起来卡顿,有的速度很慢(如gpt4和Integrated AI for Xcode),处理内容长度受限制
总结
- 日常使用,推荐Cursor,配置简单,速度快,功能全
- 目前阶段还无法使用AI工具从本质上大幅提高代码开发效率,仅是辅助工具
- 对个人知识的盲点、总结概括调研类知识,AI可以给出相对准确的解答,反之,越详细的问题回答错误越多
- 不同工具核心功能大都来自Open AI的模型,比如Cursor、Integrated AI for Xcode
Cursor
Cursor体验版本是0.2.33
一个类似VS Code,集成了ChatGPT的IDE工具
- 像普通ChatGPT一样交流,也可以生成代码
- 支持对已经生成的代码进行修改
- 支持Swift、OC,以及更多语言
- 集成了ChatGPT 3.5/4
- 工具本身下载使用是免费的
不足
- 免费版,ChatGPT 4每月限制50次,且慢;ChatGPT 3.5使用次数不受限
- 个人收费版,ChatGPT4会变快,20刀每月
- 企业版,费用未知
使用体验:
- 生成的代码比较注意代码规范和设计原则
- 对于解决一些因知识盲区产生的问题很有帮助
- 可以轻松实现一个独立的功能模块
Integrated AI for Xcode
一个集成到Xcode中的,致力于用AI提升代码质量和开发效率的工具。测试版本为1.2
- 集成到Xcode中(Xcode14.3.1版本测试可用,通过Xcode Source Editor Extension)
- 仍使用Open AI的服务,但软件下载完就可直接使用,无需注册
- 可以自动给代码添加注释
- 可以给代码提出改进建议,并可以自动修改
- 可以根据之前的代码,推测整个代码逻辑并自动编写
- 可以对代码风格、命名规范进行修改,使之Swiftier
- 免费
不足
- 仅提供固定几个功能,无法根据问答生成或修改代码
- 仅支持Swift代码
Codeium
测试版本为1.2.40
值得一提的是,该项目拥有自己的人工智能模型,并不是对OpenAI进行的包装
主要的功能是–AI Autocomplete
,通过AI结合当前代码上下文,自动提示可能要编写的代码
- 支持集成到Xcode中
- 支持Swift、OC等70多种语言
- 仅需在官方注册账号即可免费使用,并且官方承诺永久免费
- 还提供Codeium Chat类似ChatGPT交互的功能,收费
CopilotForXcode
Copilot发音为/ˈkoʊˌpɑɪ·lət/
CopilotForXcode也是通过Xcode Source Editor Extension集成到Xcode的工具,该工具集成了Copilot、Codeium和ChatGPT的能力
本次测试版本:0.19.2
不足
- 由于集成了其他功能,安装配有点繁琐,需要注册Copilot、Codeium、Open AI等账号
- 实时推荐的代码主要能节省编写重复、胶水代码的时间,推荐成功率并不高,且使用卡顿
参考
- 我目前正在使用的 AI 服务
- 充满可能的新一代辅助编程神器:Cursor
- VSCode装上Copilot后 只写注释就完成了开发
- Is It Possible To Create an Entire Mobile App Using ChatGPT?
- How to use Github Copilot with Swift using Visual Studio Code?
- Boost your Productivity: Integrate GitHub Copilot with Xcode