乐于分享
好东西不私藏

AI 时代的软件工程(1):未来产研模式的深度讨论

AI 时代的软件工程(1):未来产研模式的深度讨论

作者:腾讯广告技术-投放平台架构团队

导语

来自作者的声明:本文是个人的想象和思考,不代表任何组织的观点或立场。这里没有内幕消息,没有路线图剧透——只是一个工程师面对正在发生的变化,试着往前看了几步。写这些不是为了贩卖焦虑,恰恰相反——焦虑来自不理解,而思考是焦虑的解药。浪潮不以个人意志为转移,但冲浪的姿势可以选择。觉得有道理就看看,没道理就一笑了之。

核心命题:AI 不会取代软件工程,而是重新定义它。 我们正在经历的不是“工程师被 AI 替代”,而是整个产研系统的结构性重组。

00

软件工程 1.0 → 2.0 → 3.0:三次范式跃迁

图0-1 软件工程三次范式跃迁图示

在展开具体讨论之前,先回答一个根本问题:我们站在软件工程演进的什么位置上?

软件工程在过去五十多年里经历了两次范式跃迁,现在正在进入第三次。每一次跃迁都不是方法论的小修小补,而是“谁来做”和“怎么协作”的底层假设被更换了

一、软件工程 1.0:瀑布流——线性分工,文档驱动(1968 — ~2001)

1968 年 NATO 软件工程会议的核心焦虑是:软件项目为什么总是延期、超预算、质量失控? 答案是“缺少工程纪律”。于是瀑布模型诞生了——把软件开发类比为建筑施工:

需求分析 → 系统设计 → 详细设计 → 编码实现 → 测试验证 → 运维交付    ↓         ↓        ↓        ↓        ↓       ↓  需求文档 → 概要设计 → 详细设计 → 源代码 → 测试报告 → 上线

(一)核心假设

  • 需求可以在开发前被完整定义

  • 每个阶段的产出是下一阶段的输入,回头成本极高

  • 人的角色是“按文档执行”——需求分析师写需求,架构师画蓝图,程序员照着写代码

(二)1.0 做对了什么

建立了“软件开发是工程活动而非艺术创作”的认知,引入了阶段评审、文档规范、测试体系,奠定了整个行业的基础。

(三)1.0 的天花板

  • 假设了需求不变,但真实世界的需求永远在变

  • 反馈周期太长——写完需求到看见可运行的软件,可能隔了 6-12 个月

  • 文档成了目的而非手段——团队花更多时间维护文档而不是解决问题

  • 人被流程困住了——每个角色都在等上游的文档,串行阻塞

瀑布流的本质困境是:它假设软件开发是确定性问题,但软件开发本质上是探索性活动。

二、软件工程 2.0:敏捷 + DevOps——快速迭代,持续交付(2001 — ~2024)

2001 年,17 位开发者在犹他州雪鸟镇签署了《敏捷宣言》,核心观点只有一句话:拥抱变化比遵循计划更重要。

这不是对 1.0 的修补,而是底层假设的翻转:

_

1.0 瀑布流

2.0 敏捷 + DevOps

对需求的假设

需求可以预先定义完整

需求在迭代中逐步浮现

反馈周期

月 → 年

天 → 周(Sprint)

文档角色

阶段交付物,必须完整

够用就好,代码即文档

开发与运维

分离(“扔过墙”)

融合(You build it, you run it)

质量保障

阶段末的测试

持续集成 + 自动化测试

团队形态

职能部门(开发部/测试部/运维部)

跨职能小团队(Scrum/Squad)

表0-1 软件工程1.0与2.0对比

敏捷解决了“需求会变”的问题;DevOps 解决了“代码写完到用户手里太慢”的问题。CI/CD、基础设施即代码(IaC)、监控告警、蓝绿发布——这些实践让“从 commit 到生产”的时间从数周压缩到数小时甚至数分钟。

(一)2.0 做对了什么

  • 把反馈循环从月级压缩到天级;

  • 打破了开发与运维的墙——DevOps 让“交付”成为工程文化的一部分;

  • 催生了微服务、容器化、Kubernetes 等基础设施革命;

  • 让“小团队快速迭代”成为行业共识

(二)2.0 的天花板

敏捷 + DevOps 优化了人与人之间的协作效率,但有一个前提从未被触碰——代码还是人写的。

  • Sprint 再短,一个功能还是需要人写几天代码;

  • CI/CD 再快,pipeline 里跑的还是人写的测试;

  • 微服务拆得再细,每个服务还是需要人来维护;

  • Scrum 站会再高效,本质上还是人在同步信息、拆任务、分工。

(三)2.0 把“人写代码”这件事的效率和协作优化到了接近极限——但人本身的产出速度,成了新的瓶颈

  • 一个 Senior 工程师一天能写多少行高质量代码?答案在过去 20 年几乎没变。敏捷让他不做无用功了,DevOps 让他的代码秒级上线了,但他写代码本身的速度——没变。

三、软件工程 3.0:人 + 数字员工协作交付(2024 — )

2024 年开始,大语言模型 + Agent 框架带来了第三次跃迁。这次改变的不是“需求怎么管理”或“怎么更快上线”,而是一个更根本的问题——代码不再只由人来写了

软件工程 3.0 的核心假设:人定义意图和约束,数字员工(Agent)交付实现。

_

1.0 瀑布流

2.0 敏捷+ DevOps

3.0 人 + 数字员工

时代

1968— ~2001

2001— ~2024

2024—

核心假设

需求可预定义,按计划执行

需求在迭代中浮现,拥抱变化

人定义意图,Agent 交付实现

代码由谁写

人(100%)

人(100%),工具辅助

人 + Agent 协同(L1-L4 分级)

反馈周期

月 → 年

天 → 周

分钟 → 小时

质量保障

阶段末测试

CI/CD + 自动化测试

自动化门禁 + 置信度评分 + 人审查

架构治理

架构师画图,评审会口述

轻量文档 + ADR

Architecture-as-Code,Agent 可读

组织形态

职能部门(50-100 人)

跨职能小团队(5-9 人)

1-3 人 + 数字员工编制(Pod)

瓶颈

需求变更和返工

人的编码速度

人的判断力、品味和架构能力

解决的核心问题

“怎么有纪律地开发”

“怎么快速响应变化”

“怎么让人的判断力放大 10 倍”

表0-2 两种Spec组织方案对比

这不是渐进式的改良。1.0 → 2.0 改变了“人和人怎么协作”,3.0 改变了“人和谁协作”。当你的团队里多了一类新成员——不知疲倦、秒级执行、可以并行几十个任务的数字员工——整个产研系统的运作逻辑都得重新设计。

但在展开之前,有一个极其重要的认知需要先锚定:

第一性原理:业务复杂度不会因 AI 而消失。

一套广告投放系统的领域划分(计划、创意、出价、审核、报表),不会因为有了 Agent 就变简单;一套金融清算系统的对账逻辑,不会因为代码是 Agent 写的就减少边界情况;一套电商系统的库存-订单-物流三角关系,不会因为实现更快就变得不纠结。

合理的解决方案不会发生根本性改变。 微服务该拆的还是得拆,领域边界该划的还是得划,分布式事务该处理的还是得处理。DDD 的战略设计、CQRS 的读写分离、Event Sourcing 的溯源机制——这些不是“人的效率低下的产物”,而是业务复杂度本身的映射

改变的是实现方式,而非实现目标。 以一套复杂系统的业务领域划分为例:子域边界在哪里、限界上下文怎么切、哪些是核心域哪些是支撑域——这些决策仍然由人来做。但拿到这个决策之后,每个子域内部的编码实现、接口对接、测试覆盖——这些可以由数字员工来完成。

