我的AI Vibe Coding实践
最近想实现一个文档管理的功能,考虑到当前AI编程很流行就想实验一下。本次选用的AI工具是腾讯的CodyBuddy。目前此App已经完成了核心功能的开发,代码在托管在Gitcode中,点击访问my_doc:个人文档集中管理 - AtomGit | GitCode可以下载源码和编译好的apk。
需求设计
为了让AI深入理解我的需求,于是简单写了[需求文档](my_doc/doc/设计文档.md · u011853712/my_doc - AtomGit | GitCode)。大致介绍了App的主要功能,一共几个页面,每个页面完成哪些功能,总字数300左右。然后就将需求抛给AI生成了代码。
为了方便后续的描述,贴一下应用的核心页面的截图。
-
详细页
详细页主要以树形结构展示当前主题下的所有文件夹和文件。下半部分是当前选中对象的预览区域,预览区域上边带工具栏,可以对当前选中对象进行打开、分享、移动和删除操作。

-
目标选择页
用来选择移动或者分享的目标
AI编码
为了防止AI不完全理解我的意图,我并没有让AI直接生成代码,而是先给出了设计方案。AI展示了自己的实力,很快给出了完整的设计方案,包括DB字段的设计,核心接口等都给的很完善。于是就让其开始生成代码。
编译环境
但是由于本地环境(Java版本、Android Studio的版本、Kotlin版本等)因素代码无法编译通过,来回将错误提示发给AI,费了不少精力才完成编译,完成编译后代码就能顺利运行起来了,确实也实现了核心功能。
这里提醒大家,可以先手动创建一个工程。然后让AI去生成代码。
需求没考虑全面
代码运行起来后发现最初的想法有点简单,需要加一些新的功能:
-
支持接收外部分享(比如从图库分享到应用)
-
支持分享文件到外部应用(比如分享文档到微信)
-
支持移动文件和文件夹到其它主题
当我把这些新功能提交给AI后,AI确实实现了这些功能,但是发现了如下问题:
-
所有页面的数据管理功能实现在了同一个类中。
-
UI组件没有预览
-
代码运行起来有错误
手动排错
看着AI生成的繁琐代码没忍住自己开始手动修改代码,经过简单的review,就开始修改。稍微深入以后才发现自己并没有完全了解AI的设计,AI使用的复杂API自己还没有熟悉,项目进程一下子慢了下来。经过自己的不懈努力,终于将核心的数据管理拆解城了单独的ViewModel去管理,顺便加深了自己对ViewModelFactory的认识。
对于习惯了AI的我来说,手动写代码和调试速度实在是慢,决定还是重回AI的道路。
Back to AI
这次不在执拗于和AI比设计,而是将其看成一个亲密的伙伴和助手,将自己的想法和意见完全的输入给AI,在AI工作时自己去熟悉其设计,从而提出更多的改进意见和需求完善。这个模式坚持到了最后。自己也基本理解了50%左右的代码细节。
总结
经过项目实践,发现使用AI的方式决定了我们的效率。作为开发者最好能掌控需求和核心的方案设计,并且及早得同步给AI。目前发现只要主要输入条件足够详细,AI是很少会犯低级错误的,完整的需求设计和正确的方案是快速交付的关键。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)