许愿式编程 VS 奴隶式编程:AI 时代,我们到底该怎么做电子屎壳郎?
“Talk is cheap, show me the code.” —— 2000 年 Linus 的这句话,到 2026 年该翻篇了。 现在的现状是:“Code is cheap, show me the prompt.” 当下,AI 已经成了烂大街的词。在软件开发里,大家用 AI 的姿势逐渐分化成了两个极端:一种叫“许愿式编程”(Wishful Programming),只要嘴皮子一动,就指望 AI 把整个数字城堡盖起来;另一种叫“奴隶式编程”(Slave-driven Programming),把 AI 当成没有灵魂的搬砖工,一行接口、一个类地去死抠。
尤其是在国内电力行业这种重度依赖稳定性、充斥着各种私有协议(104、Modbus、IEC 61850)、业务逻辑极其复杂的 IT 开发场景下,这两种方式到底撞出了怎样的火花?结合网友们被 AI 坑过又爽过的血泪体验,咱们今天就来扯扯这两种方式的底层差异,以及在实际工程中,我们到底该怎么把 AI“往死里用”,而不是被它带进沟里。
一、 概念解构:两只电子屎壳郎的殊途同归
先别觉得这两个词高端,撕开科技的遮羞布,在日常 CRUD 的工作里,这两种模式的本质其实很好理解:
1. 许愿式编程:大局观拉满,细节全靠“猜”
- 典型行为:“我需要一个类似虚拟电厂(VPP)的现货交易收益计算系统,要有日前报价、日内调度和零售考核功能,界面要科技感,左边大屏、右边图表,立刻给我生成。”
- 本质:试图用直觉代替逻辑,用宏观描述跨越工程鸿沟。 许愿者通常扮演“懂王”角色,把 AI 当成一个全知全能的架构总监兼全栈开发。
- 网友体验:爽是真的爽,尤其是第一周。三个人两周就能拉起一个高大上的内部管理系统演示。但三个月后改需求时,所有人都想死。接口莫名其妙报错,数据流向没人能看懂。局部极其优秀,全局极其稀烂。
2. 奴隶式编程:局部严防死守,全局“听天由命”
- 典型行为:“现在生成一个 Spring Boot 框架下的
KafkaConsumer类,实现MessageListener接口,要求和MongoIndexService的upsert接口对接,处理电网频率秒级采样数据,把异常丢入死信队列。” - 本质:把约束前置,把 AI 圈死在一条设定好的跑道里。 开发者不相信 AI 的大局观,只榨取它在特定代码块上的超高产能。
- 网友体验:写代码的效率暴涨了 100 倍,以前一天写 2 个接口,现在一天能按 Tab 键按出 20 个类。但如果开发者缺乏向上抽象的能力,这不过是加速了电子垃圾的生产。原本你一个人一天写 3 个 bug,现在 AI 帮你一天写 30 个 bug,还附带 75% 的逻辑漏洞。
二、 差异对撞:当两种模式遇上国内电力 IT 场景
如果把这两种模式放到互联网行业,大不了就是服务器雪崩、连夜重启挂机。但要是放到国内的电力、能源行业 IT 开发场景,这两种方式的差异和弊端,就会被数十倍地放大。
电力系统(不管是调度平台、电网资产管理,还是现在火热的储能优化策略、碳资产管理平台)有着它极其恶劣的客观现实:
- 强物理约束与弱容错性:一行代码的计算逻辑错了,现货交易少算几个点,企业可能直接亏损几百万;控制指令发错,那不是重启能解决的。
- 新旧框架的断层:既要用最新的微服务(如 BladeX)去堆业务,又要用最传统的国产化数据库(如瀚高 HighGo)去做迁移适配;既有最新的 AI 负荷预测算法(SmileGBT、Ridge),又要去兼容十几年前电力仪表的古董私有协议。
在这个背景下,我们来看看两者的死法和活路:
1. 许愿式编程在电力场景:“连环异常堆栈案”的制造者
在电力行业玩许愿式编程,无异于让 AI 在雷区里裸奔。
- 致命伤:AI 缺乏行业“潜规则”和长程上下文。
- 场景还原:你让 AI 写一个“多源预测的储能优化调度策略”。AI 依靠网上的公开资料,噼里啪啦给你用 Python 写了一堆看似完美的线性规划代码。
- 结果:一上线直接抓瞎。AI 根本不知道某些特定节点在实际运行中会有 EXT4-fs 文件系统错误导致的硬件掉线;它不知道某些变压器的最大容量限制不是写在文档里,而是写在“贺总”昨天刚刚更新的 Confluence 备忘录里。它生成的代码没有容错、没有重试机制,只要一个 104 规约的报文长度稍微对不上,整个多线程线程池直接锁死、雪崩。
- 结论:在涉及核心电网业务时,纯粹的许愿式编程,下场就是“能力差 × AI = 灾难”。
2. 奴隶式编程在电力场景:把屎山堆得更整齐的“砖瓦匠”
相比之下,奴隶式编程在电力 IT 开发中更常见,大家天天开会讨论技术,实际上就是把产品原型当 ER 图,把 ext_info 当万能抽屉,让 AI 拼命塞代码。
- 致命伤:缺乏向上抽象的思维。
- 场景还原:要把 10 个 Java 应用、200 张数据表从 MySQL 迁移到瀚高(HighGo)数据库。开发者开启奴隶模式,让 AI 一个类一个类地去改 SQL、改多租户隔离、改字段类型。
- 结果:AI 极其听话,让你点 Tab 点到手指发麻。然而,由于你没有在全局做间接层设计(Indirection)或多态处理(Polymorphism),200 张表的迁移变成了 200 次机械的复制粘贴。一旦高层架构没对齐,到了联调阶段,你会发现各个模块的风格完全不统一,有的走 JPA,有的走 MyBatis-Plus,承重墙直接错位。
- 结论:奴隶式编程如果没有高阶的架构设计引路,你唯一得到的,就是在按下 Tab 补全之前,从来不问一句“这他妈到底是啥”,最终把自己活成了 AI 的外包。
三、 终极指南:AI 时代,电力 IT 人员的自救与进化
2026 年了,顶级大模型的上下文已经干到了 1000 万(10M)级别。全本《三国演义》丢进去都不够它塞牙缝的,这意味着 AI 正在经历“上下文内存化”的质变。它缺的不是代码产能,它缺的是决策和约束。
作为这个行业里的系统架构师或核心开发,如何指导团队把 AI 用到刀刃上?我们要把“许愿”的全局思维和“奴隶”的严谨约束结合起来,建立一套新型的开发方法论。
1. 短期策略:把架构约束前置,别让 AI 裸奔
- 先写约束,再让 AI 写局部代码:不要直接让 AI 去猜接口。先用 GRASP 模式(信息专家、低耦合、高内聚)定义好你的类型契约、依赖关系和架构规则。这就像是给 AI 划定好跑道。跑道建好了,你再用“奴隶式编程”去压榨它的局部产出。
- 把行业经验与“潜规则”知识库化:团队里老人踩过的坑(比如某款电表高低位字节颠倒、某些 MongoDB 索引在特定查询下的性能瓶颈),别只留在脑子里。把它们整理成 Markdown 丢给 AI 当成 RAG(检索增强生成)的上下文。这比培训十个新人有效得多。
- 测试前置与审查加严:代码库的膨胀速度现在翻了十倍,审查标准就必须跟着升级。让 AI 编写代码前,先让它(或另一个模型)生成详尽的边缘条件测试用例(比如:负荷预测数据为空怎么处理?电价突变为负数怎么处理?)。
2. 长期修行:保持向上抽象的能力,跳出“吃屎”循环
- 从砖瓦匠到城堡设计师:直觉来看,编写代码如同砌砖。但工程师思维告诉你,数据流如同血脉,系统架构才是骨骼。AI 能够帮你写任何局部代码,但它暂时无法帮你做出任何一个需要理解人际关系、行业潜规则、长期可维护性的全局决策。
- 多问一句“为什么”:在生产环境中排查过雪崩问题的人都知道,很多时候证据是不可信的。我们要找出系统正在执行“什么”,还要询问系统“为什么”执行。当你依赖 AI 生成某段现货交易的计算逻辑时,在按下 Tab 补全前,必须盯着那段代码问一句:“这个地方的边界条件真的对吗?网上的技术文章和 AI 生成的逻辑,真的符合我们这个省份的电力交易规则吗?”
结语
设计模式和架构模式,说白了就是解决问题的方法论。前人踩了无数的坑,总结出了应对方法,不是为了让你在面试时装逼,而是为了在面对庞大、混乱的生产系统时,能成倍地提升系统的可维护性和可靠性。
鲁迅(可能没)说过:“给我一个合理的架构,我能构建出横跨星辰的系统。”
在 AI 时代,代码变得前所未有的廉价,而向上抽象的思维、对业务全局的掌控、以及给 AI 划定边界的能力,才是最贵的硬通货。别当只会许愿的幻想家,也别当被 Tab 键奴役的电子屎壳郎。把约束握在手里,把思考留给自己,把脏活累活扔给 AI,这才是 2026 年最体面的编程姿势。

浙公网安备 33010602011771号