理解了这一点,你会发现 1.0 → 2.0 → 3.0 的跃迁有一条清晰的红线:软件工程的“硬核”(分析复杂度、设计合理架构、做正确决策)从未改变,改变的是围绕这个硬核的执行层——从人手动执行,到人敏捷迭代,到人 + 数字员工并行交付。

三点需要特别说明:

第一,3.0 不是否定 2.0,而是站在 2.0 的肩膀上。

敏捷的核心价值观(拥抱变化、持续反馈、个体与交互)在 3.0 时代不但没过时,反而更重要——只不过“个体”从纯人变成了人 + 数字员工,“交互”从人与人之间扩展到了人与 Agent 之间。DevOps 的 CI/CD 管线在 3.0 中被扩展为 AI-Ops(第 3 节),不是替代而是升级。

第二,每次跃迁都伴随着“人的角色”的根本性重定义。

  • 1.0:人是“按文档执行的工人”——需求分析师告诉你做什么,你照着写

  • 2.0:人是“自组织的手艺人”——在小团队里自己决定怎么做,对交付负责

  • 3.0:人是“数字员工的管理者和品质守护者”——定义意图、把控方向、审查质量、做 Agent 做不了的决策

每一次,人做的事情都在变“少”但变“贵”。1.0 你得写每一行代码;2.0 你可以复用框架和库;3.0 你甚至不用写大部分代码了——但你需要的判断力、架构思维和品味,比以往任何时候都重要

第三,3.0 的真正挑战不在技术,而在组织和认知。

技术侧,Agent 的能力在快速提升。真正的瓶颈在于:

  • 组织准备好了吗?绩效体系、晋升标准、团队编制——都还是 2.0 时代的设计;

  • 人的心智模型转换了吗?从“我是写代码的”到“我是管理数字员工的”,这个认知跃迁比从瀑布到敏捷更难;

  • 架构支撑了吗?Agent 需要可机读的架构上下文(Architecture-as-Code),而大多数团队的架构知识还停留在人脑里和过期的 wiki 中。

这篇文章,就是在讨论软件工程 3.0 的落地路径。后续每一节都可以映射到这个范式跃迁的框架中:

  • 第 1 节(人 + Agent 协作范式):3.0 的核心工作模式——L1-L4 分级、需求自动路由、人机并行;

  • 第 2 节(架构治理):从 1.0 的“架构师画图”、2.0 的“轻量 ADR”到 3.0 的“Architecture-as-Code”;

  • 第 3 节(DevOps 进化):从 2.0 的 CI/CD 到 3.0 的 AI-Ops;

  • 第 4 节(岗位重塑):2.0 的“全栈工程师”→ 3.0 的“数字员工管理者”;

  • 第 5 节(新挑战):3.0 带来的独有问题——信任边界、安全合规、Agent plateau;

  • 第 6 节(全景图):3.0 的终局想象——One Person Company。

写在正式开始之前

导读:从「人用工具」到「人 + 数字员工」

图0-2 核心范式转移图示

在开始之前,需要先建立一个贯穿全文的核心概念:数字员工

我们习惯把 AI Agent 叫做“工具”——更好的 IDE 插件、更聪明的自动补全。但这个心智模型正在过时。当一个 Agent 能独立完成一个模块的编码、测试、部署,能主动发现架构问题并报告给你,能在你不在的时候持续监控系统健康——它还只是“工具”吗?

Agent 正在从工具变成你的数字同事

这不是比喻,而是一种实质性的组织变革。当我们说“数字员工”时,意味着:

  • 有明确的职责边界——不是“人用 Agent”,而是人和 Agent 各负其责。L1-L2 任务数字员工自主完成,L3-L4 任务人类员工主导(具体分级见第 1 节);

  • 有质量评估体系——数字员工的产出要被 Review,有 confidence 指标,错误可追溯、可改进——和人类员工一样有“绩效”;

  • 有成长和进化机制——今天的 L3 任务,可能半年后数字员工就能自主处理(降级为 L1)。人的每次反馈都是 Agent 的学习信号;

  • 协作和沟通协议——Agent 主动报告困惑,拒绝不合理请求,和人有结构化的沟通方式——不是命令-执行,是协商-执行;

“平权”不是说 Agent 和人一样,而是 Agent 被当作真正的团队成员来管理

这个视角会改变你对全文的理解:

  • 第 1 节的 L1-L4 分级,本质上是在定义数字员工的岗位职级

  • 第 2 节的架构治理,本质上是在建立人类员工和数字员工的协作制度

  • 第 4 节的岗位重塑,本质上是在回答人类员工如何与数字员工分工

  • 第 6 节的 One Person Company,则是这一切的终局——1 个人 + 完整数字员工编制 = 一个完整的产研团队

带着这个视角,我们开始。

01

人 + Agent:新型协作范式

一、从“人写代码”到“人 + Agent 协同交付”

图1-1 产研模式演进图示

传统软件工程的基本假设是:代码由人编写、人审查、人维护。所有的流程、工具链、质量体系都围绕这个假设设计。

但这个假设正在被打破——而且不是一步到位,而是分阶段演进的:

(一)Before(传统模式):人是唯一执行者

产品需求 → PM 写 PRD → 技术评审 → 人写代码 → 人写测试 → 人 Code Review → 人部署           ↑                                                        │           └──────────── 人发现问题,返工 ─────────────────────────────┘

特征:串行流水线,每个环节都是人,瓶颈在人的产出速度

(二)Now(当前过渡态):Agent 是工具,人是主导者

产品需求 → 人拆解任务 → Agent 生成初版代码 → 人审查/修正 → Agent 补全测试 → 人验收

特征:人仍然主导全流程,Agent 在人的指令下执行子任务 本质上还是串行的——Agent 只是加速了“写”这个环节,但需求拆解、审查、验收仍然是人。

问题:这个模式的天花板很明显——人成了瓶颈。 Agent 5 秒写完代码,但人要花 30 分钟审查。Agent 的产能被人的审查带宽卡住了。

(三)Future(目标态): 需求自动分发,人和 Agent 并行

                          ┌─── L1/L2 任务 ──→ Agent 自主执行 ──→ 自动化验收 ──→ 合入                          │                    (写代码+测试+自检)   (CI 门禁)产品需求 → 智能分发引擎 ──----┤          (需求理解+       │           分层+分配)      ├─── L3 任务 ───→ 人设计方案 ──→ Agent 分模块实现 ──→ 人集成验收                          │                                  ↕ 并行                          │                              人做另一个任务                          │                          └─── L4 任务 ───→ 人全程主导(Agent 辅助查资料/写文档/补测试)

特征:不再是人指挥 Agent 的串行模式,而是需求自动路由、人和 Agent 各干各的并行模式

(四)Agent 协作分级(L1-L4)定义 —— 类比自动驾驶

自动驾驶有 L0-L5 分级,我们的 Agent 协作同样需要清晰的分级定义。两者的底层逻辑是一致的:自动化程度越高,人的角色从“执行者”变为“监督者”再变为“乘客”。

级别

自动驾驶

Agent协作(软件工程)

人的角色

L0

无自动化:人完全操控

2001— ~2024

2024—

L1

辅助驾驶:定速巡航、车道保持(单一功能)

Agent 自主完成:单文件/模板化任务(单测生成、配置修改、UI组件、proto 字段追加)

最终确认(5 min Review)类似看一眼仪表盘

L2

