前言
这也是我第5次来写通义灵码的相关文章了,从最初给灵码写能力测评,到后来真正投入到个人工生产中,写了多篇个人最佳实践,再到后来受邀去参加活动,撰写了很多关于灵码和其他同类产品的看法对比,前前后后已经把灵码摸得清清楚楚了,说是重度使用爱好者确实不为过。
至于这次,我突然的更新自然也是有缘由的,因为我拿到了万众期盼的灵码AI程序员内测资格。
上次体验到这个还是在24年的云栖大会上,真的是给我留下了极其深刻的印象,其能力之强大,远超我的预期。当时,仅仅是测试阶段的灵码AI程序员就展示了它在缺陷自动修复、需求自动实现、自主高效开发三大功能上的卓越表现。
本文将着重于学习和试用最新版的灵码AI程序员,探讨它是如何进一步提升开发效率和质量的,并提出建议以帮助灵码团队更好地优化产品。
灵码AI程序员
相比于通义灵码,灵码AI程序员更像是一个能独立自主完成研发任务的 AI 智能体,可承接人类指派的软件研发生命周期中的各类任务。它目前预置了三个使用场景:缺陷修复、需求 0-1 实现、研发问答。
这是三个针对不同任务配置了不同系统提示词(system prompt)的通义大模型,因此,也可以在自由形式的「研发问答」中通过合理构建提示词来配置最适合自己的场景。
值得一提的是,内测时灵码AI程序员是作为网页端上线的,但是此次正式上线后,仅能通过编辑器插件的方式进行运行使用。
缺陷自动修复
自主进行缺陷分析和修复计划制定,开发者一键确认即可快速生成修复代码,轻松解决繁杂的修复任务,具体步骤包括以下三个:
1 . 输入缺陷链接,AI程序员将自动获取详情及相关代码库。
2 . AI程序员分析代码库制定解决方案,自动生成修复代码,用户只需确认执行即可。
3 . AI程序员自动提交代码并生成合并请求信息,用户只需确认即可。
需求自动实现
自动理解需求、拆解任务、编码、测试及调试代码,端到端实现自然语言需求,具体步骤包括以下三个:
1 . 用户只需描述需求及选择模板,AI程序员负责落地实现
2 . AI程序员自动分析需求并生成解决方案,用户只需确认执行
3 . AI程序员根据方案自动生成代码,用户可以持续提出优化需求,直至完美落地
研发问答
此块能力同通义灵码,故在此不过多赘述。
灵码AI程序员实操体验
点击体验,会跳转至下载安装界面
此处以VScode为例,需要进入拓展栏重新下载灵码,下载完成后重启即可看到灵码AI程序员的功能
我们以体验为主,这里重点参考产品手册的内容,按照如下流程进行编码,也顺便看看和通义灵码的差异在哪儿:
输入需求
首先我们进入到灵码AI程序员界面,输入一段生成系统的需求描述,这里建议使用通义千问进行Prompt优化,进一步详细功能点。
我们先尝试粗略的需求生成,给出Prompt如下:
请开发一个商品列表管理系统
可以看到,最终生成的文件只包含如下几个,
只给了实体类、商品管理服务接口、商品管理控制器,连web界面都不给吗???
于是我不信邪的再试一试,结果发现这次给出的又完全不一致了。
但是还是不给web界面
下面我采用通义千问优化了Prompt,进一步细化了功能需求:
请开发一个图书管理系统,该系统旨在为图书馆或个人提供一个在线平台,用于管理图书信息及相关的借阅活动。它不仅支持基本的CRUD(创建、读取、更新、删除)操作,还能追踪图书的状态(如是否可借),并记录借阅历史。
但最终其给出的结果仍然只有三个类
这下我有点怀疑自己了,索性直接开始继续优化,不再尝试新的内容了
继续给出Prompt如下:
请进一步扩展和完善这些功能,给出web界面。
不想说话了,结果如图所示:
到这里其实我已经对灵码AI程序员很失望了,比之内测时体验感觉都差了很多。。。
剩下的也没好测试的了,稀奇古怪的bug一大堆:文件生成无法停止,生成内容时不断重复刷新,工作区文件点击接收无反应,接收后工作区文件无法找到等等,实在是没有心情继续用下去了
这里就简单看看官方文档吧
多文件代码修改
多轮对话及变更快照
当进行了一轮对话并生成代码变更文件后,如需继续补充需求或者修改需求,可在当前任务的会话流中继续提问,AI 程序员将结合前序轮次生成的代码变更分析补充的需求,并生成新的代码修改建议,产生一个或多个新的代码变更文件。
当需要查看或回退到前序轮次的修改时,可单击下拉箭头查看当前会话任务中产生的多次代码变更快照,选择后,可以看到相关信息变化或进行切换操作:
查看会话历史
如果需要回顾历史的会话任务,可单击会话历史按钮。你与 AI 程序员的会话均有 @AI Developer 标签,单击后即可查看相关对话过程。
总结
因为时间原因,也没有过于仔细地来进行多轮测评,在与灵码团队沟通后才得知确实也还是在内测中,存在较多问题是正常的,灵码团队确实也非常重视用户反馈,并且正在积极地根据测试过程中遇到的问题进行优化和改进,这里我就不多说什么了。
灵码AI程序员其实如果做好,注定会是一个跨时代的产品。它不仅有望极大地提高软件开发的效率,还可能改变我们对编程和解决问题方式的理解。一个成熟且智能的AI程序员可以帮助开发者快速生成代码、自动修复错误、优化性能,并提供最佳实践建议,这将大大缩短项目周期并提升代码质量。
但是,要实现这样的愿景并非易事。除了技术上的挑战外,还需考虑如何确保AI生成代码的安全性、可读性和维护性;同时也要处理好版权归属、责任界定等法律伦理问题。