半可执行栈:软件工程边界正在扩大
TL;DR
Feldt(Chalmers)在 Agentic Engineering 2026 主旨演讲中提出六环诊断模型:软件工程制品按可执行程度从「可执行代码」扩展到「半可执行制品」(prompt、policy、route)。边界在变,但行业普遍缺少定位语言。
核心观点:过去几期讨论的「Agent-Friendly Documentation」「Spec-First」本质都落在「指令制品」环。本文给出的是定位语言,而非又一套 Agent 框架。
1. 软件工程的边界在哪里?
传统定义里,软件工程是「把需求变成可执行代码」的活动。边界清晰:需求 → 代码 → 运行。
但 Agentic Engineering 时代,这个边界正在模糊:
- prompt 是代码吗?能执行,但不确定性
- policy 是代码吗?约束行为,但部分靠人解释
- route 规则是代码吗?指导决策,但依赖概率
这些「半可执行制品」越来越多,但行业没有统一的语言来描述它们的位置。
2. 六环诊断模型
Feldt 的六环模型按「可执行程度」对软件工程制品分层:
┌─────────────────────────────────────────────────────┐
│ 六环诊断模型(按可执行程度) │
│ │
│ 第6环 │ 社会制度适配(法律、监管、文化) │
│ 第5环 │ 运行逻辑(生产环境行为) │
│ 第4环 │ 控制(监控、告警、恢复策略) │
│ 第3环 │ 编排执行(工作流、CI/CD、调度) │
│ 第2环 │ 指令制品(prompt、policy、route) │
│ 第1环 │ 可执行制品(代码、配置、测试) │
│ │
└─────────────────────────────────────────────────────┘
各层特征
第1环(可执行制品):代码、配置、测试。确定性执行,行为完全由机器解释。
第2环(指令制品):prompt、policy、route 规则。行为部分由人解释、部分由概率解释。能执行,但输出不确定。
第3环(编排执行):工作流、CI/CD 流水线、调度逻辑。定义了何时执行,但不关心执行什么。
第4环(控制):监控、告警、恢复策略。定义了系统在异常时如何响应。
第5环(运行逻辑):生产环境的实际行为。只读观察,不可直接修改。
第6环(社会制度适配):法律合规、监管要求、文化约束。最外层,约束整个系统。
3. 为什么这是被忽视的盲区
过去十几期讨论的议题,本质上都落在某个环上:
- 「Agent-Friendly Documentation」→ 第2环(指令制品)
- 「Spec-First」→ 第2环(指令制品)
- 「可追责性」→ 第4环(控制)
- 「CI/CD 智能化」→ 第3环(编排执行)
但我们一直缺少一个统一的定位语言——不是又一套框架,而是让大家知道自己在讨论哪一层。
Stack Overflow 联合创始人 Joel Spolsky 说过:「语言决定思维,思维决定工具。」 当我们没有「半可执行制品」这个词汇时,团队就不会把它当成一类需要管理的资产。
结果是:
- prompt 散落在各个 Agent 的聊天记录里,没有人知道哪个是最新版本
- policy 规则由某个工程师「凭感觉」维护,没有审计记录
- route 决策逻辑藏在代码里,但没有人知道为什么走了这条分支
4. 从暗知识到可审查资产
将半可执行制品变成可审查资产,需要三步:
- 发现:梳理团队所有的 prompt、policy、route 清单
- 登记:每项标注负责人、更新频率、最后校验日期
- 定位:建立栈层定位语言,让每次讨论都知道在第几环
这不是元编程,这是工程系统的自我感知。一个不能感知自己各层状态的系统,注定会在第 2–4 环之间产生大量隐性错误。
5. 对工程师的实际意义
当你听到以下言论时,现在有了定位语言:
| 言论 | 实际在讨论的环 |
|---|---|
| 「Agent 读不懂我们的文档」 | 第2环:指令制品 |
| 「这个 policy 没被遵守」 | 第2环:指令制品 |
| 「CI 跑完但不知道结果对不对」 | 第3/4环:编排执行/控制 |
| 「代码和业务需求对不上」 | 第1环:可执行制品 |
有了定位语言,才能知道该修的是哪一层——是改 prompt,还是改代码,还是改监控。
参考文献
- Feldt, R. The Semi-Executable Stack: Agentic Software Engineering and the Expanding Scope of SE. Agentic Engineering 2026. https://arxiv.org/html/2604.15468
💬 评论
💡 使用 GitHub 账号登录 即可参与讨论