2026软件工程学术研究癔症

癔症犯了

学术研究软件工程
本页总阅读量 加载中...

过去

距离我开始读博士已经过去了4年,世界发生了翻天覆地的变化。大语言模型(LLM)的出现极大地改变了这个世界,同时也极大的影响了学术圈。近几年软件工程领域的学术研究也受到了LLM的冲击。有意思的是,在2023年之前,SE的研究可以分为传统软工和新型软工。新型软工就是利用AI的技术来解决SE问题(AI4SE)。在2023年之后,之前的新型软工也被扫进历史的垃圾堆里成了传统软工,LLM4SE已经是Top会议的单独一个field。

未来将会如何发展呢?以前我从来没想过要写一篇短文来展望未来的SE社区。可能是因为我的视野总是聚焦于我自己的小方向上。现在没有毕业压力,自己也在学术圈里沉淀了4年,所以现在可以尝试着记录我对这个领域的思考,期待等等。不过我想大部分还是天马行空

2026

首先,软件工程的研究对象是软件开发。Agent编程是我觉得2025年中到目前为止给软件开发带来最大冲击的技术。Agent编程极大的降低了任何一个人开发软件的门槛。这是一个新现象,围绕着这个新现象,或许可以展开很多有意思的研究。

首先就是Multi-agent软件开发,是否需要一个新的开发模型?什么样的开发模型最合适?在过去,软件开发过程有多种多样的模型,比如瀑布模型,测试驱动,模型驱动,规约驱动,敏捷开发(极限编程,Devops)等等。上述提到的并不一定是完全精准。总是,我想表达的是以什么样组织multi agent,他们之间的开发又遵循一个什么样的原则,才能取得更好的有效性?

在Codex,Claude Code里,都涉及到一个叫Skill的概念。Skill就是将某个技能通过markdown来描述,然后可能包含一段python代码,用来执行一个特殊的任务。SKill在一定程度上降低了普通人使用LLM的门槛,差不多是让LLM自己开发自己需要用的tool,而用户只需要描述tool的功能即可。类似的平台还有扣子编程等。

那么,SKill该怎么开发?怎么保证Skill被正确的开发了?不同SKill之间如果形成了依赖关系,那么我们是不是有可能对Skill进行静态分析?Skill的安全漏洞怎么办?Skill可以被视为自然语言与编程语言的混合体。围绕这个混合体,我想应该也有一系列必要的问题需要被解决。

2025年,以及最近,是LLM的benchmark井喷的一年,但是从研究者的角度来看,这么多的benchmark其实意义不大,感觉很多都是为赋新词强说愁,例如那个用LLM模拟docker执行环境的。过去benchmark可能一两年才有一两个,现在一年就冒出来十几个。这对于做工具的人来说是极其不友好的,而且我们在SWE-bench上真的已经取得了令人满意的结果了吗?

对于LLM,Agent,他们的评估确实很重要,但是一下子冒出这么多数据集的工作也给我一种“矫枉过正”的感觉。不过也有可能是我盲人摸象看不清研究趋势,毕竟Agent+SE这个领域太火爆,短短几个月就把数据集榨干了也不是没可能。

对于AI debug,我关注最多的是故障定位问题。现在的Agent基本都是end2end的,基于PR的,所以有一个好的定位方式很大的影响了模型最后的性能。过去有非常多不同的定位方式,这些方式还没有一一作用在Agent上验证他们的效果。我觉得这是未来一个不错的方向,而且过去一年我也看到了一些专注于localization的论文。