上个月接了一个订单模块的开发,我想这种成熟的功能用AI一把梭不就行了,就把它丢给了AI。
它几分钟就给我生成了一大堆代码,第一眼看去相当不错,分层清晰,注释齐全,DTO、VO、Mapper 一个不少, Swagger 文档都自动补好了。
不过仔细一看,我就开始冒冷汗。
订单状态流转有一部分走数据库状态, 有一部分走 Redis 缓存, 退款状态又单独维护了一套字段。
更吓人的是,退款逻辑中,重试和幂等处理有错误,导致网络抖动时,会出现二次扣款的情况.....
这要是上线了,肯定会被骂死。
我不由得想起了“古法编程”,程序员首先要仔细分析需求,然后设计接口,设计数据库表,最后才是代码实现,特别是我们在每一阶段结束的时候,都可以根据需要对成果进行评审,确保需求被正确理解,接口和数据库设计符合要求。
这种方式虽然没有“氛围编程一把梭”那么快,但是非常稳健,非常利于团队和项目的“长久治安”。
有没有一种办法让AI也这么干活呢?
有的,飞算JavaAI就是这么做的。
0 1
什么是飞算JavaAI?
不同于很多 AI的“一把梭生成代码”,飞算JavaAI采用“五大专家 Agent 协同模式”:需求规划、接口设计、数据库架构、业务逻辑、源码生成分别由不同 Agent 负责。
它不是一股脑生成代码, 而是像真实技术团队一样,分阶段推进、逐步评审、协同完成开发,整个过程可视化、可干预、可追踪。
虽然从名称来看,它主要是做Java开发的,但实际上,在通用场景下,飞算JavaAI也支持Python、C/C++、JavaScript/TypeScript、Go、PHP、Ruby、Swift、Kotlin、Rust、Scala、Dart、HTML、CSS、XML、Vue、SQL等主流编程语言。
飞算JavaAI 自己训练了一个“Java专有模型”做为底座,通过深度学习用户偏好和对项目的智能分析,在应用层提供了三个主要功能:
1.智能引导:通过引导的方式来生成项目,我觉得这是它非常有特色的地方。
2.智能会话:这个大家应该很熟悉,不再赘述
3.智能工具箱和SQL Chat。
0 2
如何安装
飞算JavaAI现在是个IDEA的插件,搜索“飞算”,找到后直接安装就行。
飞算JavaAI分为个人基础版和专业版,建议上个专业版,首月仅9.9元,支持无限量Token额度,无限量工具箱使用次数,还支持完整的企业级项目开发,其他权益也有很多,次月30元也不贵(现在活动期,邀请好友,还可以免费领30天专业版会员)。
0 3
智能引导
作为一个在后端开发的Java程序员,我非常喜欢飞算JavaAI的智能引导这个功能。
它不但能自动化帮我完成从需求、接口、数据库、最后到代码整个流程,更关键的是,它在每一步都提供了一个“口子”,让程序员精确地定制,审阅,干预,这种程序员在恰当时机参与的设计,保证了最终的代码质量是符合业务要求的。
例如同样一个需求:
生成一个和HackerNews类似的网站
它并不会立刻开始写代码,而是先老老实实地理解需求,将需求拆解成一个个关键点。
我可以对这些需求的关键点进行增删改,调整优先级,确保是我想要的功能。
需求明确以后,进入第二步接口设计,飞算JavaAI会根据需求生成接口描述,同样我还可以对这些接口进行手动调整。
第三步是表结构设计:
对于每一张表,每个字段,每个类型都可以进行个性化的定制修改:
第四步就更加细化了,对每个接口的每个方法,都进行了精确的定义:输入是什么,输出是什么,完成什么功能:
由于前四步已经精确地定义了这个系统的需求、接口、数据库,第五步生成源码我们就不用管了,静静等待,让AI生成就好。
看到这里的Java程序员应该感觉比较亲切吧,因为我们日常的开发基本上都是这样的。
只不过,飞算JavaAI把最繁琐的任务都给干了,程序员只需要把控整个开发的关键点就行。
可能有人要问了,我们团队有些规则,在哪里可以设置?
不用担心,在上面流程的每一步,飞算JavaAI都会给我们提供设置规则的机会:
下面就是个项目规则的例子,它给AI明确地立下了规则:如何做输入校验,如何命名,如何实现getter/setter,如何做日志记录....
0 4
AI工具箱
AI工具箱也是我很喜欢的一个功能,它不搞那些花里胡哨的炫酷功能,目标非常“实在”,就是解决Java开发中那些让人头疼的问题。
就拿框架升级器起来说吧,比如你接手了一个老旧的项目,用的还是JDK8,现在要求你升级到JDK21。
这件事儿如果用手工做,是非常麻烦的,虽然Java语法兼容,你写的代码大部分都能编译,但真正麻烦的是第三方库,你会发现Tomcat需要升级,Spring Boot需要升级,Hibernate需要升级..... 整个技术栈需要一起动才行。
更要命的是有些问题在运行时才会暴露,非常恐怖。
这时候框架升级器就能派上大用场了,只要选择希望升级的Java版本,剩下的事就交给飞算JavaAI了。
同样道理,还可以使用框架迁移器把项目中用到各种框架进行迁移,例如从EasyMock迁移到Mockito,能极大地节省你的工作量。
除此之外,还有Java安全修复器,框架最佳实践优化器,项目文档生成器,Java整洁器,Jar依赖修复器...... 都非常实用,好用。限于篇幅,我这里就不再详细介绍其他工具了,感兴趣的同学可以自己尝试。
0 5
智能会话和SQL Chat
智能会话我相信大家很熟悉了,只要在一个合适的上下文中(文件,目录,控制台),就可以做很多事情,例如“代码补全”,“代码评审”,“解释代码”,“生成单元测试”,“异常错误排查”等等,这里不再详述。
我印象比较深刻是的对Java文件的“一键修复”功能,对于修复常见的错误非常有效:
飞算JavaAI的SQL Chat可以让你用自然语言进行SQL查询,像这样:
可以说,使用SQL以后,那些复杂的SQL都不用自己写了,交给飞算JavaAI就行。
0 6
总结
很多AI“一把梭生成代码”,Demo阶段看起来很爽,但真正进入企业级项目后很容易暴雷,飞算JavaAI的思路明显不一样,它把软件开发重新拉回了“工程化”的轨道。
程序员不再是“亲手搬砖的人”,而变成了 “规则制定者”, “架构把关者”, “关键节点审核者”,这其实非常符合真实的软件工程未来发展的趋势。
而Java作为企业后端开发最核心的语言之一,正在因为AI工具的出现迎来一次新的效率革命,像飞算JavaAI这样的工程级工具,如果用得好,真的可以让Java开发效率提升一个量级。
最近飞算JavaAI正在举办“宠粉季”活动,邀请好友,就可以免费领30天专业版会员,强烈建议大家去尝试一下飞算JavaAI,感受下它给Java程序员带来的惊喜。
热门跟贴