部分自动:同时控制转向+加速,但人必须随时接管    

Agent 主导 + 人审查:模式清晰但需业务判断(新增 RPC 接口、DDD 新功能、AI 模型脚手架)

审查业务正确性(30 min-1h)类似手放方向盘但眼睛盯路

L3

有条件自动:特定场景 Agent 驾驶,但人要能快速接管

人 + Agent 协作:跨模块/跨服务,需系统全局理解(跨服务链路变更、Schema 变更、性能优化)

架构设计 + 方案选型(数小时-数天)类似在高速上,偶尔要接管

L4

高度自动:特定区域无需人干预

人主导:架构决策、计费/出价核心、安全合规Agent 仅辅助查资料/写文档/补测试

全程主导(数天-数周)类似手动开过复杂路口

L5

完全自动:无方向盘

Agent 完全自主:需求→设计→编码→测试→部署(目前不存在,是 Phase 4 愿景)

只定义目标和约束类似告诉车目的地

表1-1 自动驾驶与Agent协作的 L0-L5 分级

从导读中「数字员工」的视角看,L 分级同时定义了数字员工的能力等级和自主权范围——L1 是实习生(只做模板化工作,人看一眼即可),L2 是初级员工(能独立干活但需要 mentor 审查),L3 是高级员工(能协作但关键决策要汇报),L4 是目前还不存在的“专家级数字员工”。整篇文章中,L 分级不仅用于任务分类,还会复用到架构治理(第2节)、主动报告(第2节③)、模块风险评估(architecture-snapshot)——一套标准,多处复用

(五)分级的三个判断维度(决定一个任务属于哪个级别)

图1-2 三维度判断模型图示

三个维度各自独立判断后,取最高级别作为最终分级——只要有一个维度是 L4,整个任务就是 L4。

     ┌───────────────────────────────────────────┐                任务属于哪个级别?                                                                         维度 1: 上下文范围                                ├── 单文件/单模块 ─────────→ L1                  ├── 跨少量文件(< 5 个)──→ L2                  ├── 跨模块/跨服务 ────────→ L3                  └── 跨系统/跨团队 ────────→ L4                                                                   维度 2: 业务理解需求                              ├── 纯模板/模式化 ────────→ L1                  ├── 需要业务规则判断 ──────→ L2                  ├── 需要领域知识 + 设计 ──→ L3                  └── 需要行业经验 + 决策 ──→ L4                                                                   维度 3: 出错影响                                  ├── 不影响线上 ───────────→ L1                  ├── 影响单个功能 ─────────→ L2                  ├── 影响服务稳定性 ───────→ L3                  └── 涉及资损/合规/安全 ───→ L4                                                                   取三个维度的最高级别作为最终分级                   └───────────────────────────────────────────┘

和自动驾驶的关键差异:

  • 自动驾驶的 L3→L4 跨越主要受限于感知技术(传感器能不能覆盖所有场景);

  • Agent 协作的 L3→L4 跨越主要受限于意图理解(Agent 能不能理解业务为什么要这样做);

  • 注意 L4 的映射方向相反:自动驾驶 L4 = 车自己开,人更少参与;Agent 协作 L4 = 人必须主导,因为出错代价太高。方向虽反,逻辑一致——越高风险,越需要最有能力的角色主导;

  • 共同点:两者的分级都不是固定的——同一个任务,随着 Agent 能力提升和上下文完善,今天的 L3 可能明年变成 L2。

(六)核心变化

维度

Before

Now(过滤态)

Future(目标态)

需求分配

PM → 人

PM → 人 → 人把子任务给 Agent

智能分发引擎自动路由

执行模式

人串行

人+Agent 串行(人指挥Agent)

人和Agent并行(各干各的)

代码产出者

人 + Agent(人主导)

Agent 为主(L1/L2),人为主(L3/L4)

质量把关

CR (人→人)  

CR (人→Agent产出)

分层质检:L1 自动门禁 L2 人抽检 L3+ 人深度审查

设计决策

人(Agent 提供选项)  

人(但 Agent 能推荐历史方案)

重复性工作

人(痛苦地)

Agent

Agent(人甚至不感知)

上下文理解

人脑中

部分文档化

Context-as-Code:完整机器可读

人的角色

编码者

编码者 + 审查者

架构师 + 决策者 + 质量守护者

表1-2 核心变化对比

关键洞察:从 Now 到 Future 的跳跃,不只是 Agent 能力的提升——更需要三个基础设施:

  1. 需求的结构化表达:产品需求必须足够精确,才能被机器理解和自动分类(这就是 Spec-as-Code)

  2. 分层标准的机器可判断:L1/L2/L3/L4 的分类不能靠人判断,要有自动化的分类引擎

  3. 自动化验收能力:L1 任务的验收不能依赖人,必须有足够强的自动化测试 + CI 门禁

二、需要解决的核心问题

(一)问题 1:Agent 产出的代码谁负责?

传统 Code Review 有一个隐含契约——“谁提交谁负责”。当 Agent 产出了 60% 的代码,出了线上事故,责任怎么算?

这不只是管理问题,更是工程文化问题。可能的演化方向:

  • “飞行员模式”:Agent 是自动驾驶,人是飞行员。自动驾驶可以飞,但机长对安全负最终责任;

  • “分级审查”:Agent 产出的代码标记 confidence level,低置信度的强制人工审查,高置信度的自动合入;

  • 新的 Code Review 范式:审查重心从“这行代码对不对”转向“Agent 的理解是否正确、设计决策是否合理”。

(二)问题 2:上下文传递的瓶颈

Agent 最大的弱点不是写不好代码,而是不理解系统的历史决策和隐含约束。

一个资深工程师脑中的知识包括:

  • “这个模块三年前做过一次大重构,那次踩了哪些坑”;

  • “这个接口不能改返回值,因为下游有 50 个服务依赖”;

  • “老板说了这个功能下个季度要砍”……

传统思路是“人写文档喂给 Agent”——但这把瓶颈从写代码转移到了写文档,而且文档天然会过期。

真正的解法不是人喂 Context,而是让 Agent 自己构建和维护对系统的理解。

解决方案:Architecture Understanding Agent(架构理解 Agent)

图1-3 架构理解 Agent图示

这是一个独立于编码 Agent 的专职 Agent,它的唯一职责是:理解系统架构,并保持这个理解的准确性。

┌─────────────────────────────────────────────────────────────────┐│              Architecture Understanding Agent                    ││                                                                  ││  输入源:                                                         ││  ├── 代码库(AST、模块结构、依赖图、接口定义)                       ││  ├── Git 提交历史(谁改了什么、为什么改、频率多高)                    ││  ├── MR/CR 讨论(人在 Review 中说了什么、拒绝了什么)                ││  ├── CI/CD 数据(哪些模块经常一起失败 → 隐含耦合)                   ││  └── 线上监控(调用链、流量分布、错误热点)                           ││                                                                  ││  核心能力:                                                        ││  ├── 1. 定期生成架构理解快照 → 人确认/修正                           ││  ├── 2. 监听 Git 提交流,判断是否需要架构理解升级                     ││  ├── 3. 主动报告"我觉得这里不合理""我理解不了这个设计"              ││  └── 4. 为编码 Agent 提供实时、准确的架构上下文                      ││                                                                  ││  输出:                                                           ││  ├── architecture-snapshot.md  — 当前系统架构的 Agent 视角理解       ││  ├── change-impact-map        — 每次变更的影响范围预测               ││  ├── confusion-report         — "我不理解的地方"清单                ││  ├── health-assessment        — "我觉得系统是否合理"的判断           ││  └── confidence-map           — 各模块理解置信度 + 保鲜期            │└─────────────────────────────────────────────────────────────────┘

