夜雨聆风学习资料网

ARTICLE · 1110156

软件工程和智能体软件工程

软件工程和智能体软件工程
我一直认为智能体需要软件工程,但今天或许我们可以认为软件工程也需要智能体。
我最早用编程助手辅助开发,架构基于编程助手开发的工程,完全基于脑子里面的一厢情愿,在waitagent(以及其他仓库)里面构建起一坨看起来还不错的工程组织,有模有样。然而经历4个月重度开发,仓库开发节奏并未变得更加清晰,反而陷入意面式毛线球状态,由此萌发做完整的智能体基础理论研究和阅读念头。在AI老师的辅导下精读数十篇智能体理论和工程相关论文之后,重新构建起当前waitagent和looming的工程架构体系。
软件工程不愧从一诞生就是实践学科,这样的工程架构体系也应用到我的日常工作内容。一定能帮助到别人吗?从理论上来说,若大家都遵循最佳实践,毋庸置疑,但是实作上未必那么理想,但是对我自己的帮助是真切的。
我今天在waitagent、looming、cteno的开发上,已经可以做到告诉编程助手初步功能规格,然后编程助手自行创建issue,做领域分析,拆分feature,测试开发,做CICD等一系列流程,最终达成质量目标并合并。这样的流程当然也会用到我的所有应用开发场景。顺带一提,我用这样的实践来开发looming,而looming的目标正是将这样的实践做成自助自动配置的组件式解决方案。完美的自举对吧?
缺点当然也有,token烧得更快了!7天的额度常常3天就烧完了!
我认为软件工程也是需要智能体的。我们今天回去看软件工程,人们为了软件项目最终成功,引入大量review环节和工具,来保障信息一致性。但人类对于多来源信息,往往并不会强求一致性,由此导致代码和文档偏移、文档和文档偏移等,从而留下一堆数字垃圾。但对于智能体并非如此,人类费尽心力核对代码和文档的一致性,在智能体这里自然能够得到遵循。CI失败如果出现文档和代码不一致,人类大抵是不会费力修正的,但是智能体将会严格修正。这不正是我们实践软件工程梦寐以求的目标吗?
尽管我们从prompt engineering到loop engineering,工程层面已经有长足进步,但显然今天大部分用户对于智能体的使用并未遵循工程实践。科学解决人和自然的问题,工程解决人和人的问题,或许只有将智能体当作写作环节的执行角色,并从流程设计上赋予相应地位,我们才能真正让软件工程和智能体工程结合。当然,前提是愿意在CICD,Review等软性环节投入更多Token。这个前提说起来简单,实作起来障碍多多,但无论如何,就算只从个人层面来实践,对自己也是帮助良多。
上述两篇是最近研读论文和前沿实践的心得。资料若有人有兴趣,可评论获取,都是公开资料,因此我不生产知识,我只是知识的搬运工。

相关学习资料