当业界热衷于讨论各种 Agent 框架的编排能力或推理模型的参数规模时,一个根本性的问题往往被忽视:如何从软件工程的视角系统化地构建生产级别的 AI Agent 系统?Ahmed E. Hassan 提出的 Structured Agentic Software Engineering(SASE)方法论正是为了填补这一工程化实践指南的空白。SASE 将 AI Agent 的开发从「调参写 Prompt」的随机行为,提升为可定义、可重复、可审计的软件工程活动,为团队提供了从概念到落地的完整方法论框架。
SASE 方法论的核心定位
SASE 将当前的软件开发时代定义为 SE 3.0—— 即 Agentic Software Engineering 时代。在这个范式下,自主 AI Agent 不再仅仅承担代码补全或简单问答的角色,而是负责端到端地达成复杂的、目标导向的软件工程任务。与传统的软件工程 1.0(纯人工编码)和 2.0(人类编码 + AI 辅助补全)相比,SE 3.0 的核心特征是 AI Agent 成为真正的「工程参与者」,与人类工程师形成混合团队,共同承担从需求分析到部署运维的全生命周期工作。
这种方法论的核心价值在于它不是简单地告诉开发者「用什么工具」,而是系统性地重新定义了软件工程的四大基础要素 —— 角色(Actors)、流程(Processes)、工具(Tools)、工件(Artifacts)。每一个要素都被赋予了面向 Agent 协作的特定内涵,形成了一套可操作的工程实践体系。
四大支柱:重新定义软件工程的基础
角色(Actors) 是 SASE 方法论的第一个支柱,它定义了混合团队中的人类与 AI Agent 各自承担的责任。人类在 SE 3.0 中的角色发生了根本性转变:从「编码者」变为「Agent 教练」(Agent Coach),专注于意图定义、策略制定、治理监督和知识传承。这种转变要求人类工程师具备一种全新的技能组合 —— 不再是精熟某门编程语言的核心语法,而是能够清晰地表达业务目标、设定约束条件、评估 Agent 输出质量,并及时提供有价值的反馈。AI Agent 则被赋予更细粒度的专业分工:规划 Agent 负责任务分解和路径规划,编码 Agent 负责代码生成和实现,测试 Agent 负责验证和回归检查,审查 Agent 负责质量把控,数据 Agent 负责信息检索和知识管理。这种专业分工使得每个 Agent 可以在其擅长的领域深度打磨,而人类教练则负责整体协调和质量最终把关。
流程(Processes) 是第二个支柱,它强调从随意的 Prompt 工程升级为显式化、可版本控制的工作流。传统软件开发中,我们有需求分析、设计、编码、测试、部署等标准流程,但在 Agent 开发中,这些流程往往被简化为「给 Agent 一个 Prompt,等它返回结果」的粗糙模式。SASE 方法论主张为 Agent 协作设计完整的流程规范:何时进行任务分解、如何设定检查点、Agent 之间如何进行交接、什么情况下需要回调人类进行确认、任务失败时的重试策略是什么。这些流程不再是隐性的组织知识,而是被编码为可复用、可审计的显式规则。这种流程化的好处是显而易见的 —— 它使得 Agent 的行为变得可预测、可控、可复现,也使得团队能够对 Agent 的表现进行系统性的度量和改进。
工具(Tools) 是第三个支柱,SASE 将其解构为面向人类的「指挥舱」和面向 Agent 的「执行场」两个层面。Agent 命令环境(Agent Command Environment,ACE)是人类工程师的「任务控制中心」,它提供了任务目标设定、上下文管理、输出审查、证据检查和多 Agent 编排等功能。在 ACE 中,人类可以编写和编辑 BriefingScripts(任务简报脚本)、LoopScripts(循环脚本)和 MentorScripts(指导脚本),管理 Agent 生成的 Consultation Request Packs(咨询请求包,CRP)和 Merge-Readiness Packs(合并就绪包,MRP),并做出最终决策。Agent 执行环境(Agent Execution Environment,AEE)则是 Agent 的运行时基础设施,针对大规模、并行、机器速度的工作负载进行了优化。AEE 集成了代码编辑器、测试运行器、语义搜索、监控和外部 API 调用等工具,支持自动化的规划、任务分解和反馈循环。ACE 与 AEE 的分离是 SASE 的关键设计决策 —— 人类侧需要可读、可审计、可解释,而 Agent 侧则需要最大化效率和并行度。
工件(Artifacts) 是第四个支柱,也是 SASE 最具创新性的设计。在传统软件工程中,我们有需求文档、设计图、代码、测试用例等标准工件;但在 Agent 开发中,大量有价值的交互信息 ——Prompt、上下文、决策理由 —— 往往随着对话结束而流失。SASE 方法论主张用结构化、可版本化、可追溯的工件来替代这些临时性的交互。具体而言,BriefingScripts 是任务级别的规格说明,捕获目标、约束、上下文、接口和明确的成功标准,是人类向 Agent 传达意图的核心载体。LoopScripts 定义了 Agent 如何分解工作、并行化任务、设置检查点,以及何时重试、升级或终止,编码了控制流模式。MentorScripts 将人类的专家知识、标准和防护规则编码为可复用的「指导策略」,让 Agent 在工作中能够参考团队的技术规范和安全约束。Consultation Request Packs 是 Agent 在遇到歧义、冲突、缺失上下文或高风险决策时生成的结构化升级包,包含问题描述、相关证据、已考虑的选项和初步建议,使 Agent 能够「调用」人类专家而非盲目猜测。Merge-Readiness Packs 是 Agent 组装的证据包,用以论证某项变更已准备好合并或部署,包含差异、测试结果、性能基准、风险评估和溯源链接,支持可审计的代码审查流程。Version-Controlled Resolutions 是人类决策和澄清的第一类工件,记录关闭 CRP 或调整任务的决定,确保模糊的调用、风险权衡和政策解释都是可追溯和可回放的。
实践路径:从方法论到工程落地
将 SASE 方法论转化为工程实践,需要团队在以下几个方面形成共识并建立基础设施。首先,需要重新定义人类工程师的角色定位和能力要求。人类不再是代码的直接生产者,而是 Agent 系统的设计者、教练和最终质量把关人。这意味着团队需要投入资源培养「Prompt 工程」和「Agent 编排」的能力,而不是单纯追求某项编程技能的熟练度。
其次,团队需要建立结构化工件的开发规范和版本控制流程。BriefingScripts、LoopScripts、MentorScripts 不是普通的文档,而是需要像代码一样进行版本管理、代码审查和持续迭代的工程资产。建议从最小可行集开始 —— 先定义 BriefingScript 的模板和编写规范,建立 CRP 的触发条件和处理流程,再逐步扩展到 LoopScripts 和 MentorScripts。
第三,ACE 和 AEE 的搭建可以分阶段进行。初期可以使用现有的开发工具链进行模拟,通过脚注和约定来区分人类侧和 Agent 侧的活动;随着团队对 Agent 协作的熟练度提升,再逐步投资建设专用的任务控制台和 Agent 运行时环境。关键是保持方法的连贯性,而不是等待完美的工具链就绪才开始实践。
SASE 方法论的核心启示在于:AI Agent 的成功应用不在于模型本身的智能程度,而在于围绕 Agent 构建的工程化体系是否足够健全。当团队能够系统化地定义角色、流程、工具和工件,能够对 Agent 的工作进行有效的监督、审计和改进,Agent 才能从实验性的「智能玩具」转变为可信赖的软件工程参与者。
资料来源
本文核心内容来源于 Ahmed E. Hassan 提出的 Structured Agentic Software Engineering(SASE)方法论,详见其研究论文《Agentic Software Engineering: Foundational Pillars and a Research Roadmap》及公开的 Agentic SE Book 指南。