我爱免费 发表于 2025-11-16 11:21

AI重塑软件工程04-Spec Coding-基于Kiro AI IDE的周报系统开发02

作者:微信文章
https://mmbiz.qpic.cn/sz_mmbiz_jpg/mqhc3Xuogv6QuxdzhtRmicMBVWrIKy5Vc2xlfEVHbD8JfNoQ0y7cgDkkE74SzpkZ7loau9rw9zSb7CR1GL0u26w/640?wx_fmt=jpeg&from=appmsg&wxfrom=5&wx_lazy=1&tp=webp#imgIndex=0
大家好,我是人月聊IT。今天继续聊AI软件工程方面的话题,继续继续测试和验证采用AWS的Kiro进行Spec Coding的方式进行编程。


注:上图是我提供给AI的原型参考界面。当前Kiro AI IDE工程已经完全开放注册,新用户可以送500积分,大家也可以下载和试用。在上一篇文章已经介绍了Kiro提供的Spec定义和Plan任务规划模式,会基于原始需求先生产需求文档,设计文档,编码任务文档,然后再开始后续任务的执行。注意这个Task任务规划太重要了,核心原因就是可以分步骤手工去执行,而不是一次处理完所有工作任务,同时在每个任务执行完成后,AI自动会写单一测试运行进行测试和验证,最终输出结果。

同时对于执行完成的任务,有一个View Change按钮,可以清楚地看到本次任务实际对所有的源代码文件具体的修改和变化点,方便检查。

这个又是一个相当重要的功能,方便我们进行检查。同时对于每一个Task任务完成后,AI都会输出一个任务完成总结。



同时对于每一个任务完成后都会新写一个Python代码进行单元测试。

执行到任务5完成后,已经可以正常登录。



同时每一个Task任务除了实现完成进行验证外,还会输出详细的实现文档,类似数据库,进行完成init_db数据库初始化后会输出实现文档。

当然,在整个过程中,还是发现一个问题。即当前的测试和验证更多是通过编写python代码进行代码测试,但是没法进行模拟人一样登录进行黑盒测试。这个也是我原来一直强调的,后续AI-IDE功能一定会增加类似集成了PlayWright MCP工具后的模拟人一样的类似RPA机器人一样的黑盒测试能力。会增加类似人一样的界面UI的多模态视角识别能力。同时还会有一个详细的quickStart手册。

在启动完成后端和前端后,程序即可以正常访问。最终的目录结构如下:

好了,最终还是谈下问题。虽然说Kiro一次任务完成率的效果相当好,但是中间交互过程中仍然出现了一些小问题需要通过交互修正。具体包括:1)任务完成后,存在源代码文件语法错误,我交互提示后,自己发现是依赖库没有完整安装,后面再次执行后自己解决了问题。2)用户登录功能做完后,我实际访问无法正常登录,提示用户名和密码错误,后续发现是Database数据库的位置和路径存在问题导致。3)登录界面出现屏闪反复刷新问题,后面自己检查发现是API路由配置问题导致,自己解决。4)还有一次仍然是登录问题,需要我协助同通过浏览器F12的异常报错反馈,然后AI自己修复了问题。但是注意,虽然仍然在一次完全做对上面有一些小问题。但是经过个人验证,实际Kiro在每一个Task任务完成后,自己写的Python的单元测试用例和执行是我使用过的所有IDE工具中测试场景覆盖最全面的,基本上各种主场景,分支场景,边界场景全部都会有测试用例执行覆盖。这点是绝对值得表扬的。所以体现出来就是一个Task任务实际完成只花了1分钟时间,但是AI Kiro运行各种单元测试用例并验证至少要花3到5分钟时间才能够全部完成。只有所有的单元测试全部通过后,Task任务才会标记为通过。

由于每完成一个Task任务都要进行详细的单元测试,这就明显导致这个编码完成的效率降低。比如我上面的周报填报系统,运行了2个小时的时间,只完成了28个任务列表中的7个任务。

登录后的系统首页如下:

大家可以看下用户管理,部门管理,菜单管理等几个功能。





周报模板管理

周报模板数据对象配置,这个功能实现完全符合要求,可以支持多个数据对象配置,同时每个数据对象还可以配置多个数据项。完全匹配我当初的需求内容。

周报待我填报界面:

进入到某一个周报进行填报,类似我前面配置的产品经理周报,可以看到产品经理填报界面和我前面配置的周报模板界面完全一致。但是在进行填报的时候出现重大理解错误,也就是填报的时候不支持要给数据对象填写多行数据。因此继续交互修正错误。

注意对于这个多行编辑,AI分析为一个大的变更或重构,会超过当前上下文会话的长度。因此AI会建议你开启一个新的会话进行处理,同时会将当前会话的关键内容和下一步的行动进进行总结,然后你直接拷贝后输入给新开的会话即可,这个地方整体实现思路也相当不错。

接着让AI以MVP最小模式完成上面这个多行编辑大变更。

从前面已经完成的登录,系统管理,周报模板配置,首页,统计分析等功能来看,整体完成度相当高。Kiro进行Spec Coding的方式试用下来仍然是一个推荐的模式。因为这个案例我用相当多的工具进行过测试,相当来说Kiro这种Spec驱动的方式仍然是交互次数最小的方式。但是唯一缺点还是整体等待时间长,如果AI输出效率能够大幅度提升一期,那么Kiro一定是我强推的当前最佳AI辅助编程IDE。今天的分享先到这里,谢谢大家。
页: [1]
查看完整版本: AI重塑软件工程04-Spec Coding-基于Kiro AI IDE的周报系统开发02