ARTICLE · 1204358
Agentic软件工程实践
Agentic软件工程实践软件工程是一种观念和实践,实践软件工程需要认知层面对软件工程先有概念,且可以认同软件工程为团队协作、质量保证带来的效用。例如当我们做一个标准产品,对于需求工程的理解,有人会知道要理解客户需求,要理解扩展性需求,要理解功能性需求,要理解非功能性需求,但是有人会认为将客户提的需求用excel整理一下使其更规范好看。这是两种完全不同的认知水平,显然后者没法实践软件工程。 然而认知提升非一朝一夕。倘若我不是一毕业就自甘堕落进入乱七八糟的公司,其后又经历各种乱七八糟的团队和行业,再后又折腾和贡献过一些乱七八糟的开源软件,对于软件工程的认知大概也只能是知道软件工程这个名字,遑论观念。所以来时路都是交的学费,不会白走。很直的路让人走的昏昏欲睡固然舒服,但弯弯曲曲的小径亦可让人领略别样风情。毕竟人来世上的第一要务是活着,活着之后剩下的时间和精力不去折腾那活着做什么? 但这篇不想做批判和训导,尽管批判和训导会让自己觉得很爽!我想说说looming开发中的实践,和为什么我想把这些实践固化到looming里面去。BTW,looming也是一个我想用来规范Agentic开发流程的工具。当然,目标和waitagent一样,还是帮助我自己,至于别人用不用,不可强求。waitagent到今天用户当然还是只有我自己,但是我自己用得很爽,在多开窗口、断网重连、session状态上确实给了我很大助力,让我的token越发不够烧。 今天我们看FDE和OPC都很流行,但这样的流行更多是一种概念的流行,实践上大家都在用智能体这个新瓶子妄图将旧内容都装进来。FDE可能已经不那么流行了,因为在中国,FDE会很快变成目标企业的免费劳动力,这是中国的企业环境决定。Palantir的Echo拥有定义业务的权利,然而中国的FDE都是外包干活,这是我从一开始就不看好FDE在中国这篇土壤的前景的原因。不能用一线实践反过来定义业务,所有的FDE都是收钱干活的一锤子买卖。 对于缺乏软件工程观念认知的开发者,会发现和AI的交互并没有想象中那么提效。他们的瓶颈往往出现在智能体不能遵守约束、智能体给不出足够好的方案、智能体写不出足够好的代码、智能体多开的时候人的注意力不足等早期方面。然而因为大部分中国开发者,当然不止于开发者,即便是业务需要要做软件开发的公司,大部分对于CI、code review、QA、主干分支开发实践也都是缺失的。然而这些都是软件开发的基础设施,拥有完备软件工程基建的公司不一定能产出高质量软件产品,但是缺乏这些基建的公司一定不能产出高质量软件产品。质量来自于过程,而非来自于某个很强的coder。没有CI和QA,开发者当然只能一遍一遍调整自己的提示词去和智能体交互,一遍一遍修改自己的代码,然后来手动测试。对的,很多开发者连单元测试、模块测试、集成测试、系统测试、回归测试这样的测试堆栈也不了解,更加不能强求他们会迭代软件项目的测试用例。 当基建完备,开发者会发现瓶颈后移:从开发分支向主干的合并成为最大瓶颈。对于重型项目的CI,例如构建制品超过1G的rust项目,测试和构建往往以小时计算。就算用最强的多核心服务器,在最后的单线程link阶段,也会动辄消耗几十分钟到一小时。而对于需要构建linux内核同时要做回归测试、性能测试等的项目,这更加是一个等不起的时间。一个重型job合并回到主干,往往会堵住一堆小型和中型job。scaling law在这里也不是万能,除非我们能够深度介入语言生态前期开发,然而这完全是另外一个方向。 Looming也并没有能够解决智能体软件工程框架成熟之后的CI瓶颈,这里需要新的方法论,但Looming将整个智能体软件工程需要的工具,全部做成一个框架内的组件化可插拔配置安装形式。Looming是一个同时面向组织和个人的框架,Looming的框架下面可以插入模型网关、统一的Memory/Skills/Tools registry,SCM,issue tracker等,甚至可以和企业登录系统整合。完整形态的Looming部署完是一个智能体软件开发集群,所有插件都不安装,退化到最简单的形态就是今天开发者直接和智能体本地交互本地开发本地存储的形式。我预想将来用户可以一键安装Looming,然后可以自己选择自由选择各种支持的组件,例如模型网关可以插入LiteLLM,SCM可以插入github或self-hostsed的gitlab,issue tracker可以选择SCM里面的issue,也可以选择禅道,jira等流行产品,memory可以用mem3,GptMEM,memory palace,T-Mem等,Looming会提供默认组合,不会限制用户必须只能使用一种。 但是方法论产品是否能用起来,完全取决于每个人的使用习惯,而我当然不具备让大家都跟着我一样使用习惯的能力。毕竟就算是作为行业规范的最佳实践,要想宣导给毫无观念基础的人,也是千难万难,所以就先做一个可以帮助自己的工具吧。















































