(三)关键设计原则

① 定期生成 + 人确认(而非人编写)

传统:人写架构文档 → 喂给 Agent → 文档过期 → Agent 用错误 Context 生成错误代码新模式:Agent 自己读代码+Git → 生成架构理解 → 人花 10 分钟确认/修正 → 循环

人的角色从作者变为审稿人——工作量从“写10页文档”降低到“审10页文档”,而且 Agent 不会忘记更新。

② 基于 Git 提交流的增量更新

不是每次都做全量分析,而是监听 Git 提交,智能判断:

Git 信号

Agent 判断

动作

小范围改动(单文件、< 100行)

不影响架构理解

不更新

新增模块/目录

架构结构变化

生成增量更新,请人确认

proto/IDL 变更

接口契约变化

主动告警 + 更新依赖图

大批量文件删除/移动

可能是重构

触发全量架构理解刷新

新增 thirdparty 依赖

技术栈变化

更新技术栈画像

同一模块连续多天高频改动

可能是大型功能开发或重构

标记观察,完成后请人确认新架构

表1-3 基于 Git 提交流的增量更新

③ 主动报告困惑和判断(最关键的创新点)

传统 Agent 只会执行——你问它才答。但 Architecture Understanding Agent 应该主动说话。

它有两种触发模式,但共用同一套 L1-L4 分级(不引入新概念):

图1-4 两种触发模式图

模式 A:实时检测 — 每次 MR / Git Push 时触发

类比:飞行中的实时告警系统。快,针对”这个 MR 有什么问题”。

L级别

优点

缺点

L1

变更自检通过,无架构影响

自动放行,记录变更摘要

L2

变更涉及不确定的设计意图 — “这个 MR 修改了 dpmanage 和 dpsmart 的共享代码,但我不确定它们是否应该共享”

推送问题卡片给 Owner

L3

变更可能导致跨服务影响 — “这个 proto 变更影响 scoring + ranking + display 三个服务”

要求同步验证下游兼容性

L4

变更触及高危区域 — “bid_strategy.cc 被修改但未标记为 L4 审查” / “proto 字段被删除”

立即阻断 MR + 通知 Owner + 告警

表1-4 模式A各级别优缺点对比

模式 B:全量扫描 — 定期(每周)/ 大版本前 / 架构师手动触发

类比:年度体检报告。深度分析“系统整体有什么趋势性问题”。

L级别

优点

缺点

L1

代码卫生 — 重复代码、过期文档、未使用依赖、可升级版本

自动生成清理 MR,人周报浏览即可

L2

Agent 的困惑 — “mixer/ 下 3 种混排策略,什么场景用哪个?” / “Flare 和 tRPC 共存是过渡态还是长期设计?”

推送问题卡片,人的回答即新 Context

L3

架构健康退化 — “scoring 循环依赖本月从 3 增加到 7” / “creative 48 子模块 7 种语言,接口风格不一致”

生成架构治理提案(含方案 A/B/C)

L4

系统性风险 — “review-java 16 微服务共享一个 DB 连接——单点风险” / “proto 中 30% 字段从未被引用”

升级到架构评审会

表1-5 模式B各级别优缺点对比

两种模式的区别仅在于触发时机和分析范围,分级标准和响应链路完全一致:

_

模式A(实时)

模式B(全量)

看什么

这一次变更

整个代码库

多快

秒级(MR 提交时)

小时级(定期任务)

发现什么

单点风险    

趋势性问题

L分级

同一套 L1-L4

同一套 L1-L4

响应链路

同一套 响应机制

同一套 响应机制

表1-6 两种模式的区别对比

核心洞察:闭环让系统越来越聪明。

  • 人对 L2 困惑的每一个回答,都自动变成新的 Context——Agent 下次不会再问同样的问题

  • L3 的架构决策写入 ADR,Agent 的理解置信度提升

  • L4 的复盘产生新的护栏规则,防线越来越厚

  • 今天的 L3 问题,可能半年后 Agent 已经能自动处理(降级为 L1)——这就是系统的自我进化

④ 为编码 Agent 提供实时上下文

当编码 Agent 要修改某个模块时,不需要人写 prompt 描述上下文,Architecture Understanding Agent 自动注入:

编码 Agent 请求:"我要修改 scoring/server/bid_strategy.cc"Architecture Understanding Agent 自动提供:├── 这个文件属于精排出价模块,owner 是 XXX├── 最近 3 个月改了 47 次,是高频变更文件├── 上下游依赖:被 ranking/server 和 display/server 调用├── 相关的 proto 定义在 ad_protos/bid_strategy.proto├── 注意:这个模块涉及计费核心逻辑,任何修改需要 L4 级别审查├── 历史坑点:2025-09 因浮点精度问题导致出价偏差 0.1%(见 ADR-017)└── 当前架构理解置信度:85%(上次确认:3天前)

⑤ 理解的“置信度”和“保鲜日期”

Agent 的每一条架构理解都应该有置信度保鲜期

以下为设计提案示例(ads-main 中尚不存在),展示 Architecture Understanding Agent 应产出的架构快照格式。 模块结构和 OWNERS 来自 adq/delivery 仓库真实代码扫描(2026-03-24),其余字段为提案设计。

