【AI编程】深度使用三个月,我总结出AI编程工具最实用的三大功能

【AI编程】深度使用三个月,我总结出AI编程工具最实用的三大功能

图片

随着AI逐渐渗透到我们的工作中,作为一个对什么都好奇的程序员,也不得不紧跟时代的潮流,挨个体验一把。

在过去一年里,我深入使用了三个AI编程助手:通义灵码(近1年)、Cursor(4个月)和Github Copilot(1个月)。

深度使用后,我总结出这些工具对开发者效率提升显著的功能,有三个。

效率提升排序:

  1. 辅助阅读代码(最显著)

  2. 解决Bug/报错

  3. 代码生成(提升最小)

为了全面且客观地评估这三个工具阅读代码、解决Bug和代码生成功能,我采用了不同复杂度的项目作为测试样本:

  • 阅读代码:选择Requests库和CPython解释器两个复杂开源项目
  • 解决Bug和代码生成:使用相对简单的项目进行测试

工具使用方式

  • 通义灵码Github Copilot:以插件形式安装在IDE中,支持JetBrains IDEs、VS Code、Visual Studio等主流开发环境。
  • Cursor:需要单独下载软件。

工具官网链接:

通义灵码 :https://lingma.aliyun.com/
Github Copilot :https://github.com/features/copilot
Cursor:https://www.cursor.com/

一. 辅助阅读代码功能

1. 工具:通义灵码 、Github Copilot 、 Cursor

阅读代码功能对比,选取了两个开源项目作为样本:

  • Requests库:https://github.com/psf/requests
  • CPython解释器:https://github.com/python/cpython
2. 功能对比

这里主要对比以下三个功能:

  • 行/函数级代码片段问答
  • 本地工程问答功能
  • 自由选取代码文件问答功能
(1). 行/函数级代码片段问答

看命名就知道,这个功能指的是在IDE中直接选取代码片段后问答。

这种方式比起将代码复制到UI对话模型中问答案,更加高效。

可以让开发者理解代码的过程更连贯,注意力更集中。

操作示例

  • 选中代码文件的58~91行,对话编辑框中会显示选中的代码文件和行数,发送提示词,丢丢丢丢 稍等几秒即可获得回答。

图片

  • 通义灵码Github Copilot、Cursor在这个小功能上用户体验没有太大差别
(2). 本地工程问答功能

功能介绍:结合当前工程生成简单需求或缺陷的整体修复建议和建议代码

当我们需要快速理解一个新的项目的代码时,可以在AI助手的智能问答窗口中输入****@workspace后AI会自动读取当前工作目录下的代码,结合当前仓库进行工程理解、代码查询和问答。

图片图片

这个功能是UI对话模型无法做到的,在没有这种编程助手之前,让大模型帮助理解代码非常痛苦,需要把代码文件分成段,复制到网页中,用提示词让GPT先记住,最后问出问题。往往代码还没有发,一个对话就已经到达对话上下文长度上限。而编程助手的出现解决了这一问题。

三个AI助手的差异点

  • 通义灵码Github Copilot:直接在对话框中使用@workspace进行问答。
  • Cursor:通过@/读取当前目录实现该功能。
(3). 自由选取代码文件问答功能

功能介绍:可以选择任意个工程中的代码文件添加到对话框中进行工程理解和问答

由于每个模型的上下文Token有限,当整个工程的代码量超过Token上限时,模型只会引用部分代码文件,导致回答不准确,这时候自由选取代码文件****功能就显得非常重要了。

自由选取代码文件功能可以让我们在项目代码过多,无法一次性让大模型阅读时,单独提取核心代码进行问答。

可以看到在IDE代码树中我选中代码文件后,使用“Add File to Composer”选项,会将选择的文件添加到问答对话框中。

图片

图片

三个AI助手的差异点

  • CursorGithub Copilot:可以直接在工程目录中选取需要加入问答列表的代码文件。体验上乘
  • 通义灵码:需要通过对话框的+号逐个添加代码文件,操作不太友好

二. 代码生成

