Agentic Software Engineering: Foundational Pillars and a Research Roadmap
-
ArXiv URL: http://arxiv.org/abs/2509.06216v1
-
作者: Bram Adams; Dayi Lin; Ahmed E. Hassan; Hao Li; Tse-Hsun Chen
-
发布机构: Concordia University; Huawei; Nara Institute of Science and Technology; Queen’s University
结构化智能体软件工程(SASE):基本支柱与研究路线图
1. 引言
随着能够编写、测试和提交代码的强大自主智能体(AI teammates)的出现,软件工程(Software Engineering, SE)领域已从AI增强开发时代(SE 2.0)迈入了更强大的智能体软件工程(Agentic Software Engineering, SE 3.0)时代。然而,尽管智能体的生产力惊人,但其产出的代码在真正达到“可合并”(merge-ready)的质量标准方面仍存在“速度与信任”的鸿沟,这导致人类开发者在审核环节不堪重负。
为了解决这一根本矛盾,本文提出了一个名为结构化智能体软件工程(Structured Agentic Software Engineering, SASE) 的愿景。SASE的核心论点是引入一个结构化的二元性,认为SE领域必须同时服务于两种截然不同的模式:
- 面向人类的软件工程(SE for Humans, SE4H):将人类的角色重新定义为“智能体教练”(Agent Coach),专注于高层意图、战略和指导。
- 面向智能体的软件工程(SE for Agents, SE4A):为多个智能体建立一个结构化、可预测的操作环境。

这一二元性要求对SE的四大支柱——行动者(Actors)、流程(Processes)、工具(Tools)和产物(Artifacts)——进行系统性的反思。为此,SASE提议用两个专门构建的工作台取代传统的集成开发环境(Integrated Development Environment, IDE):
- 智能体指挥环境(Agent Command Environment, ACE):为人类教练设计的指挥中心,用于指定意图、编排工作流和审查结果。
- 智能体执行环境(Agent Execution Environment, AEE):为智能体打造的数字工作台,优化其计算和执行能力。
人类与智能体之间的交互不再是临时的聊天,而是通过一系列版本化的、机器可读的结构化产物进行的结构化对话,如人类编写的 \(BriefingScript\)(任务计划)、\(LoopScript\)(工作流手册)和 \(MentorScript\)(最佳实践指南),以及智能体生成的 \(Consultation Request Packs (CRPs)\)(咨询请求包)和 \(Merge-Readiness Packs (MRPs)\)(合并就绪包)。本文旨在提供一个概念框架,激发社区对SE未来的广泛讨论,并最终提出一个研究路线图。
2. 从“代理”到“自主”:AI在软件工程中的分层框架
为了在更广阔的视野中定位SASE,本文提出了一个类似于汽车行业自动驾驶SAE等级的AI能力分层框架。该框架首先区分了两个核心概念:代理(Agency),即系统为实现给定目标而行动和执行计划的能力;以及自主(Autonomy),即系统自我管理并独立制定目标的能力。
Level 0: 手动编码 (No-AI SE) [SE 1.0]
- 典型用例: 无AI映射。人类通过打字将想法手动转化为Token。
- 技术体现: 记事本、vi、emacs等纯文本编辑器。
- 汽车自主性并行 (SAE Level 0): 无自动化。
Level 1: Token辅助 (AI增强编码) [SE 1.5]
- 典型用例: 将开发者当前的编辑意图映射为预测的Token。
- 技术体现: 现代IDE中的标准自动完成功能。
- 汽车自主性并行 (SAE Level 1): 驾驶员辅助。
Level 2: 任务-代理 (AI增强SE) [SE 2.0]
- 典型用例: 将计划好的代码变更(如函数描述)映射为完整的代码块。
- 技术体现: GitHub Copilot, Amazon CodeWhisperer。
- 汽车自主性并行 (SAE Level 2): 部分自动化,人类需持续监控。
Level 3: 目标-代理 (智能体SE) [SE 3.0]
- 典型用例: 将一个技术目标(如“增加一个缓存层”)映射为详细的代码变更计划。
- 技术体现: 新兴的智能体,如Cognition的Devin、Anthropic的Claude Code和Google的Jules。
- 汽车自主性并行 (SAE Level 3): 有条件的自动化,驾驶员必须准备好随时干预。
Level 4: 特定领域自主性 [SE 4.0]
- 典型用例: 将特定领域的广泛技术指令(如“确保支付服务的可靠性”)映射为具体的技术目标列表。
- 技术体现: 这是前沿领域,大型语言模型开始专攻特定技术栈(如前端Web开发)或特定质量属性(如安全性)。
- 汽车自主性并行 (SAE Level 4): 高度驾驶自动化,但限制在特定地理围栏或天气条件内。
Level 5: 通用领域自主性 [SE 5.0]
- 典型用例: 将通用的技术指令(如“确保我们所有系统都稳健”)映射为任何陌生领域的特定技术指令。
- 技术体现: 目前仍处于概念/研究阶段,尚未实现。
- 汽车自主性并行 (SAE Level 5): 完全驾驶自动化,可在任何道路和条件下行驶。
本文提出的SASE愿景专注于成功驾驭SE 3.0(即智能体SE)时代所需的产物、流程和工具,因为这是当前行业面临的最紧迫的挑战。
3. 智能体软件工程的兴起
3.1 工业相关性
软件工程已成为展示生成式AI投资回报率(ROI)的主要试验场。这得益于几个因素的独特融合:
- 高成本劳动力:工程师薪水高,即使是微小的生产力提升也能带来巨大的经济回报。
- 丰富的训练数据:代码仓库、问题单和提交历史构成了知识工作领域中最庞大、结构最完善的数据集之一。
- 可衡量的结果:编译器错误、测试结果等清晰的成功指标为强化学习(Reinforcement Learning, RL)提供了有效的奖励函数。
- 强大的安全网:自动测试和CI/CD流水线降低了模型在实践中部署失败的风险。
这种工业界的聚焦已将智能体软件工程从理论概念推向了战略层面,引发了各大科技公司在定义和主导这一新兴市场上的激烈竞争。
3.2 什么是智能体及近期关键观察
“智能体”的概念仍很模糊。本文根据代理(执行计划)和自主(制定计划)的程度对其进行划分:
- 工作流智能体(Workflow Agents):具有高代理性。其高层逻辑由人类硬编码,主要负责执行预定义计划。
- 自主智能体(Autonomous Agents):具有高自主性。给定高层目标后,能自主规划、推理并调用工具来完成任务。
自主智能体代表了一种根本性的转变,即从显式编码逻辑转向用自然语言描述行为,形成了一种可用散文来编程和重构的“FMware”。
3.3 SWE-Bench等基准测试上的智能体解决方案简述
对SWE-Bench(评估大模型SE能力的事实标准)的深入研究表明,当今大模型生成的代码远未达到可合并的标准:
- 29.6%的“看似合理”的修复在严格重测后引入了行为回归或被证明是错误的。
- GPT-4补丁的真实解决率在手动审计后从12.47%降至3.97%,大量解决方案只是表面修复。
- AI智能体倾向于生成仅限于单个文件的肤浅补丁。
- 许多通过单元测试的补丁因代码风格或隐藏的回归而无法通过更广泛的CI检查。
3.4 GitHub数据中的野外智能体解决方案简述
大规模开源活动分析证实,智能体正重塑开发工作流。GitHub Copilot完成一个拉取请求(pull request)的中位时间仅为13.2分钟。不同智能体在不同任务类型上表现出高接受率。然而,这种超高生产力也带来了严峻挑战:代码审查成为主要瓶颈,超过68%的智能体生成PR面临长时间延迟或无人审查。这凸显了对可扩展审查自动化的迫切需求。
4. 激励性示例:智能体软件工程工作流剖析
本文通过一个具体例子来展示智能体SE时代的机遇与挑战:一名开发者在1.5小时内通过编写详细的自然语言规范,指导一组智能体异步工作,并行生成28个不同的PR来解决7个问题单。