# architecture-snapshot.yaml(提案示例 — 基于 adq/delivery 真实代码结构,因为篇幅原因做了删减)# 由 Architecture Understanding Agent 自动生成,人确认后生效# 生成时间: 2026-03-24T10:00:00+08:00# 代码库: ads-main/adq/deliverymeta:  schema_version: "1.0"  generated_by: "architecture-understanding-agent"  scan_scope: "adq/delivery/"  last_full_scan: 2026-03-24  next_scheduled_scan: 2026-03-31     # 全量扫描周期:每周# ========== 系统级架构理解 ==========system:  name: "delivery-platform"  description: "广告投放平台 — 从流量接入到广告全生命周期管理的完整链路"  architecture_style: "微服务 + CQRS + BFF"  tech_stack:    backend: ["Go (trpc-go, gorm)""Java (delivery_data)"]    frontend: ["TypeScript (React)"]    protocol: ["gRPC / tRPC + Protocol Buffers"]    infra: ["MySQL (分库分表+主从)""Redis""Pulsar""Prometheus"]  confidence: 0.95  last_verified: 2026-03-20           # 人最后确认日期  stale_after: 30d                     # 系统级理解保鲜期较长  # Agent 发现的分层约束(来自 _spec/modules/delivery/_baseline/constitution.md)  constraints:    - rule: "服务间接口必须通过 .proto 文件定义,禁止非类型化 JSON"      source: "constitution.md"      confidence: 0.99  # 服务调用拓扑(Agent 通过代码扫描+proto分析自动生成)  call_graph:    - from: "dpbff"      to: ["dpmain""dpasset""dporder""dptask""dpmanage"]      protocol: "gRPC"    - from: "dpmain"      to: ["dpasset""dporder"]      protocol: "gRPC"    confidence: 0.88                  # 调用关系部分来自代码分析,可能遗漏动态调用    open_questions:      - "dpsmart 与 dpmain 之间是否存在双向调用?代码中有 import 但未找到实际 RPC 调用"# ========== 模块级架构理解(示例) ==========modules:  dpmain:    description: "广告管理核心"    path: "delivery/server/dpmain"    lang: "Go"    scale: {go_files: 1126}           # 最大的后端服务    owners: ["J"]    confidence: 0.90    last_verified: 2026-03-20    stale_after: 14d                  # 核心模块保鲜期短——变更频繁    change_frequency: "高 (近30天 184 次文件变更)"    risk_level: "L4"                  # 涉及出价/预算/风控核心逻辑    dependencies:      upstream: ["dpbff"]      downstream: ["dpasset""dporder"]    open_questions:      - "竞价逻辑中 legacy_mode 分支是否还有流量?代码中有但注释说'待下线'"      - "预算控制的分布式锁实现跨了 Redis 和 MySQL,一致性保证机制不清楚"  dpmanage:    description: "广告管理查询子服务 — 只读,提供广告列表/账户信息/报表数据"    path: "delivery/server/dpmanage"    lang: "Go"    scale: {go_files: 794}    owners: ["C"]    confidence: 0.93    last_verified: 2026-03-20    stale_after: 14d    change_frequency: "中 (近30天 78 次文件变更)"    risk_level: "L2"                  # 只读服务,影响范围可控    constraints_local:      - "只读服务,禁止实现写操作(写属于 dpmain)"      - "批量查询必须支持分页,禁止返回全量数据"    dependencies:      upstream: ["dpbff"]      downstream: ["MySQL从库""Redis"]    open_questions:      - "dpmanage 和 dpmain 共享了部分代码(delivery/delivery/ 公共库),修改公共库时两边是否都需要回归?"  # ========== Agent 困惑清单(全局) ==========confusion_report:  generated_at: 2026-03-24  items:    - id: "C002"      level: "L2"      question: "dpmanage 和 dpmain 共享 delivery/delivery/ 公共库的边界?"      context: "两个服务都 import 了 delivery/delivery/client/ 和 delivery/delivery/filter/"      suggested_action: "明确公共库的 Owner 和变更影响范围"# ========== 健康度评估 ==========health_assessment:  generated_at: 2026-03-24  overall: "良好(存在可控风险)"  scores:    modularity: 0.82       # 模块划分清晰    consistency: 0.75       # 部分模块共存拉低一致性    documentation: 0.70     # _spec 基线覆盖了核心模块,但 dpsmart 等新模块缺失    test_coverage: null     # 需要 CI 数据,暂无法评估  risks:    - severity: "中"      description: "dpasset (1589 Go文件) 可能成为'巨石服务',建议关注模块内聚度"

置信度低 + 过期的模块,编码 Agent 在修改前会自动提醒人:“我对这个模块的理解可能过时了,建议先确认”。

这个示例的关键特征:

特征

说明

数据来源真实

模块名、OWNERS、文件数、变更频率均来自 adq/delivery 仓库实际扫描

置信度分层

来自明确文档(constitution.md)的约束置信度 0.99,Agent 推断的调用关系 0.88,新模块理解 0.75

保鲜期差异化

高频变更模块 7d,核心模块 14d,稳定基础设施 21-30d

困惑即价值

confusion_report 不是 bug——每个困惑被人回答后,都变成新的 Context

风险分级复用 L1-L4

每个模块的 risk_level 复用同一套 L1-L4 分级标准

表1-7 示例关键特征与说明

(四)问题 3:人的能力转型

当 Agent 能写 CRUD、能补测试、能做简单重构时,工程师的心竞争是什么?

  • 系统思维:理解复杂系统的整体行为,Agent 只看局部;

  • 领域知识:业务逻辑、行业规则、合规要求;

  • 判断力:在多个技术方案中做取舍,平衡短期收益和长期可维护性;

  • 沟通力:将模糊的业务需求翻译成精确的技术规约(而这恰恰是喂给 Agent 的“prompt”)。

三、新的工程实践

实践

说明

Prompt Engineering as Spec

需求文档本身就是给 Agent 的高质量 prompt,精确度要求远超传统 PRD

Agent-Aware Code Review

审查者需要理解 Agent 的行为模式,知道它容易犯什么错

Human-in-the-Loop Testing

Agent 生成代码 + 测试,人验证测试的充分性和边界条件

Context-as-Code

系统上下文、架构约束、隐含规则以代码/配置形式存储,Agent 可读取

表1-8 新的工程实践与说明

02

架构治理:不会消失,反而更重要

一、为什么 Agent 时代架构更重要?

图2-1 速度差距 X 全局视角分层治理图示

一个反直觉的结论:AI 越强,架构越重要。

回到导读的核心概念——当 Agent 从“工具”变成“数字员工”,产出速度提升 10 倍时,如果没有架构护栏,技术债的积累速度也是 10 倍。数字员工越能干,管理制度(架构治理)越重要。

原因在于——

Agent 生成代码的速度远超人类治理的速度。

  • 以前一个工程师一周写 500 行有效代码,架构师有时间审查和治理;

  • 现在 Agent 一天生成 5000 行代码,如果没有架构护栏,技术债的积累速度是指数级的。

类比:就像高速公路上的汽车越快,护栏越重要——不是因为司机不行,而是出错的代价更高。

全局视角:不是 Agent 做不到,而是需要人机协同。

一个常见的误解是“Agent 天然缺乏全局视角”——但这不是 Agent 的本质限制,而是当前编码 Agent 的使用方式导致的。编码 Agent 被喂入的 Context 通常是局部的(一个文件、一个函数),所以它的产出自然是局部最优的。

真正的问题是:谁负责提供全局视角?

在第 1 部分中,我们提出了 Architecture Understanding Agent 作为上下文传递瓶颈的解决方案。它同样是全局视角问题的解法——但需要结合 L 分层任务来理解:

全局视角问题

本质是什么级别的任务

谁负责

跨模块命名一致性

A 服务叫 userId,B 服务叫 uid

L2:模式清晰,需要规范判断

Architecture Understanding Agent 自动检测 + 推送规范建议

编码 Agent 在生成时自动遵守命名规则

演进方向感

“我们正在从单体向微服务迁移”

L3-L4:需要系统全局理解和战略判断    

人定义演进方向 → 写入 Architecture-as-Code

Architecture Understanding Agent 监控偏离 → 编码 Agent 自动遵守

非功能性约束

性能、安全、可观测性

L3:横切关注点,影响服务稳定性

人制定标准 → 编码为可执行规则

Architecture Understanding Agent 检测遗漏 → CI 门禁自动拦截

表2-1 全局视角问题的任务分级与责任分配矩阵

核心洞察:全局视角不是某一方独享的——它是人和 Agent 协作的产物。

传统思维(错误):  人有全局视角 → 人审查一切 → 人成为瓶颈新的协作模式:  人定义全局规则(L4 决策)    ↓ 写入 Architecture-as-Code  Architecture Understanding Agent 持续监控(L2-L3 检测)    ↓ 发现偏离时报告  编码 Agent 自动遵守(L1-L2 执行)    ↓ 违规时 CI 自动拦截  人只在 L3-L4 问题时介入

这实质上是全局视角的分层治理

  • L1-L2 层的全局一致性(命名、格式、依赖方向)→ Agent 能自主保证,通过规则文件和 Lint;

  • L3 层的架构健康(循环依赖、模块膨胀、接口风格不一致)→ Agent 检测 + 人决策;

  • L4 层的战略方向(技术栈演进、架构范式转型)→ 人定义 + Agent 监控偏离。

与自动驾驶的类比:自动驾驶车辆在 L2 级别可以自主保持车道(局部一致性),但在 L4 级别的路线规划仍需要人设定目的地。Agent 协作也是如此——Agent 保证局部执行正确,人保证全局方向正确,Architecture Understanding Agent 是两者之间的桥梁。

