别再问 AI 能不能写代码:穿透半个世纪的狂欢,聊聊工程的江山与秩序
写在前面:
这是我对 HotelByte 技术白皮书《WP27: AI-Native Engineering Operating System》的一篇个人重写。
站在 2026 年的时间节点回望,计算机工业走过了半个多世纪的浪潮。从打孔纸带到高级语言,从面向对象到分布式大教堂,再到如今大模型动辄日产千万行代码的烈火烹油——人们一次次欢呼“软件工程已死”,又一次次在代码生成的废墟上咽下苦果。
这两年我在中东与国内做 HotelByte,深潜进酒店分销供应链那片最泥泞的产业现场。褪去所有概念的浮沫,我想聊聊:当代码生成的成本趋近于零时,什么样的江山能在谈笑间灰飞烟灭,什么样的系统又能历经周期而岿然不动。
01. 浮华与废墟:吞吐量的狂欢,经不起风浪一吹
软件工程史,本质上就是一部“人类试图用更高级的抽象,从底层泥潭里抽身”的逃逸史。
1957 年 Fortran 诞生时,汇编大师们斥其为“玩具”;70 年代结构化编程崛起时,有人断言程序员即将消失;到了微服务与云原生时代,大家以为搭积木就能建起巴别塔。
今天,大模型带着人类历史上前所未有的代码吞吐量呼啸而来。你在聊天框里敲下一句 prompt,几十毫秒内,数百行结构精巧、注释齐整的代码倾泻而出。很多人惊呼:神迹降临,天下大定。
但真实的工程世界是极其残酷的。
这几年,我见过太多号称“完全由 AI 驱动”的项目,在 Demo 阶段惊艳四座,一旦拉进高并发、多租户、脏数据横飞的生产战场,往往在几个毫秒的并发竞争或一次供应商报文抖动面前,谈笑间,土崩瓦解。
为什么?因为他们混淆了代码生成的速度与系统的生存能力:
- 局部正确的幻象(Prompt-local Success):在没有历史包袱的对话框里,AI 永远是聪明的;但在上百万行、演进了数年的老系统里,它对隐蔽的内存栅栏、未归档的业务妥协、跨服务的事务边界一无所知。看似天衣无缝的补丁,往往是千里之堤上最致命的那颗蚁穴。
- 经验的瞬间蒸发(Context Evaporation):工程师和 AI 在终端里大战三百回合,灵光一闪解决了线上偶现死锁,拍板了折衷方案。窗口一关,这片战场的尸骸与经验全部湮灭在上下文的黑洞里。下一次换个模块,同样的陷阱依然能让系统再死一次。
- 审查的崩溃(Review Displacement):AI 制造代码的速度是指数级的,而人类大脑审视风险的带宽是线性的。当成千上万行未经推演的代码涌入 PR 列表,团队便陷入了“不敢合、审不动、测不透”的战略瘫痪。
江山不是靠代码堆出来的。
代码写得越快,如果缺乏约束,债务就累积得越恐怖。大水漫灌之下,看似繁花似锦,实则地基早已被掏空。
02. 定海神针:唯一的法度是“可验证的反馈闭环”
回望半个世纪的软件工程演进,工具千变万化,但真正能穿越周期的底层逻辑从来只有一条:控制复杂度的边界,建立确定性的秩序。
在 AI 原生的语境下,我们最核心的资产既不是更大的模型,也不是更花哨的 Agent,而是一条严丝合缝、不可逾越的“可验证反馈闭环(Verified Feedback Loop)”。
我的定论:
AI 产出的代码,在未经现场证据检验、未被人类意图严格框定、未曾沉淀为仓库硬性法则之前,不是资产,是负债。
flowchart LR
A["人类意图
战略定力 · 风险边界"] --> B["现场证据采集
代码 · 运行时 · 脏数据真相"]
B --> C["受缚的 AI 劳作
检索 · 推演 · 补丁 · 测试"]
C --> D["冷酷的证据验证
单测 · 回放 · 读回 · 契约卡点"]
D --> E["权柄裁决
例外判定 · 责任兜底"]
E --> F["熔铸为系统律法
仓库规则 · 技能 · 记忆 · 知识"]
F --> A
这个闭环之所以能抵御系统熵增,靠的是五重经纬的死死咬合:
- 意图面(Intent):立骨。人类给出战略目标,更要划定“绝对不可触碰之禁区”(Non-goals)。防止 AI 为了局部指标的及格,把整栋大厦的承重墙给悄悄拆了。
- 证据面(Context & Evidence):求真。代码不是真相,运行时的日志、会话、数据库读回才是。在工程的法庭上,现行证据永远高于历史记忆。
- 执行面(Execution):划界。给神力套上锁链。AI 只能在被精确授权的沙盒里做可逆操作,高危领地直接物理熔断。
- 验证面(Verification):验明。不听信模型的任何“自我保证”,只认冰冷的测试结果、流量回放与生产状态读回。
- 记忆与治理面(Memory & Governance):铸器。人类每一次纠偏、每一次“不要这么做”,都不能沦为聊天记录里的废话,必须在当天被编译成仓库规则(Repo Rules)、技能脚本(Skills)与回归测试。
03. 权柄的流转:谁在执剑,谁在耕作?
有人总爱幻想一种“甩手掌柜”式的全自动 AI 帝国:输入一句话,系统自生自灭、自动演化。这是对真实世界复杂度的傲慢。
在我们的架构哲学里,权力(Authority)从来不是非黑即白的微操或放任,而是依风险而定的森严法度:
flowchart TB
D["工程诉求 / 业务裁决"] --> C{"上下文充分且
授权清晰?"}
C -- "否" --> H["人类工程师
澄清意图 · 权衡得失 · 承担法律与商业责任"]
C -- "是" --> R{"是否涉及高危或不可逆?
(资金流 / 生产数据 / 权限 / 对外承诺)"}
R -- "是" --> H["人类工程师
终审落槌 · 风险兜底"]
R -- "否" --> A{"能否被既定策略物理约束?"}
A -- "是" --> P["策略管道 / 自动化车道
低风险自动执行 · 幂等去重 · 审计留痕"]
A -- "否" --> G["AI 智能体
全仓搜寻 · 编写补丁 · 验证打包"]
G --> E["呈递可审查的证据包"]
P --> E
H --> E
- 不可逆的杀伐决断,永远属于人类:
资金结算规则、不可逆的生产 DML、权限扩容、对客户的商业承诺——这些需要承担商业声誉与法律责任的关口,必须由人类执剑。 - 浩繁的机械苦力,彻底放权给 AI:
全仓依赖分析、补丁起草、测试用例的排列组合覆盖、API 契约校对、PR 意见的机械性闭环。AI 是不知疲倦的天下第一劳工。 - 经验形态的升维:
过去的 Code Review,是两个人就事论事地扯皮;现在的 Review,是把人类的直觉与戒律,固化为未来的系统法典。
过去的故障复盘,是写一篇供人凭吊的事故报告;现在的复盘,是直接把排障血泪炼成自动化的 Playbook 和验证卡点。
04. 沙场点兵:HotelByte 的六环实战
纸上谈兵终觉浅。在 HotelByte 的真实场景里,这套体系是怎么经受风吹雨打的?
酒店供应链是个极其古老又复杂的行当:几百家上游供应商,协议五花八门,报文千奇百怪;一个看似简单的“房间价格为 0”,背后可能是供应商动态调价失败、多币种汇率缓存击穿、税费阶梯规则冲突,甚至是风控模块拦截了黑产刷单。
如果你让 AI 凭空看代码修 Bug,它十有八九会自作聪明地写一行 if (price == 0) return default_price;。在单测里这行代码跑得飞快,在生产环境里这行代码能让你赔掉底裤。
在 HotelByte 内部,我们构建了六道环环相扣的防线:
- 第 1 环 · 意图立规:哪怕是一个简单的工单,AI 也必须先输出“影响面分析与不可碰触列表”,想清楚后果再动刀。
- 第 2 环 · 契约铸模:百万行工程资产与系统拓扑全部版本化管理,AI 进场如军队列阵,必须先读军令。
- 第 3 环 · 现场求真:抓取供应商原始报文、分布式链路追踪、会话快照,用脏真实的现场数据击碎模型的“臆想”。
- 第 4 环 · 管道受控:GitHub Issue 与 PR 走严格的幂等队列,杜绝智能体自我死循环或越权合并。
- 第 5 环 · 证据读回:单测定逻辑,流量回判定契约,生产读回保真金白银。没有证据链的 PR,一律按空头支票处置。
- 第 6 环 · 经验固化:今天线上踩掉的一个坑,日落之前必须化为一条 Repo 规则、一个 Skill,确保整个组织绝不在同一块石头上绊倒两次。
05. 苍茫见真章:把精力还给“本质复杂度”
软件工程先驱 Fred Brooks 在半个世纪前就写过名篇《没有银弹》,将软件的复杂度分为两类:
- 偶然复杂度(Accidental Complexity):那些搭建环境、搬运日志、跨部门反复确认字段、在聊天软件里到处要权限等琐碎杂役;
- 本质复杂度(Essential Complexity):业务最深层的权衡、资金安全的边界、不可逆的架构演进、对商业世界真实运转规律的洞察。
数十年来,程序员们口口声声说自己在创造世界,实则大部分时间都被偶然复杂度折磨得精疲力竭。
AI 原生工程 OS 的终极意义,绝不是让工程师一天多敲几千行代码;而是把人类从无休止的上下文搬运、低水平状态同步和重复沟通中彻底打捞出来。
| 昔日苦役(偶然复杂度) | 昔日泥潭 | 今日法度(AI 原生 OS) | 释放出的人类心力(本质复杂度) |
|---|---|---|---|
| 上下文搬运 | 跨系统复制日志、截图、参数,四处求人还原现场 | AI 自动汇聚带源头溯源的结构化事实包 | 一眼看穿哪些核心前提已被打破 |
| Review 炼狱 | 几千行 Diff 逐行肉眼硬抗,生怕漏掉一行空指针 | AI 先行过滤语法、边界、静态规约与单测证据 | 专心审视架构走向、业务语义与战略风险 |
| 经验消散 | “这个问题上个月老张不是调过吗?老张去哪了?” | 每次纠偏直接固化为仓库规则、技能与测试链 | 冷静裁决现有法度是否过时、何时需要大破大立 |
| 空头验收 | “我本地跑着挺好的,应该没问题吧” | 任何提交必须随附测试、回放与环境读回铁证 | 把控大局,确认证据链是否已足够支撑发布决策 |
当那些繁文缛节被不知疲倦的智能体接管,工程师才能重新变回真正的“架构师”与“思想者”。
06. 结语:在喧嚣中守住留白与真实
从 2019 年封存旧博客、在架构深水区闭关蓄力,到 2025、2026 年在 HotelByte 和 zhen.ai 的一砖一瓦,我对技术的敬畏越来越重,对概念的狂热越来越轻。
大浪淘沙,沧海横流。
几十年里,多少惊天动地的技术概念如过眼云烟,风吹过,了无痕。唯有那些在混沌中建立的秩序、在喧嚣中守住的真实,经得起岁月淘洗。
AI 是一柄绝世好剑,也是一面毫无偏私的镜子。
你的工程底座若是豆腐渣,它会以千倍的速度帮你把大厦轰然催垮;你的工程体系若有严谨的法度与闭环,它就是你横扫千军的无上重器。
莫问 AI 能写多少行代码。
去构筑你的意图,去捍卫你的证据,去锻造你的闭环,去沉淀你的法度。
谈笑之间,且看潮起潮落;大浪过后,方显江山从容。