这个新工作流暴露了当前流程、产物和工具的差距,而SASE正是为解决这些差距而设计的。
4.1 新工作流
开发者的角色从编码者(coder)转变为规约者(specifier)。通过触发智能体进行N版本编程(N-version programming),不仅提高了成功的概率,也促进了创造性探索。
4.2 流程与产物差距
-
从模糊工单到可操作的简报包:为避免失败,应将任务规约视为一等产物。本文提出\(Briefing Pack\)的概念,它是一个结构化的、类似于详细工作指令的活文档,包含“做什么和成功标准”、“架构上下文”、“战略建议”和“潜在陷阱”。这可以通过专门的语言\(BriefingScript\)来实现。
-
智能体反馈与指导的多维性:指导智能体是多维度的,包括显式和持久的指导(通过\(MentorScript\)固化最佳实践)、智能体从具体修正中推断的指导、对整个SE流程的反馈,以及对多个备选方案的综合指导。
-
从模糊控制到显式编排:为了让智能体理解任务的“利害关系”,开发者需要一种方式来明确传达所需的严谨程度。\(LoopScript\)作为一种声明性语言,允许教练为智能体定义明确的标准操作程序(Standard Operating Procedure, SOP)。
-
从代码审查到基于证据的监督:人类的认知负担应从审查原始PR转移到审计结构化的合并就绪包(Merge-Readiness Pack, MRP)。MRP是一系列证据的集合,证明智能体的工作在功能完整性、验证的健全性、工程卫生、理由清晰度和可审计性方面是值得信赖的。
4.3 工具差距
-
为人类开发者设计的新工作台——ACE:传统IDE已不适用。人类教练需要一个智能体指挥环境(Agent Command Environment, ACE),用于管理和编排并行的N-N协作。ACE应支持N版本编程、高级程序理解、新产物(如\(BriefingScript\))的创作,以及将人类作为智能体可调用的“端点”(通过\(CRPs\))。语音交互有望成为ACE的主要交互方式。
-
为智能体优化的工作台——AEE:智能体需要自己的智能体执行环境(Agent Execution Environment, AEE)。AEE应配备为智能体而非人类优化的工具,如超强调试器、语义搜索工具和结构化编辑器。它还应具备强大的监控基础设施,自主处理低级问题,只将需要人类战略干预的重大问题上报给ACE。
5. SASE的工程活动
SASE的愿景通过一系列结构化的工程活动来实现。以下活动是一个初步的概念框架,旨在激发社区对话,而非最终定论。
5.1 简报工程(BriefingEng):任务简报的艺术
在SE 3.0时代,工程师的主要产出从实现逻辑转变为清晰无歧义的意图和指导的表达。简报工程(Briefing Engineering, BriefingEng)正是将这一关键技能规范化的活动。
- 目的:将任务简报视为一等产物,确保自主智能体接收到全面、可操作的指令。它融合了需求规约、架构设计、战略建议和测试计划。
- 行动者:人类智能体教练。
- 工作台:所有BriefingEng活动都在ACE中进行,AI可辅助教练撰写高质量的简报。
- 产物:\(BriefingScripts\)。这是一种结构化的、版本可控的、机器可读的文档。它并非僵化的瀑布式规约,而是在与智能体迭代交互的过程中不断完善。该活动借鉴并改编了需求工程(Requirements Engineering, RE)和敏捷/Scrum社区的原则,以适应智能体环境。