二、架构治理的新形态:人机共治

传统的架构治理是纯人工系统:文档 + 评审会 + 口口相传。AI 时代不是把人替换掉,而是变成人机协作的治理体系:

传统:  架构师写《微服务设计规范》PDF → 没人看 → 系统腐化                                   ↑ 瓶颈:人写、人读、人遵守AI 时代(人机共治):  人定义架构约束 → 编码为规则(Architecture-as-Code)→ Agent 生成代码时自动遵守       ↑                                                      ↓       └─── Architecture Understanding Agent 发现新问题 ←── 违规自动拦截 + 健康度报告

关键变化不是”Agent 替代人治理”,而是三个角色各司其职:

角色

职责

对应L级别

人(架构师)

制定规则、做架构决策、确认 Agent 的理解

L3-L4:需要领域经验和战略判断

Architecture Understanding Agent

监控架构健康、检测偏离、报告困惑、为编码 Agent 提供 Context

L2-L3:需要系统全局理解

编码 Agent

在规则约束下生成代码、自动遵守架构规范

L1-L2:执行层面的一致性保证

表2-2 人机协同中的三角色职责与 L 级别划分

具体来看,每个治理维度都有了人机协作的新模式:

治理维度

传统方式

AI 时代(人机共治)

分层约束

“controller 不能直接调 dao”(靠人遵守)

人定义规则 → ArchUnit/Lint 自动执行 → Agent 检测新增违规

API 规范

Swagger 文档(可能过期)

人定义 Schema → Agent 自动生成实现 → Architecture Understanding Agent 检测 Schema 与实现的偏离

依赖管理

“别引入新依赖”(靠 Review)    

人维护白名单 → Agent 生成时受约束 → Agent 定期扫描发现未授权依赖

数据模型

ER 图(可能过期)

人设计 Schema → 作为 SSoT → Agent 检测 Schema 漂移并报告

跨模块一致性

架构师人工审查(不可持续)

人定义命名规范 → Architecture Understanding Agent 持续扫描一致性 → 推送治理建议

架构演进方向

架构评审会(低频、滞后)

人写 ADR → Architecture Understanding Agent 实时监控代码是否偏离方向 → L3+告警

表2-3 架构治理维度的传统方式与人机共治模式对比

本质区别:传统架构治理的瓶颈在于“规则靠人执行、偏离靠人发现”。人机共治模式下,人只负责定义规则和做最终决策,Agent 负责执行和监控——人从“巡逻员”变成“立法者 + 法官”。

三、Architecture-as-Code:人机共治的落地形态

第二部分描述了“人定义规则、Agent 执行和监控”的协作模式。要让这个模式落地,架构约束必须机器可读、自动执行——这就是 Architecture-as-Code:

  • .architect 规则文件:定义模块边界、依赖方向、命名规范,编码 Agent 生成时自动遵守,Architecture Understanding Agent 定期扫描偏离;

  • Contract Testing:微服务间的契约自动验证——Architecture Understanding Agent 在模式 A(实时检测)中自动触发契约检查;

  • Fitness Functions:持续监控架构指标(耦合度、循环依赖、模块大小),偏离阈值时 Architecture Understanding Agent 按 L 分级报告。

与 L 分层的关系:Architecture-as-Code 本质上是把 L3-L4 级别的架构决策(人做的)转化为 L1-L2 级别的自动化规则(Agent 执行的)。人的智慧被编码后,Agent 无限复用——这就是人机共治的放大效应。

03

DevOps 的进化:从 CI/CD 到 AI-Ops

一、为什么 DevOps 不会消失?

有人说“Agent 能自动写代码、自动部署,还要 DevOps 干什么?”

这是对 DevOps 的误解。DevOps 的核心不是“自动化部署”,而是:

缩短从想法到生产环境的反馈循环,同时保证可靠性。

Agent 时代这个需求不但没消失,反而更强烈了——用数字员工的视角看,DevOps 正在经历和编码一样的分层演进:L1-L2 级别的部署和监控正在被 DevOps Agent 接管,人聚焦 L3-L4 的发布策略和故障决策:

传统 DevOps 挑战

AI 时代放大版

部署频率太低

Agent 产出速度 10x,部署频率需求暴增

线上问题定位慢

Agent 生成的代码可能有人类不熟悉的模式,排障更难

配置管理复杂

Agent 可能引入不一致的配置,需要更严格的 GitOps

安全漏洞

Agent 可能生成有安全隐患的代码(训练数据中的坏模式),需要更强的安全扫描

表3-1 传统 DevOps 挑战及其在 AI 代码生成时代的放大效应

二、DevOps 的新能力要求

图3-1 DevOps 的进化:从 CI/CD 到 AI-Ops-1

(一)AI-Enhanced CI/CD Pipeline

代码提交 (Human/Agent)  ↓传统检查 (lint, test, build)  ↓AI 增强检查 ← 新增  ├── AI Code Review: 语义层面检查(不只是格式)  ├── AI Security Scan: 检测 Agent 生成代码中的安全模式  ├── AI Impact Analysis: 预测这次变更对系统稳定性的影响  └── AI Test Gap Analysis: 识别 Agent 遗漏的测试场景  ↓部署 (canary → full)  ↓AI 监控 ← 新增  ├── 异常行为检测(AI 生成代码的运行时表现是否符合预期)  └── 自动回滚决策

(二)Agent 产出的可追溯性

当 Agent 参与代码生产后,DevOps 需要回答一个新问题:

这行代码是谁写的?人还是 Agent?用的哪个模型、哪个 prompt、什么上下文?

这不是为了追责,而是为了:

  • 复现问题:当 Agent 生成的代码出 bug,需要知道当时的生成条件;

  • 持续改进:统计哪类 prompt 产出质量高,优化协作流程;

  • 合规审计:某些行业要求代码变更的完整审计链。

三、观测性(Observability)的升级

Agent 生成的代码可能采用人类不熟悉的实现方式,这意味着:

  • 日志规范更重要:Agent 需要遵循统一日志格式,否则出了问题没法查;

  • 链路追踪更关键:微服务调用链中,Agent 生成的服务和人写的服务混合,需要全链路可观测;

  • SLO/SLI 自动校准:Agent 高速产出代码后,系统行为可能快速变化,需要动态调整监控阈值。

04

岗位重塑:产品经理与工程师的边界模糊

一、正在发生的融合

传统分工泾渭分明:

  • 产品经理:定义 What(做什么);

  • 工程师:实现 How(怎么做)。

但 Agent 时代,这条线正在被擦掉:

产品经理在变得更“技术”:

  • 可以用 Agent 快速搭建原型,验证想法,不再需要等排期;

  • 需要理解 AI 能力边界(“这个功能 LLM 做得到吗?幻觉率多高?”);

  • 直接写 prompt/spec,Agent 生成可运行的产品。

工程师在变得更“产品”:

  • 不再只是“接需求”,需要理解业务场景来给 Agent 写出好的上下文;

  • 代码生成变快后,瓶颈转移到“做什么”而非“怎么做”;

  • 需要从用户视角审查 Agent 产出,而非仅从技术视角。

二、岗位可能的演化方向

图4-1 岗位重塑:产品经理与工程师的边界模糊

(一)传统三角色模型

产品经理 ─── 需求文档 ───→ 工程师 ─── 代码 ───→ 测试/运维   │                          │   └──── 验收/反馈 ────────────┘

每个角色各自独立,通过文档交接,瓶颈在人的产出速度和协调效率。

(二)新型角色模型:人 + 数字员工团队