AI工具在代码生成方面的表现并没有像阅读代码和解决Bug那样显著。虽然它们能够通过自动补全、代码提示等功能帮助完成一些重复性工作,但在复杂功能的实现上,和开发者的想象还有一定差距,不光这些工具要继续优化,模型的能力也并不满足。

1. 功能对比

为了更直观地展示这些工具在代码生成方面的差异,我以生成一个“放烟花”的网页小功能为例,分别测试通义灵码Github CopilotCursor的表现。

(1)通义灵码
  • 操作流程:输入提示词“实现一个放烟花的网页程序,将所有代码放到一个可以执行的文件中”,

    丢丢丢丢,等待几秒,

    生成的代码就会单独写入一个临时文件(图中亮黄绿色部分),开发者需要人工审查无误后,点击【工作区】的“接受”按钮,代码才会从临时文件写入到个人创建的文件中。

  • 用户体验评价:提供手动审查和接受,流程清晰。体验上乘

图片

(2)Github Copilot
  • 操作流程:输入提示词“实现一个放烟花的网页程序,将所有代码放到一个可以执行的文件中”,

    丢丢丢丢,等待几秒,

    生成的代码会直接写入到个人创建的文件中,底部有单独的按钮控制已生成代码的接受或拒绝。

  • 用户体验:操作简单,只需点击一下即可完成代码编写,减少了用户的思考成本,体验更加流畅。体验上上乘

图片

(3)Cursor
  • 操作流程:输入提示词“实现一个放烟花的网页程序,将所有代码放到一个可以执行的文件中”,

    丢丢丢丢,等待几秒

    需要手动将生成的代码复制到文件中。

  • 用户体验:需要切换到键盘进行操作,增加了用户的操作步骤。体验中上

图片

2. 代码生成用户体验总结

从用户体验的角度来看,Github Copilot通义灵码更贴近“减少用户思考”的设计理念。它们只需要鼠标点击一下即可完成代码编写,而Cursor则需要额外的操作步骤,体验稍逊一筹。

总体而言,相较于传统的网页型对话模型,这类工具在代码生成效率上提升了数倍。

我在这里没有对这三个工具生成的代码质量做出评价,原因是工具生成代码能力的差距主要取决于集成的模型底层能力,而非工具本身的设计。

Github Copilot可以选用GPT-4o和Cluade-sonnet(priview)两个模型,GPT-4o生成代码准确率比Cluade-sonnet(priview)好一些

通义灵码使用的是自家的Qwen2.5 Coder

Cursor可选用的模型比较多,重点是可以使用Cluade-sonnetChatGPT o1这两个模型,o1我用的比较少,不做评价。但是可以确定Cluade-sonnet的代码能力远在其他模型之上

三. 解决Bug

相比于将碎片化的代码报错信息提供给大模型解决Bug。通过结合项目仓库上下文的方式,它们能够更快速定位问题并提供解决方案。

1. 功能对比

这里仍然以“放烟花”的代码为例,人为制造三处错误,测试各工具的表现。

(1)通义灵码

操作流程:告诉AI目前遇到的问题,选中代码,

让AI检查错误,丢丢丢丢 等待几秒钟,

AI就会在代码中标注出错误并提供修改建议,同时在对话栏中解释错误原因。

点击【工作区】的“接受”按钮,代码就修复成功了。

图片

(2)Github Copilot

**操作流程:**Github Copilot与通义灵码操作方式相同,但最后输出的结果Github Copilot只会修改代码,不会解释错误原因,这一点需要优化。

图片

(3)Cursor
操作流程

仍然是,告诉AI目前遇到的问题,选中代码,

让AI检查错误,丢丢丢丢 等待几秒钟,

Cursor会把代码哪里错了打印出来,并且会告诉我代码是语法错误还是变量错误,这点比其他两个工具做的都好。

就好比你有两个师傅,

当你练功时练岔了,

一个师傅只会告诉你,你按照我说的练就可以了。

而另一个师傅会告诉你,为什么错了,错在那个动作上,你要如何改正。

两者对比显而易见。

图片

2. 解决Bug功能用户体验总结

从用户体验的角度来看,这三个工具在修复Bug功能上没有太大的差距。

