之前接到一个简单的任务,需要实现一个设备管理模块,不愿意写简单代码,刚好最近公司开通codebuddy(AI辅助工具),尝试用它来完成这个任务
我根据IPD流程,将这个任务细化为需求、设计、开发、测试阶段,并在每个环节分别评审, 确保满足需求,以及程序正常。
首先根据自己对需求的理解,将项目需求细化并通过对话告诉AI
我现在希望生成一个设备管理模块代码,在生成代码前先给出你的设计方法,待我确认后再生成代码。需求如下所示 :
1. 支持管理最多100个设备,支持设备的增删改查以及判断设备是否存在。
2. 提供对外头文件
3. 要求线程安全,尽量减少锁粒度
AI根据我的需求,提出了一点需要确认的,就是最终是在linux上还是windows上运行。我补充道,
是在linux上
AI根据我的补充,生成了一个方案,我检查方案后,发现它准备用C++来实现,但实际上我是希望用C来实现的,于是我补充需求
请用C语言来实现”
AI重新给出了答案,并针对由于 C 语言没有面向对象、没有 std::shared_mutex、没有 std::unordered_map 等 STL 设施,在设计上做了调整改为手写实现。 经过核对我发现AI设计满足需求,于是我跟AI说
请生成代码
我简单查看AI生成的代码,没发现什么大问题。于是让其生成测试用例,并生成可测试的demo进行验证
请针对需求和代码,进行所有必须的测试,包括单元测试、功能测试、性能测试等,并且生成一个可测试的demo
AI生成demo后,我运行编译在linux上,发现用例全部通过。
最后我将代码给一个大模型评审,评审后将几点意见反馈给当前AI,经修改完成了代码。就此项目完成,前后只花了3个小时。
在这个项目开发中,我是负责所有评审的,但评审也可以由另一个AI模型来实现。 未来项目开发每个阶段可能都会有对应的skill来实现,形成需求分析skill、方案设计skill、代码生成skill、代码评审skill、测试用例生成skill、测试代码skill, 另外还有设计评审skill、代码评审skill、测试用例评审skill等。 这些skill会合并成为agent,为了将开发和评审解耦,会有两个基于不同模型的agent,一个负责开发,一个负责评审, 实现任务的完整闭环。
未来我需要做的就是决定做什么,以及判断做出来的成果物好不好。 我需要具备是判断和审美能力。 由于AI无法操控设备,很多物理世界的操作(比如物理世界进行系统测试以及安装调试)也需要人来完成。


被折叠的 条评论
为什么被折叠?