传统的“人与人分工”正在变成“人与数字员工团队协作”。核心转变不是消灭岗位,而是每个人类角色都从“亲自执行”转向“管理一组数字员工”

┌──────────────────────────────────────────────────────────────┐                    产品工程师 / Builder                                    (端到端负责 What  How  Ship)                                                                                      ┌───────────┐    ┌───────────┐    ┌───────────┐               定义问题        设计方案        交付验证                  (What/L4) │    │ (How/L3)       (Ship/L2              └─────┬─────┘    └─────┬─────┘    └─────┬─────┘                                                                                                                                      ┌─────────────── 数字员工团队 ──────────────────┐                📋 PM Agent     🤖 编码 Agent   🔍 CR Agent                 🎨 设计 Agent   🛡️ DevOps Agent  📊 数据 Agent             └────────────────────────────────────────────────┘                                                                                       🧠 Architecture Understanding Agent                            (持续提供全局上下文,L2-L3 监控)                   └──────────────────────────────────────────────────────────────┘

可能出现的新岗位/角色——不同于传统的“人做什么”,而是“人管理哪些数字员工、在哪个 L 级别工作”

新角色

核心职责

工作的 L 级别

管理的数字员工

由谁转型而来

Product Engineer

ineer    端到端负责从需求到交付,管理数字员工团队完成 L1-L2 执行

L3-L4:定义问题和方案

编码 Agent、PM Agent、设计 Agent

PM + 工程师融合

AI Staff Engineer

定义架构护栏和质量标准,设计 Agent 的工作规范(Architecture-as-Code)

L4:架构决策

Architecture Understanding Agent

资深架构师

Context Engineer

构建和维护系统知识库,确保 Architecture Understanding Agent 有准确的架构理解

L3:系统全局理解

Architecture Understanding Agent、数据 Agent

技术文档 + 架构师

Agent Ops

管理数字员工的运行状态、监控产出质量、优化协作效率

L2-L3:运维和质量

DevOps Agent、CR Agent、全部 Agent 的运行监控

DevOps + SRE 转型

表2-2 两种Spec组织方案对比

与第 6 节 One Person Company 的关系:

在 Phase 2-3,这四个人类角色可能由 3-5 人分担;到 Phase 4(OPC),一个人可能同时承担 Product Engineer + AI Staff Engineer 的角色,Context Engineer 和 Agent Ops 的职能则大部分被成熟的 Agent 自动化。组织的演化路径是:多人各司其职 → 少数人 + 大量数字员工 → 一个人 + 完整数字员工编制。

三、能力模型的变化

(一)传统工程师的 T 型能力

广度:多种技术栈有了解  ─────────────────────────         │         │ 深度:某个领域精通         │

(二)AI 时代的 π 型能力

广度:技术 + 产品 + 业务都要懂  ─────────────────────────         │           │         │ 领域深度   │ AI 协作深度         │           │ (prompt、上下文工程、         │           │  Agent 行为理解)

关键变化:

  • “手速”贬值:写代码速度不再是竞争力,Agent 比你快 10x;

  • “脑速”升值:理解问题、做决策、判断质量的能力更稀缺;

  • “嘴速”重要:把需求精确表达给 Agent(本质上是一种新型编程)的能力。

四、不可回避的人文维度

赫拉利式追问:每次自动化革命都伴随认知去技能化(deskilling)和意义感危机。我们是否在无意中制造一代“审查员”而非“创造者”?

(一)工程师的意义感危机

从“我创造了这段代码”变成“我审查了 Agent 创造的代码”——这不仅是工作方式的变化,更是身份认同的动摇。

  • 创造感 → 监督感:工程师的核心自豪感来自“我构建了这个系统”。当 70% 的代码是 Agent 写的,这种自豪感如何维系?

  • 掌控感 → 焦虑感:“我真的理解这些代码吗?”——当 Agent 生成的代码规模超过人能理解的速度,技术主权感会丧失;

  • 成长感 → 停滞感:初级工程师以前通过写 CRUD 建立代码直觉,现在这条路径被 Agent 截断了。

(二)应对方向

  • 重新定义“创造”:创造不只是写代码,更是定义问题、设计系统、做出取舍。把“代码量”从成就指标中移除,替换为“系统影响力”;

  • 刻意练习空间:为初级工程师保留“无 Agent 编程时间”——每周半天手写代码(类似医学生的手术实习),建立底层直觉;

  • 新的成长阶梯:L1-L4 不仅是任务分类,也是工程师成长路径——从 L1(能指导 Agent)→ L2(能审查 Agent)→ L3(能设计 Agent 做不了的东西)→ L4(能做架构决策)。

(三)转型阵痛的诚实面对

角色融合的另一面是岗位削减。历史表明,每次“融合”都意味着一部分人被替代。应当诚实面对:

  • 纯写代码的执行型工程师(只接需求 → 翻译成代码)的岗位需求会减少

  • 纯写 PRD 的产品经理(只产出需求文档但不理解技术实现)的岗位需求会减少

  • 但系统设计师、领域专家、Context Engineer 的需求会增长

  • 关键:组织应为转型提供安全网——培训资源、转型期缓冲、内部岗位调整机会。

五、哪些不会变?

尽管角色在融合,一些底层能力是永恒的:

  • 用户同理心:理解用户的真实需求,Agent 不会替你做;

  • 系统思维:一个改动对整体的影响,Agent 只看局部;

  • 工程品味:什么是好的抽象、好的命名、好的接口设计,这是经验和审美;

  • 沟通协作:跨团队协调、利益相关者管理,这是人的领域。

05

新的挑战与未解问题

一、代码所有权与知识产权

  • Agent 生成的代码,版权归谁?

  • 如果 Agent 基于开源代码训练,生成了”类似”的代码片段,是否构成侵权?

  • 企业的私有代码库喂给 Agent 后,如何防止知识泄露?

二、质量保障的范式转移

传统质量保障假设:人写的代码,人能理解。

Agent 时代:

  • Agent 可能生成“功能正确但风格诡异”的代码,人难以 Review;

  • 测试覆盖率可能很高(Agent 擅长补测试),但测试的有效性谁来保证?

  • “所有测试都通过”不再等于“代码没问题”——需要新的质量指标。

三、技术债的新形态

传统技术债:人图省事留下的 TODO、硬编码、copy-pasteAI 技术债:Agent 生成的"看起来对但设计不优雅"的代码 × 10000 行

AI 技术债更隐蔽、更大规模。因为:

  • Agent 生成的代码通常能通过测试(功能正确);

  • 但可能缺乏一致性、不符合团队约定、引入不必要的复杂度;

  • 而且量太大,人来不及逐行审查。

用 L 分层的视角看:L1-L2 级别的技术债(命名不一致、格式不统一)可以靠 Architecture Understanding Agent 自动扫描;但 L3 级别的技术债(架构腐化、模块膨胀)需要人机协作才能治理。没有第 2 节描述的人机共治体系,AI 技术债就是一场慢性灾难。

四、团队文化的适应

  • 初级工程师如何成长?以前通过写 CRUD 练手,现在 Agent 写了;

  • “10x 工程师”的定义变了——不是写代码快 10 倍,而是让 Agent 高效工作的能力

  • 如何避免“什么都让 Agent 写”导致的技能退化

06

总结:未来产研模式全景图

图6-1 未来产研模式全景图

一、产研模式演进路线图:四个阶段

核心趋势不是“Agent 越来越强”这么简单——而是组织的最小作战单元在持续缩小

阶段

时间

Agent 定位

团队构成

产能倍数

Phase 1:AI 辅助

当前    

工具(更好的 IDE 插件)

5 人类 + Copilot

1x ~ 1.5x

Phase 2:数字员工入职

1-2 年    

初级同事(L1-L2 自主)

3 人类 + 3 编码 Agent + 1 架构 Agent

3x ~ 5x

Phase 3:数字员工主力

3-5 年

高级同事(L1-L3 自主)

1-2 人类 + 专业化 Agent 团队

10x ~ 20x

Phase 4:One Person Company

5 年+

完整员工团队

1 人 + 完整数字员工编制

50x ~ 100x

表6-1 产研模式 AI 演进四阶段

每个阶段的跳跃需要什么基础设施?

跳跃

关键前提

Phase 1 → 2

L 分层标准机器可判断 + 自动化验收能力(L1-L2 不依赖人验收)

Phase 2 → 3

Architecture Understanding Agent 成熟 + Architecture-as-Code 全面覆盖 + Agent 能处理 L3 任务

Phase 3 → 4

Multi-Agent 协作协议标准化 + Agent 有持久记忆和长期学习能力 + 信任体系建立

表6-2 跨阶段跃迁的关键前提与技术基础设施要求

二、One Person Company:不是愿景,是正在发生的事

One Person Company 不是“一个人干所有事”,而是“一个人管理一个完整的数字员工团队”。

这个概念不是科幻——它正在从三个方向同时逼近现实:

① 技术维度:Agent 能力的快速进化

2024 年的 Agent 只能补全代码片段。2025 年的 Agent 已经能独立完成一个模块。按照当前速度,2027-2028 年的 Agent 完全有可能承担一个初级工程师的全部职责。

② 工具维度:数字员工的“岗位编制”正在形成

数字员工岗位

对应 L 级别

当前成熟度

预计独立可用

🤖 编码 Agent

L1-L2 执行

⭐⭐⭐⭐ 已可用

2025

🔍 CR Agent

L1-L2 审查

⭐⭐⭐ 基本可用

2025-2026

🧠 架构理解 Agent

L2-L3 监控

⭐⭐ 概念验证

2026-2027

🛡️ DevOps Agent

L1-L2 部署

⭐⭐⭐ 基本可用

2025-2026

📋 PM Agent

L1-L2 需求

⭐⭐ 概念验证

2026-2027

🎨 设计 Agent

L1-L2 UI

⭐⭐⭐ 基本可用

2025-2026

📊 数据 Agent

L1-L2 分析

⭐⭐⭐ 基本可用

2025-2026

📝 文档 Agent

L1-L2 文档

⭐⭐⭐ 基本可用

2025-2026

表6-3 数字员工的“岗位编制”分级

当所有岗位都有 Agent 对应时,一个人就能“雇佣”一个完整团队。

③ 经济维度:组织边界的重新定义

传统创业:  有想法 → 找 10 个人 → 融资 → 6 个月出 MVP → 验证市场  瓶颈:招人的速度、团队磨合的时间、人力成本One Person Company:  有想法 → 配置数字员工团队 → 6 周出 MVP → 验证市场 → 按需扩展  瓶颈:人的判断力、领域知识、市场理解

这意味着:

  • 创业门槛从“找到 10 个靠谱的人”降为“有一个靠谱的想法 + 知道怎么管理 Agent”;

  • 边际成本从“每多一个功能需要多一个人月”降为“每多一个功能需要多一次 Agent 任务”;

  • 组织形态从“公司是一群人的集合”变为“公司是一个人 + 一群数字员工的集合”。

类比:工业革命让一个人操控一台机器顶 100 个手工匠人。AI 革命让一个人管理一个数字团队顶一个 10 人产研团队。 

区别在于:机器没有”理解力”,只能做重复劳动;数字员工有理解力,能做创造性工作。

三、One Person Company 模式下,什么变了,什么没变?

维度

变了

没变

谁写代码

数字员工(Agent)写 90%+ 的代码

代码仍然需要被理解、被审查、被维护

谁做决策

人做战略决策(L4),Agent 做战术决策(L1-L2)

关键决策仍然需要人的判断力和领域知识

架构治理

Architecture Understanding Agent 持续监控

AI 越强,架构越重要——护栏不能少

质量保障

Agent 自动测试 + Agent 自动 Review

质量标准仍然由人定义

团队规模

1 人 + N 数字员工

复杂系统仍然需要多个人类专家协作

用户同理心

Agent 可以分析数据

真正理解用户痛点仍然需要人

表6-4 不同维度下的变与不变

四、给不同角色的行动建议

如果你是工程师:

  • 短期(1年):熟练使用 Agent 协作,理解 L1-L4 分级,成为“Agent 熟手”;

  • 中期(3年):掌握 Architecture-as-Code,能设计 Agent 的工作规范和质量标准;

  • 长期(5年):成为能管理数字员工团队的“AI Staff Engineer”,或探索 One Person Company 模式。

如果你是技术管理者:

  • 短期:引入 L 分层标准,让团队开始区分“Agent 能做”和“人必须做”的任务;

  • 中期:建设 Architecture Understanding Agent 基础设施,实现人机共治;

  • 长期:重新设计组织结构——团队大小不再是产能的决定因素。

如果你是创业者:

  • 关注 One Person Company 赛道——这是一个全新的创业范式;

  • 核心竞争力不再是“能招到多少人”,而是“对领域的理解有多深”;

  • 第一批 One Person Company 的成功案例会出现在垂直 SaaS 领域——因为领域知识壁垒最高。

五、三个不可逆的趋势

回到全文的核心:

  1. 从“人用工具”到“人管理数字员工”——Agent 不是更好的 IDE,是有职责、有权限、能成长的团队成员;

  2. AI 越强,架构越重要——数字员工产出速度 10x-100x,没有护栏就是灾难级技术债;

  3. 组织的最小作战单元在缩小—— 从“部门”到“小组”到“个人 + 数字员工团队”,One Person Company 是终局形态之一。

六、三个需要守住的东西

无论到哪个阶段,人类不可让渡的核心:

  1. 架构思维和系统设计——数字员工擅长局部优化,全局设计仍然需要人;

  2. 领域知识和判断力——“做什么”永远比“怎么做”更难、更稀缺;

  3. 对人的理解——用户同理心、商业直觉、伦理判断,这些是 Agent 做不到的。

最后一个思考:One Person Company 的极致不是“一个人替代了一个团队”,而是释放了个人的创造力上限。以前一个有好想法的人,受限于“找不到团队”而放弃;未来,唯一的瓶颈是你自己的想象力和判断力。

软件工程没有消失——它从“一群人的纪律”变成了“一个人管理数字团队的方法论”。

推荐阅读

  • Software Engineering at Google — 传统 SE 的巅峰总结

  • The Pragmatic Programmer (20th Anniversary) — 永恒的工程智慧

  • An Introduction to Software Architecture — 架构治理的基础

  • Andrej Karpathy: “Software 2.0” — 用神经网络取代手写规则的愿景

  • Anthropic: Building effective agents — Agent 设计模式

  • Sam Altman: “The Intelligence Age” — AI 时代的经济和组织变革

  • [a]16z: “The One-Person Billion-Dollar Company” — 数字员工驱动的新型组织形态

「腾讯广告技术专题精选」

AI Native研发实践:Spec驱动+AI链路闭环实现智投广告前端

AAAI 2026|多智能体VLMs引导的低资源违规内容检测自训练框架

EMNLP2025|RAVEN++:通过主动强化推理精确定位广告视频中的细粒度违规内容

更多精彩可点击👉「广告硬核技术」👈查看合集