当然,这类工具在解决Bug能力上的优势在于,能够有效结合项目上下文进行分析和修复,而传统的网页型对话模型往往难以做到这一点。

至于修复Bug的准确性和成功率差距,还是取决于模型底层能力。

四.AI编程助手的功能扩展与工具推荐

除了前文介绍的阅读代码、解决Bug和代码生成三大核心功能外,AI编程助手还提供了一些其他功能,例如代码补全、终端问答和注释生成。但是这些功能相较于前文提到的三大功能,个人认为缺乏独特性,只起到锦上添花的作用。

工具推荐

根据使用体验和性价比考虑,以下是我的推荐:

1. Cursor
  • 适用场景:对生成质量要求高的场景,比如进行项目开发,真要用AI写项目一定要选Cursor。
  • 免费额度:每月50次Claude sonnet和o1免费额度,免费额度用完后也可切换到gpt-4o-mini。
  • Pro版费用:每月20$,无限制访问Claude sonnet。
  • 推荐理由:集成了Claude sonnet(AI编程模型的无冕之王),模型能力强,适合复杂项目开发,不考虑价格直接无脑冲。
2. 通义灵码
  • 适用场景:学习代码、阅读代码。
  • 免费额度:个人免费,暂无付费选项。
  • 推荐理由:性价比最高,适合初学者或仅需代码阅读功能的用户,无需额外费用。
3. Github Copilot
  • 适用场景:日常开发,与通义灵码结合使用。
  • 免费额度:每月50次聊天免费额度。
  • Pro版费用:每月10$,无限制访问。
  • 推荐理由:性价比高,GPT-4o生成的代码质量比起Claude sonnet差一些,适合与通义灵码搭配使用,用每个月的免费额度解决日常开发中的Bug足够了。

本文选择的是比较有代表性的AI编程助手通义灵码、Cursor和Github Copilot比对工具功能,国内外还有许多其他AI编程工具可供选择。差别不是很大:

国内工具:
  1. 阿里云-通义灵码
  2. 智谱-CodeGeeX
  3. 百度-文心快码
国外工具:
  1. 亚马逊AWS-CodeWhisperer
  2. 谷歌-Codey
自建工具:
  1. continue.dev + Llama\ DeepSeek(模型选择只要有API就可以)
  2. Clin + Llama\ DeepSeek(模型选择只要有API就可以)

写在最后

过去的一年中,AI发展得比我自己预想的更快。记得ChatGPT刚发布的那段时间,我用ChatGPT写一个批量处理Excle表格的脚本得调整好几个小时,会有各种Bug出现。

直到GPT-4o、Claude-sonnet这两个模型的发布,能够明显的感觉到大模型生成的代码Bug少了,简单的代码几乎不用修改就可以直接运行。

不过那时的大模型对编程的帮助提升有限:由于大模型上下文的限制,很难让大模型结合自己项目代码上下文解决问题。

直到Github Copilot的爆火为AI编程燃起了一把火,随后阿里的通义灵码、CodeGeeX、Cursor、Cline等工具如雨后春笋般涌现,从此AI编程走向星辰大海

总结下来,AI编程发展历程中比较关键的几个节点

  1. ChatGPT发布

    • 标志着AI在自然语言处理和代码生成领域的突破。
  2. GPT-4和Claude-sonnet发布

    • AI生成代码的准确性和效率大幅提升,简单的代码几乎无需修改即可运行。
  3. Github Copilot的爆火

    • 作为AI在垂直领域的突破,Github Copilot引领了AI编程助手的潮流。
  4. Cursor发布

    • 进一步推动了AI编程工具的发展,提供了更多灵活性和强大的模型支持。

一点感想

看过去一年多的时间,

我的感受是,

科技裹挟着每一个人前行。

现在的人类,对AI的发展持有乐观态度,

AI很快会成为人类世界的一份子,

与人类共同参与生产过程。

同时,我们不必焦虑,

对于个人而言,

发展与风险共生,

机遇与挑战并存。


如果觉得写的不错,可以关注我的公众号,我会经常分享一些AI前沿的技术动态哦!!!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值