今年9月份通义就放出要把“通义灵码”升级为“通义AI程序员”的消息了,但是直到昨天才算全面上线。
这不立马试一下?
官网链接:lingma.aliyun.com/lingma/aide…
前置准备
本文使用VS Code进行测试。
安装
直接在 官网安装教程 点击安装。
自动安装完成,超级简单。
配置
安装后会出现在左侧“主侧栏”。
可以看到顶部分为“智能问答”和“AI 程序员”,其中“智能问答”就是原来的通义灵码,我们切换到“AI程序员”。
使用Cursor习惯了,将“AI程序员”移动到右侧。
现在看着顺眼多了。
废话不多说,直接使用之前测试Cursor的场景再来一遍。
实战才有价值嘛~
实战测试
需求:基于Streamlit实现一个类似ChatGPT的应用,后端使用书生大模型InternLM API。
多文件代码修改(生成)
打开一个空白文件夹后开始第一步,根据需求生成。
提示词:
基于Streamlit实现一个类似ChatGPT的应用,后端使用书生大模型InternLM API。
InternLM API文档地址:https://internlm.intern-ai.org.cn/api/document
执行结果:
如图,我框选了几个地方。
- 中间顶部:是针对变更一个个处理的工具栏,从左到右分别是:接受、拒绝、上一个文件、下一个文件、上一个更改、下一个更改以及原始工具图标。
- 右侧中部:可以看到每个文件的具体应用状态,这个地方比Cursor的对号明显一些。
- 右下角:工作区域,明显可以看出是多文件生成,可以直接针对整个生成“查看”、“拒绝”、“接受“。
对比:
- 从多文件代码生成角度,与Cursor的体验类似,但是生成结果不如Cursor+Claude好。比如,这个场景下,“AI程序员”竟然不知道我没有设置Python环境(已添加codebase),最后是我提醒他帮我设置Python环境的。
- 界面上,我倒是感觉“AI程序员”比Cursor更友好,可能确实存在国产更适合我的原因。
终端命令
接上一步,我提醒它需要先配置Python环境。
提示词:
是否应该先配置Python环境?
执行结果:
它知道,但它不告诉我。
然后就是答案中出现命令时,无法直接执行。
分别是:插入、复制、新建文件。
对比:
- 从最根本上,它不知道自动帮我设置Python环境,这一点是没得洗的。
- 不具备直接执行终端命令的能力,只能复制到终端中手动执行。
变更对比
我的书生浦语Key在环境变量中,需要修改config.py
实现读取赋值。
提示词:
修改config.py,实现读取书生大模型的Key。
执行结果:
对比:
- 这个效果差不多,没有特别差异的地方。
调试bug
运行,出现错误,正好验证下截图调整Bug的能力。
提示词:
(上传截图)
修复
执行结果:
按照建议,重新设置Python虚拟环境后可以运行成功了。
对比:
- 识别效果还可以,给出的建议也是比较合理的。虽然,这个错误我感觉是它给我造成的。
- 顺道发现了另一个可以改进的地方:假如我这次输入的提示词不是很合适,目前是没法直接修改提示词重新生成的,Cursor中是直接替换掉错误的那次生成,整个与AI交互的记录更加直观、通顺。
自动补全
尝试下编码的自动补全如何吧。
标题下增加一段说明:
回车后直接出现,有联系上下文的意思,不错不错。
改变量名:
把session_state中的messages改为messageList。
对比:
- 普通的联系上下文生成、补全,包括对streamlit API的支持,都还是不错的。
- 更改变量名功能还需要优化,Cursor修改变量名后,同文件变量名直接通过一次Tab跳转到行,二次Tab更新变量名。要知道Cursor可是因此创造了“Tab程序员”的说法。
其它
代码审查:
添加上下文的地方有个选项是“codeChange”,这不天然适合Review代码,试一下。
看了下,改进建议中规中矩。
不过,这个用法倒是很舒服,可以很好的再提交代码前检查一下,并且,也可以帮助生成commit message。
快照:
另外一个官网提到的特性是“快照”。
这个我感觉算是比较有用的一个创新了,它每个快照大体对应一次提示词,可以方便的根据你的命令管理代码版本。
总结
今天就先到这里吧,整体体验比我预想的差了不少。原本期待国内也能推出一款足以挑战Cursor的智能代码助手,但现在看来,这一目标依旧任重道远。
本来我的初衷是想为“AI程序员”宣传宣传的(虽然力量有限),然而经过今天的尝试后,我好像更适合汇总一些改进意见。明天向官方反馈下去,也算贡献力量了。
我会持续关注“AI程序员”的动态,真心希望通义能够实现对Cursor的赶超。如果将来有重要的进展或者变化,我也会再次和大家分享,谢谢啦。