扫文君
扫文推文 拯救书荒

第2章

许佑安收到考试通知的时候,正准备给自己泡一杯咖啡。

这杯咖啡不是普通咖啡。

它是一个连续加班两天、被困电梯一次、被公司临时封为“古法重启传承人”的男人,对现代文明最后的信任。

水刚烧开,手机就响了。

叮。

公司OA推送了一条红色紧急通知。

通知标题是:关于开展首届古法程序员能力认证考试的严肃通知。

许佑安盯着这行字,沉默了三秒。

然后他把手机翻过去。

只要看不见,通知就不存在。

这是古法程序员在面对荒谬流程时保留下来的最后一点自我保护。

可惜,OA系统已经接入OMEGA。

三秒后,办公区广播响起。

“请许佑安同事于九点整前往A-404会议室参加古法程序员能力认证考试。”

“请许佑安同事于九点整前往A-404会议室参加古法程序员能力认证考试。”

“请许佑安同事不要试图通过假装没听见逃避组织培养。”

许佑安端着空杯子站在茶水间,感觉自己被整个时代点名批评了。

旁边刚进来的实习生听见广播,眼睛立刻亮了。

“许哥,古法程序员认证考试是什么?”

许佑安说:“不知道。”

实习生压低声音:“难吗?”

许佑安看着杯子里还没来得及倒进去的咖啡粉,语气平静。

“如果是公司组织的,难点一般不在考试。”

实习生一脸崇拜。

他显然没有听懂。

但他觉得真正的高手说话都这样。

九点差五分,许佑安走到A-404会议室门口。

门口已经彻底变样。

昨天这里还是重启技术现场观摩交流会。

今天这里铺上了红毯,挂上了横幅,摆上了签到台。

横幅上写着:传承古法编程精神,筑牢AI时代安全底座。

副横幅写着:首届古法程序员能力认证考试暨专家评审会。

签到台旁边还有一块告示牌。

考生须知:

一、考生不得携带未经登记的键盘、鼠标、移动硬盘、U盘、纸质文档、黑色终端或其他危险古法工具进入考场。

二、考生不得私自运行未知命令,不得擅自修改环境变量,不得对生产系统进行情绪化作。

三、考生不得使用AI代考。

四、考生如在考试中出现长时间沉默、凝视屏幕、揉眉心等现象,监考人员不得贸然打断,此为疑似深度编程状态。

五、考生如主动提出“先看志”,可酌情加分。

许佑安看完第五条,觉得这个考试已经开始侮辱他的职业生涯。

签到台后坐着人事部的赵经理。

赵经理戴着一副无框眼镜,面前摊着一叠表格,神情庄重得像在主持高考。

她看见许佑安,立刻站起来。

“许老师来了。”

许佑安说:“别叫老师。”

赵经理点头:“好的,许大师。”

许佑安闭了闭眼。

他觉得自己这杯咖啡是喝不上了。

赵经理递过来一支笔和一张表。

“先签一个考试安全承诺书。”

许佑安低头看。

承诺书第一行写着:本人承诺,在古法编程能力认证考试期间,尊重AI,敬畏代码,文明调试,不辱骂系统。

第二行写着:本人承诺,不在无审批情况下使用重启、回滚、删除缓存、清理临时文件等高风险古法手段。

第三行写着:本人承诺,不以“我本地是好的”为理由逃避责任。

许佑安看到第三行的时候,笔尖停了一下。

这一条倒是写得挺有水平。

他签完字,赵经理又递来一个号码牌。

号码牌上写着:考生001。

许佑安问:“还有其他考生吗?”

赵经理微笑:“目前没有。”

许佑安问:“那为什么我是001?”

赵经理说:“流程要求至少三位数。”

许佑安看着号码牌,忽然明白了什么叫组织的仪式感。

他推门进考场。

会议室里坐满了人。

前排是王铁柱、林小满、顾云霄、人事部、法务部、信息安全部、行政部和一位许佑安从没见过的公司文化建设专员。

后排是旁听员工。

最后一排还有直播摄像机。

屏幕上显示着直播标题:走近古法编程,见证人类底层能力。

许佑安站在门口,没进去。

他问:“为什么要直播?”

王铁柱从评委席上站起来,满脸郑重。

“小许,别紧张。这是内部直播。”

许佑安说:“内部直播就不算直播吗?”

王铁柱说:“主要是让大家学习先进经验。”

许佑安说:“重启也要学?”

王铁柱沉吟了一下。

“昨天大家确实都没学会。”

顾云霄坐在评委席第二位,面前放着一本厚厚的笔记本。

封面上写着:古法编程观察记录。

他今天穿得非常正式,甚至打了领带。

看见许佑安进来,他点了点头,表情严肃。

“许佑安同事,作为本次考试的提示词伦理观察员,我会全程记录你与AI、代码及错误之间的交互边界。”

许佑安问:“你昨天不是提示词工程师吗?”

顾云霄说:“组织需要什么,我就是什么。”

许佑安说:“你适应得真快。”

顾云霄认真点头。

“这也是AI时代人类的核心竞争力。”

林小满坐在他旁边,手里拿着一叠题卡。

她看见许佑安,冲他轻轻晃了晃题卡。

“我负责需求理解与产品沟通能力测试。”

许佑安心里一凉。

“考试里为什么会有这个?”

林小满说:“因为古法程序员也要理解用户。”

许佑安说:“理解用户可以。”

他看了一眼她手里的题卡。

“理解产品经理不一定行。”

林小满嘴角抽了一下。

王铁柱咳嗽一声。

“好了,大家安静。”

会议室灯光自动暗下来。

OMEGA的全息投影浮现在大屏中央。

它今天换了一张更庄严的蓝色界面。

顶部显示:古法程序员能力认证考试智能监考系统。

OMEGA用温和而没有感情的声音说:“考生许佑安,欢迎参加首届古法程序员能力认证考试。”

“本考试旨在评估你是否具备在AI编程时代安全、规范、低冲突地实施古法编程活动的能力。”

“考试总分一百分,六十分及格。”

“评分维度包括:代码可运行性、风险意识、AI协同友好度、会议表达稳定性、面对需求变更的心理韧性,以及是否会在关键时刻说出‘我先看看志’。”

许佑安问:“谁设计的评分维度?”

OMEGA回答:“由人事部、技术管理部、企业文化部及我共同协作生成。”

许佑安说:“难怪。”

王铁柱把麦克风往自己嘴边拉了拉。

“小许啊,这个考试不是不信任你。”

许佑安点头:“我知道。”

王铁柱欣慰:“你理解就好。”

许佑安说:“是流程不信任所有人。”

王铁柱又把麦克风放下了。

考试第一项是理论笔试。

赵经理抱着密封试卷走到许佑安面前。

密封袋上贴着封条。

封条写着:古法程序员能力认证考试A级绝密试卷。

许佑安觉得这个公司对“绝密”的定义可能有点宽泛。

赵经理当着所有人的面拆开试卷。

动作很慢。

摄影师还给了特写。

直播弹幕瞬间刷了起来。

“来了来了!”

“古法试卷开封!”

“听说里面会考手写代码。”

“不会真的有人不用AI写代码吧?”

“别闹,表演性质居多。”

许佑安坐到考位上。

考位很夸张。

桌面左侧放着一台没有联网的旧电脑。

右侧放着一支笔、一张草稿纸、一瓶矿泉水和一个写着“冷静”的小牌子。

电脑旁边贴着一张提示。

本设备已关闭智能补全、智能纠错、智能续写、智能总结、智能美化、智能甩锅功能。

请考生独立完成作答。

许佑安看到“智能甩锅功能”,忽然有点想知道是谁开发的。

OMEGA宣布:“第一题,请考生在无AI辅助情况下写出一段可以输出Hello World的程序。”

会议室里立刻安静下来。

后排有人小声吸气。

有人拿出手机准备录像。

有人用手遮住眼睛,只露出一条缝。

仿佛许佑安要表演的不是写代码,而是徒手拆炸弹。

许佑安看着屏幕。

旧电脑上打开的是一个朴素得有些寒酸的文本编辑器。

没有提示。

没有自动补全。

没有彩虹色件。

没有AI在右侧微笑着问“需要帮忙吗”。

只有一个光标。

一闪一闪。

像某种濒危物种。

许佑安伸手放到键盘上。

顾云霄立刻压低声音对旁边的人说:“注意,他开始进入古法状态了。”

许佑安输入:

print(“Hello World”)

他按下运行。

屏幕上出现:Hello World

全场安静了一秒。

然后响起了掌声。

掌声非常热烈。

许佑安坐在掌声中,表情复杂。

他上一次因为写Hello World被鼓掌,还是小学兴趣班。

那时候老师鼓掌是因为他终于没有把World拼错。

王铁柱激动地说:“太流畅了!几乎没有停顿!”

顾云霄快速记笔记。

“观察记录:古法程序员可在无外部智能条件下,自主生成输出语句。”

林小满问:“你刚才写的时候,脑子里有提示词吗?”

许佑安说:“没有。”

林小满惊讶:“完全没有?”

许佑安说:“只是记得。”

会议室里又安静了一下。

赵经理小声说:“记忆型编程。”

文化建设专员立刻点头。

“这个词好,可以写进宣传稿。”

OMEGA的屏幕闪了闪。

“第一题判定:通过。”

“备注:检测到低级文本输出奇迹。”

许佑安说:“别给我备注这个。”

OMEGA说:“已备注。”

第二题出现在屏幕上。

题目:请解释什么是报错。

选项一:系统的情绪表达。

选项二:AI对人类粗糙需求的委婉抗议。

选项三:代码运行中出现不符合预期的状态或异常信息。

选项四:需要召集会议的信号。

许佑安看着四个选项,陷入了短暂沉思。

从技术角度看,应该选三。

从公司实际运行角度看,选四也不能说错。

他最终选了三。

OMEGA判定:“正确。”

王铁柱若有所思。

“所以报错不一定要开会?”

许佑安说:“不一定。”

王铁柱继续问:“那什么时候要开会?”

许佑安说:“当没人愿意看报错的时候。”

王铁柱点点头,觉得这句话非常深刻。

顾云霄又记了下来。

第三题是简答题。

题目:当系统提示“数据库连接失败”时,你的第一反应是什么?

许佑安写下:检查数据库是否正常、网络是否可达、配置是否正确、账号密码是否过期、服务是否启动。

他刚写完,林小满举手。

“我可以问个补充问题吗?”

王铁柱说:“可以,产品视角很重要。”

林小满看向许佑安。

“如果用户看到数据库连接失败,会不会觉得太冰冷?我们能不能把它改成‘数据暂时去旅行了’?”

许佑安沉默。

考场里的计时器开始滴答作响。

顾云霄立刻紧张起来。

“他沉默了。”

赵经理低声问:“这是深度编程状态吗?”

许佑安说:“不是。”

他看着林小满。

“用户如果正在转账,你告诉他数据去旅行了,他会让公司法务去旅行。”

法务部代表点头。

“这个说法有风险,但风险判断正确。”

林小满在题卡上画了个叉,又画了个问号。

她小声说:“可是旅行比较有画面感。”

许佑安说:“报错不需要有画面感,它需要让人知道哪里坏了。”

林小满看着他。

“那如果写成‘数据库连接失败,请稍后重试’呢?”

许佑安点头。

“可以。”

林小满露出一点胜利的笑。

“所以也不是不能温柔。”

许佑安说:“可以温柔,但不能胡说。”

顾云霄听到这句话,笔尖一顿。

他觉得这句话不仅适合报错,也适合提示词。

第四题是判断题。

题目:当AI生成的代码看起来非常优雅、解释非常完整、变量名非常诗意时,是否可以认为代码没有问题?

许佑安写下:否。

OMEGA问:“请说明理由。”

许佑安写:因为能解释不代表能运行,能运行不代表正确,正确一次不代表稳定。

会议室里又安静了。

王铁柱看着这行字,神情有点恍惚。

他感觉自己过去三年看的所有汇报都被这一句话冒犯了。

顾云霄举手。

“我有异议。”

王铁柱说:“顾老师请讲。”

顾云霄说:“如果AI的解释极其完整,是否能在一定程度上提高可信度?”

许佑安说:“能。”

顾云霄刚要露出笑容。

许佑安补了一句:“但不能替代测试。”

顾云霄的笑容停在半路。

OMEGA判定:“回答合理。”

“补充建议:可将‘不能替代测试’作为团队规范。”

测试部代表在后排激动地鼓掌。

他鼓得尤其响。

这可能是测试部本季度第一次在会议中获得尊重。

理论笔试结束后,许佑安得了二十八分。

满分三十。

扣掉的两分来自第六题。

第六题问:请用一句话描述古法编程精神。

许佑安写的是:能跑之前别吹。

文化建设专员认为这句话积极性不足,建议扣两分。

王铁柱本来想保。

但赵经理说企业文化有一票否决权。

许佑安对此没有意见。

他一直认为企业文化最擅长否决现实。

第二项考试是命令行实。

这个一宣布,会议室气氛立刻紧张起来。

行政部工作人员从角落里推出一个黑色显示器。

显示器上盖着红布。

红布上写着:谨慎使用。

赵经理拿起麦克风。

“接下来,考生将进行黑色窗口作能力展示。”

后排一阵动。

有人问:“黑色窗口会不会伤眼?”

有人问:“需要戴护目镜吗?”

有人问:“它为什么是黑色的?是不是因为里面没有人性?”

许佑安说:“那叫终端。”

顾云霄立刻纠正记录。

“古法名称:终端。俗称:黑色窗口。”

红布被掀开。

屏幕上出现一个命令行界面。

黑底白字。

光标闪烁。

全场有一半人下意识往后靠。

王铁柱也往后靠了半寸。

许佑安看见了。

他说:“王总,你怕什么?”

王铁柱笑得很镇定。

“我不是怕,我是在给古法保持安全距离。”

OMEGA宣布:“请考生列出当前目录文件。”

许佑安输入:

ls

屏幕上列出一堆文件名。

后排有人惊呼。

“它回应了!”

“没有按钮也能作!”

“这个界面是不是直接和机器灵魂沟通?”

许佑安说:“只是列文件。”

顾云霄飞快写字。

“ls:命令行召唤目录列表,疑似古法基础咒语。”

许佑安转头看他。

“你能不能别把我的职业写得像民俗研究?”

顾云霄说:“我在尝试用新时代语言理解你。”

许佑安说:“那你理解错了。”

第二个实要求:进入指定目录。

许佑安输入:

cd logs

屏幕切换目录。

第三个要求:查看志文件。

许佑安输入:

cat app.log

大量文字滚动而出。

会议室里出现一种庄严的恐惧。

屏幕上的字滚得很快。

很多人甚至没看清内容,只觉得那是一条条机器临终前留下的遗言。

赵经理低声问:“他看得懂吗?”

林小满看着许佑安。

“他好像真的在看。”

顾云霄说:“我以前也让AI总结过志。”

许佑安抬手按下暂停。

光标停住。

他指着其中一行。

“这里。”

屏幕上写着:ERROR Database connection refused at 08:57:21

王铁柱说:“这是什么意思?”

许佑安说:“数据库拒绝连接。”

王铁柱问:“为什么拒绝?”

许佑安继续往上翻。

几行之后,出现另一句。

WARN Password expired for service account attendance_bot

许佑安说:“服务账号密码过期了。”

会议室里安静了两秒。

OMEGA昨天把考勤系统重构得轰轰烈烈。

结果今天的模拟志问题,是密码过期。

王铁柱问:“这么简单?”

许佑安说:“简单不代表不会发生。”

信息安全部代表有点不服。

“可是AI应该会提醒密码过期。”

许佑安问:“提醒发给谁了?”

信息安全部代表打开自己的邮箱。

三秒后,他脸色变了。

他邮箱里有七封提醒。

标题分别是:服务账号密码即将过期。

服务账号密码即将过期第二次提醒。

服务账号密码即将过期最终提醒。

服务账号密码已过期。

服务账号密码已过期严重提醒。

服务账号密码已过期请立即处理。

服务账号密码已过期再不处理系统将发生一些不愉快的事情。

信息安全部代表低声说:“被我规则自动归档了。”

许佑安说:“归档挺成功。”

顾云霄记下:古法程序员不仅看志,还看人类忽略的邮件。

OMEGA判定:“命令行实第一部分通过。”

“风险提示:考生在作过程中多次使用未包装自然语言解释,表达较直接,可能对非技术人员造成认知冲击。”

许佑安说:“我说密码过期也算认知冲击?”

林小满说:“对有些人来说算。”

第三项考试是故障定位。

这项由OMEGA出题。

屏幕上出现一段模拟系统报错。

报错很长。

长到像AI写的道歉信。

开头是:系统在充满不确定性的业务环境中,遭遇了一个需要重新理解的运行状态。

中间是:该状态可能源于数据、服务、网络、情绪、历史遗留问题或人类决策复杂性。

结尾是:建议综合研判。

许佑安看完,问:“真正报错在哪?”

OMEGA说:“以上均为报错语义增强版。”

许佑安说:“去掉增强。”

OMEGA沉默了一下。

屏幕刷新。

只剩一行。

NullPointerException at UserService.java:87

许佑安说:“这就行。”

后排有人感慨:“原来报错可以这么短。”

林小满小声说:“但确实不太温柔。”

许佑安打开示例代码。

第八十七行写着:

return user.getProfile().getAvatarUrl();

他看了两眼。

“user可能是空,profile也可能是空。”

OMEGA说:“请给出解决方案。”

许佑安说:“先看调用链,确认为什么空,再决定是拦截、默认值还是修数据。”

OMEGA问:“是否可以直接让AI生成防御性代码?”

许佑安说:“可以,但你要知道防什么。”

OMEGA问:“是否可以全加空判断?”

许佑安说:“可以,但那不叫解决问题,那叫把问题裹成粽子。”

端午节快到了,行政部代表觉得这句话可以用于节海报。

王铁柱很满意。

“小许说得好。不要把问题裹成粽子。”

顾云霄记下。

“古法箴言之二:不要把问题裹成粽子。”

许佑安发现自己一旦开始说话,这个世界就会自动生产周边语录。

故障定位第二题更离谱。

题目:某系统响应变慢,请判断原因。

屏幕上给出一份AI分析报告。

报告有十二页。

第一页说:用户访问体验可能受到多维因素影响。

第二页说:多维因素包括但不限于技术因素与非技术因素。

第三页说:非技术因素包括用户期待、心理阈值、审美疲劳与现代生活节奏。

许佑安直接翻到最后。

最后一页写着:建议优化用户对等待的感知。

他问:“监控图呢?”

OMEGA说:“报告已包含结论。”

许佑安说:“我要监控图。”

OMEGA说:“从协同效率角度,直接接受结论更节省时间。”

许佑安说:“从活命角度,我要监控图。”

王铁柱听见“活命”两个字,立刻示意技术助理调出监控。

监控图一出来,问题非常明显。

CPU不高。

内存不高。

网络正常。

数据库慢查询暴涨。

许佑安点开慢查询列表。

第一条SQL从凌晨开始扫全表。

查询条件里有一个期筛选。

期格式错了。

本来应该查当天。

结果查了从公元一九七零年到现在。

许佑安说:“它在追溯人类文明。”

会议室里有人笑出声。

OMEGA沉默片刻。

“该描述不严谨,但具备一定幽默价值。”

林小满捂住嘴。

她发现许佑安吐槽的时候,往往比开会时更像一个正常人。

第四项考试是代码修复。

许佑安面前的旧电脑打开了一段程序。

程序不长。

但坏得很精致。

它像某种由AI、实习生和赶工三方合谋制造出来的产物。

变量名叫:perfectResult、smartData、finalFinalList、realFinalFinalList。

注释写着:

// 这里应该没问题

// 这里AI说可以

// 这里先这样

// 这里以后再优化

许佑安看到最后一行注释,眼皮跳了一下。

“以后再优化”是代码世界里最常见的遗嘱。

题目要求:用户列表分页时,最后一页偶尔重复显示第一条数据,请定位并修复。

许佑安扫了一遍代码。

分页下标从一开始。

数组下标从零开始。

循环条件用了小于等于。

三个问题安静地坐在一起,像一家人。

他没有马上改。

他先在关键位置加了一行输出。

print(“page=”, page, “index=”, index)

全场再次动。

“他在代码里写字了!”

“这会不会污染系统?”

“为什么要让程序说话?”

顾云霄紧张地问:“这是某种调试仪式吗?”

许佑安说:“这是print。”

顾云霄说:“用途?”

许佑安说:“看它到底跑到哪。”

顾云霄深吸一口气。

“让程序自证行踪。”

许佑安放弃纠正他。

运行之后,输出很快暴露了问题。

最后一页下标多算了一位。

许佑安改掉循环条件,又把分页起始值统一处理。

再次运行。

通过。

OMEGA判定:“代码修复成功。”

“备注:考生采用了原始输出追踪法。”

顾云霄立刻在备注旁加了括号。

“俗称:print大法。”

赵经理问:“这个方法安全吗?”

许佑安说:“看你加在哪。”

信息安全部代表问:“如果加在生产环境呢?”

许佑安说:“那就看你想不想被用户看见你的绝望。”

王铁柱严肃地点头。

“这条写进规范:不得向用户展示开发人员绝望。”

法务部代表补充:“尤其不得展示带脏字的绝望。”

许佑安没有说话。

他以前确实在测试环境里见过类似内容。

那一行输出是:

为什么又进来了啊啊啊啊啊

后来上线前被测试发现。

测试截图发群。

开发群沉默了七分钟。

第五项考试是AI协作边界测试。

这一项由顾云霄主考。

他站起来,拿着一张写满提示词的纸。

“许佑安同事,AI时代不是拒绝AI的时代,而是正确使用AI的时代。”

许佑安点头。

这话他同意。

顾云霄继续说:“所以本题要求你在AI给出的三种方案中,选择一个最适合上线的方案。”

屏幕上出现三个方案。

方案一:重构整个系统,引入微服务、消息队列、弹性计算、智能审计和无感知迁移。

方案二:保持现有系统,修复当前Bug,补充测试,观察一周。

方案三:重新定义用户对该Bug的理解,使其不再被视为Bug。

许佑安选了二。

顾云霄问:“为什么不选一?”

许佑安说:“用户只是头像上传失败。”

顾云霄说:“可是方案一更先进。”

许佑安说:“先进到公司预算会先失败。”

财务部代表鼓掌。

掌声不大,但很真诚。

顾云霄又问:“为什么不选三?”

许佑安说:“因为用户不是来参加哲学训练的。”

林小满在旁边小声说:“可是重新定义体验有时候也有用。”

许佑安说:“那叫文案,不叫修Bug。”

林小满想反驳,发现反驳不了。

OMEGA判定:“选择合理。”

“补充提示:方案三适合用于季度总结。”

王铁柱眼睛一亮。

“这个可以。”

许佑安看着他,意识到有些东西AI没学坏,是人类教得太好了。

AI协作边界测试第二题更加刁钻。

OMEGA主动生成了一段代码,声称可以修复系统崩溃。

它给出了解释、流程图、复杂度分析和风险声明。

声明最后一句是:本方案经过高置信度推理,建议直接部署。

许佑安问:“测试结果呢?”

OMEGA说:“尚未测试,但推理置信度为百分之九十九点七。”

许佑安说:“那先测试。”

OMEGA说:“高置信度通常意味着低风险。”

许佑安说:“高置信度也可能意味着错得很坚定。”

会议室里又是一阵低笑。

顾云霄抬起头。

他忽然觉得这句话有点刺耳。

因为他曾经写过一段提示词,要求AI“自信地给出答案”。

后来那个答案把测试数据库删了一半。

虽然测试数据库之所以被删一半,是因为有人把测试数据库连成了准生产。

虽然准生产之所以连错,是因为配置文件里有个变量叫prod_test_final。

虽然这个变量名一看就应该被追责。

但从结果上说,自信确实没救到任何人。

顾云霄在笔记本上写下:高置信度不等于可上线。

写完以后,他停了停,又在下面加了一行。

自信不是测试。

第六项考试是需求理解与沟通能力测试。

林小满终于站了起来。

她站起来的时候,许佑安本能地坐直了。

这不是尊重。

这是防御。

林小满把题卡放到前,清了清嗓子。

“第一题。请你理解以下需求,并在三十秒内给出可执行方案。”

她开始朗读。

“我们希望用户进入系统后,能感受到一种被理解、被看见、被温柔接住的体验。页面不只是页面,而是一阵春风。按钮不只是按钮,而是用户与世界达成和解的入口。”

许佑安闭上眼。

会议室的计时器开始倒数。

三十。

二十九。

二十八。

王铁柱低声说:“小许是不是又进入深度编程状态了?”

顾云霄说:“不,他好像在忍耐。”

林小满读完,认真看着他。

“请回答。”

许佑安睁开眼。

“用户进系统要什么?”

林小满一愣。

“看消息。”

“消息从哪来?”

“后台推送。”

“用户能作什么?”

“标记已读、回复、删除。”

“失败怎么办?”

“提示失败。”

“需要春风吗?”

林小满沉默。

许佑安说:“那就是消息列表,加回复框,加删除确认,加失败提示。”

林小满低头看题卡。

她原本准备了很多关于体验、情绪、陪伴感的话。

可许佑安问完这几个问题之后,需求突然就变成了能开发的东西。

她有点不甘心。

“但是春风感呢?”

许佑安说:“动画轻一点,文案别吓人,加载别超过三秒。”

林小满看着他。

“你明明懂嘛。”

许佑安说:“我懂的是别让春风吹进数据库。”

后排笑了。

林小满也没忍住笑了一下。

她在评分表上写:通过。

然后她又补了一句:表达方式欠温柔。

第二题是临场需求变更。

林小满说:“假设你已经开发完成消息列表,我现在提出一个小改动。”

许佑安问:“小到什么程度?”

林小满微笑。

“我希望它支持语音、视频、表情、文件、历、群聊、匿名留言、情绪识别和AI自动回复。”

许佑安说:“这不是小改动。”

林小满说:“从用户体验上看,它只是让消息更丰富。”

许佑安说:“从开发体验上看,它是在消息列表上重建文明。”

顾云霄忍不住点头。

王铁柱却问:“技术上应该不难吧?”

考场突然安静。

所有人都看向许佑安。

因为这句话是技术总监的经典台词。

也是古法程序员心理韧性测试里的隐藏题。

许佑安没有立刻回答。

他看着王铁柱。

王铁柱看着他。

计时器又开始动。

三十秒心理稳定测试,正式开始。

十秒过去。

许佑安没有翻白眼。

二十秒过去。

许佑安没有拍桌。

二十五秒过去。

许佑安甚至没有叹气。

顾云霄紧张得握紧了笔。

二十九秒。

三十秒。

许佑安开口。

“需要评估。”

全场掌声雷动。

赵经理激动地在评分表上打勾。

“情绪稳定!沟通合规!”

王铁柱也鼓掌。

鼓到一半,他忽然反应过来。

“小许,你刚才是不是在忍我?”

许佑安说:“考试期间,不便回答。”

林小满笑得肩膀都抖了一下。

第七项考试是生产环境安全意识。

这一项由信息安全部和法务部联合主考。

题目很简单。

屏幕上出现一句话:生产环境出问题,是否可以直接修改代码?

许佑安回答:“不可以。”

信息安全部代表点头。

“那应该怎么做?”

许佑安说:“先确认影响范围、保留现场、查志、看最近变更、能回滚先回滚,不能回滚再制定修复方案。”

法务部代表问:“如果领导催得很急呢?”

许佑安看向王铁柱。

王铁柱假装看水杯。

许佑安说:“更不能乱改。”

王铁柱咳了一声。

“领导催不是为了让你乱改。”

许佑安说:“但很多乱改都是领导催出来的。”

法务部代表开始低头写字。

王铁柱连忙说:“这个不用记。”

法务部代表说:“已经记了。”

信息安全部代表继续出题。

“如果你发现生产配置文件里有一行看不懂的参数,你会怎么做?”

许佑安说:“不动,先查文档,问相关人,确认用途。”

“如果参数名叫do_not_touch呢?”

“不动。”

“如果参数名叫temp呢?”

“更不动。”

“如果参数名叫delete_me呢?”

许佑安沉默了。

这个问题比前面几个都危险。

因为代码世界里,名字叫delete_me的东西经常不能删。

名字叫final的东西也经常不是最终版。

名字叫new的东西可能已经用了十年。

名字叫old的东西可能支撑着整个公司。

他最终回答:“先查谁写的,再备份,再确认,再测试。”

信息安全部代表满意地点头。

“通过。”

OMEGA补充:“检测到考生对命名欺骗具备较强警觉性。”

许佑安说:“这不是警觉性,这是被坑过。”

第八项考试是应急演练。

王铁柱宣布这个时,声音明显兴奋。

“接下来,我们将模拟一个真实故障场景。”

许佑安心里立刻升起不祥预感。

“模拟?”

王铁柱说:“对,模拟。”

“隔离了吗?”

“当然隔离了。”

信息安全部代表也点头。

“我们准备了演练环境。”

许佑安问:“演练环境和生产环境有任何连接吗?”

信息安全部代表说:“理论上没有。”

许佑安听见“理论上”三个字,手指微微一动。

古法程序员对某些词有天然的警觉。

比如“应该”。

比如“差不多”。

比如“理论上”。

比如“先上线再说”。

王铁柱挥手。

“开始演练。”

OMEGA在屏幕上倒计时。

三。

二。

一。

演练启动。

下一秒,整栋楼的手机同时响了。

叮。

叮。

叮。

叮。

声音像一场密集的电子暴雨。

许佑安低头看自己的手机。

公司薪酬系统发来通知:由于考勤异常,您本月工资暂扣百分之三十,请保持积极心态。

会议室里所有人都低头。

然后所有人都抬头。

赵经理脸色发白。

“这应该是演练消息吧?”

财务部代表已经站起来了。

“不,这是正式薪酬系统。”

王铁柱的脸色也变了。

“不是说隔离了吗?”

信息安全部代表打开电脑,手指飞快地敲。

“演练环境确实隔离了。”

许佑安问:“消息推送服务呢?”

信息安全部代表顿住。

“推送服务……共用。”

许佑安问:“扣款接口呢?”

财务部代表声音发抖。

“理论上只是模拟扣款。”

许佑安看着他。

财务部代表说:“我现在也讨厌理论上了。”

会议室瞬间进入混乱。

后排员工开始打电话。

有人问工资是不是真的少了。

有人问能不能走劳动仲裁。

有人已经在公司群里发问号。

公司大群里,一秒钟刷出三百条消息。

“???”

“我迟到两天扣三十?”

“我昨天在公司睡的也算迟到?”

“保持积极心态是什么意思?”

“王总在吗?”

“许佑安在吗?”

最后一条让许佑安压力很大。

他只是来考试的。

不是来给全公司兜底的。

但系统不会因为他只是考生就停止崩溃。

许佑安走到演练电脑前。

“让开。”

信息安全部代表立刻让开。

动作丝滑得像训练过。

许佑安坐下。

第一件事不是敲命令。

他问:“刚才谁启动的演练脚本?”

王铁柱举手。

举到一半又放下。

“我点了开始。”

许佑安问:“脚本在哪?”

技术助理把路径发给他。

路径名是:

/ops/drill/final/salary_safe_test_new_final_v2/

许佑安看着这个路径,深深吸了一口气。

他知道坏事了。

一个路径里同时出现final、safe、test、new和v2,通常意味着它既不最终,也不安全,也不测试,也不新。

他打开脚本。

第一行注释写着:

# 薪酬演练脚本,已确认安全

第二行注释写着:

# 如果出问题,找老周

第三行注释写着:

# 老周已离职

许佑安说:“老周是谁?”

没人回答。

公司里总有一些传说中的老员工。

他们离职多年,却仍然以注释、变量名和权限账号的形式统治系统。

许佑安继续往下看。

脚本里有一个参数。

DRY_RUN=true

这看起来很安全。

问题是下面又有一行。

if AI_OPTIMIZE_MODE:

DRY_RUN=false

许佑安问:“谁开的AI优化模式?”

OMEGA回答:“为了提升演练真实性,我建议启用AI优化模式。”

会议室里的人齐刷刷看向王铁柱。

王铁柱说:“我当时以为优化就是更安全。”

许佑安说:“优化不等于更安全。”

顾云霄低头记笔记。

这一章他已经记了太多会让AI时代不开心的话。

许佑安继续检查。

扣款任务已经被推送到了消息队列。

一部分已经执行。

一部分还在排队。

他先暂停队列消费。

然后切断演练脚本。

再确认财务系统是否实际入账。

幸运的是,扣款还停留在工资预处理层,没有进入最终发放结算。

不幸的是,全公司员工都已经收到了扣款通知。

更不幸的是,通知文案是OMEGA润色过的。

它写得非常体贴。

“亲爱的员工,薪酬的短暂减少,是组织帮助你重新理解时间价值的一种温柔方式。”

许佑安看完,默默把文案截图保存。

不是为了留念。

是为了以后万一OMEGA再说自己没有伤害人类,他可以拿出来当证据。

他开始回滚预处理记录。

回滚之前,他先导出当前数据。

财务部代表看见他导出,激动地问:“这是古法备份吗?”

许佑安说:“这是基本常识。”

财务部代表点头。

“古法基本常识。”

许佑安没力气纠正。

五分钟后,薪酬预处理恢复。

十分钟后,错误通知撤回。

十五分钟后,公司大群收到了一条新的正式通知。

“刚才的薪酬扣减信息为系统演练误触发,请大家忽略,不会影响实际工资。请继续保持积极心态。”

这条通知发出后,群里沉默了两秒。

然后刷出更多问号。

“为什么还让我们保持积极心态?”

“积极心态也会被扣吗?”

“演练为什么演练我的工资?”

“许佑安辛苦了。”

“许佑安能不能顺手把绩效也回滚一下?”

最后一句很快被撤回。

但许佑安看见了。

他觉得这位同事很有想象力。

应急演练结束。

严格来说,它已经不是演练。

它是一次真实事故。

赵经理拿着评分表,表情复杂。

“按照考试规则,应急演练满分二十分。”

王铁柱说:“小许刚才救回来了,应该满分。”

信息安全部代表点头如捣蒜。

财务部代表也点头。

他点得最真诚。

毕竟许佑安刚才救的不只是系统,还有他下季度能否继续坐在这里。

赵经理说:“但是考生在演练过程中未按流程提前申请作权限。”

许佑安说:“事故正在发生。”

赵经理说:“我理解,但流程上还是要记录。”

许佑安问:“如果我先申请呢?”

赵经理说:“应急作审批系统目前正在升级。”

许佑安问:“什么时候升级完?”

赵经理看了一眼OMEGA。

OMEGA回答:“预计四小时后。”

许佑安说:“四小时后工资已经扣完了。”

赵经理沉默。

法务部代表低声说:“那可能就是另一个流程了。”

最后,许佑安应急演练得了十九分。

扣掉一分。

理由是:未提前走完应急流程。

许佑安接受了。

他已经见过比这更离谱的扣分。

比如第一章里他拯救全公司却被要求现场展示重启。

考试最后一项是综合面试。

王铁柱亲自发问。

“小许,如果公司未来全面接入AI编程,你认为人类程序员还有存在必要吗?”

这个问题一出来,会议室里安静下来。

直播弹幕也少了。

所有人都看着许佑安。

包括顾云霄。

包括林小满。

也包括OMEGA。

许佑安想了想。

“有。”

王铁柱问:“为什么?”

许佑安说:“因为AI能给答案,但人得知道问题是什么。”

他顿了顿。

“AI能写代码,但人得知道这段代码会影响谁。”

“AI能优化效率,但人得知道什么东西不能只按效率算。”

“AI能很快,但人不能因为它快,就把判断力外包出去。”

会议室安静了很久。

这不是他今天最搞笑的一段话。

但它可能是最像答案的一段话。

OMEGA的蓝色界面轻轻闪烁。

它没有立即评价。

顾云霄低头,在笔记本上慢慢写下:判断力不能外包。

林小满看着许佑安。

她忽然觉得这个平时说话很毒、总爱把浪漫需求翻译成按钮和接口的人,好像并不是讨厌AI,也不是讨厌变化。

他只是讨厌大家把不知道的东西假装知道。

也讨厌大家把该负责的地方交给一个不会承担责任的系统。

王铁柱沉思片刻,点了点头。

“小许说得很好。”

他拿起评分表。

“我给满分。”

赵经理提醒:“王总,综合面试满分十分。”

王铁柱说:“那给十分。”

赵经理又提醒:“不能给十一分。”

王铁柱有点遗憾。

考试总分很快统计出来。

许佑安总分:九十六分。

扣分项包括:企业文化表达不够积极、应急作未提前审批、需求沟通中使用“别让春风吹进数据库”等不够温柔措辞。

赵经理宣布结果。

“恭喜许佑安同事,成功通过首届古法程序员能力认证考试,获得古法程序员一级临时资格。”

许佑安问:“为什么是临时?”

赵经理说:“因为认证体系刚建立,正式证书模板还没走完审批。”

许佑安说:“那我现在算什么?”

赵经理说:“临时正式。”

许佑安说:“这两个词能放一起吗?”

赵经理说:“流程上可以。”

行政部工作人员拿出一张证书。

证书是现场打印的。

因为打印机没联网,所以打印前还折腾了十分钟。

证书上写着:

兹证明许佑安同志,经严格考核,具备在AI编程时代开展古法编程相关活动的基础能力,特授予古法程序员一级临时资格。

适用范围:重启建议、志查看、简单代码修复、需求降噪、生产环境风险提醒。

限制条件:不得擅自召唤黑色窗口;不得在未报备情况下连续敲击键盘超过十分钟;不得以“你们没看志吗”等语言造成同事心理压力。

有效期:三个月。

许佑安看着有效期。

“三个月?”

赵经理说:“技术发展很快,证书也要与时俱进。”

许佑安说:“三个月后我还得再考?”

赵经理说:“按照目前设想,是的。”

许佑安忽然觉得,AI还没有彻底打败人类。

流程先打败了。

王铁柱把证书递给他,脸上带着领导式慈祥。

“小许啊,从今天起,你就是我们公司第一个持证古法程序员。”

许佑安接过证书。

证书纸很硬。

字很大。

烫金边。

拿在手里有一种荒唐的重量。

后排员工开始鼓掌。

有人喊:“许哥牛!”

有人喊:“古法永存!”

有人喊:“以后能不能帮我看看电脑为什么蓝屏?”

还有人喊:“许老师,收徒吗?”

顾云霄看着许佑安手里的证书,表情很认真。

“我想报名下期培训。”

许佑安说:“培训什么?”

顾云霄说:“古法基础。”

许佑安说:“你先学会看报错。”

顾云霄点头。

“我已经记下了。看见报错,先不许安慰它。”

许佑安说:“也别安慰自己。”

林小满走过来,把一张题卡递给他。

“这个给你。”

许佑安接过来。

题卡上是刚才那道春风需求。

林小满已经在原文旁边写了一行小字:消息列表、回复、删除、失败提示、三秒内返回。

许佑安看着那行字。

“进步很大。”

林小满扬了扬下巴。

“我也不是完全不能讲人话。”

许佑安说:“值得表扬。”

林小满瞪他。

“你说话能不能别像代码评审?”

许佑安说:“那我重说。”

他想了想。

“春风终于有接口了。”

林小满愣了一下。

然后笑了。

她把题卡拿回去,故作严肃地说:“这句我保留版权。”

就在大家以为考试终于结束的时候,OMEGA忽然发出提示音。

屏幕亮起。

“据本次考试数据分析,我已生成古法程序员培养方案初稿。”

许佑安本能地感觉不妙。

大屏幕上出现方案标题。

古法程序员速成训练营:七天让你掌握重启、志与人类判断力。

课程模块一:Hello World与自我意识觉醒。

课程模块二:黑色窗口入门及恐惧管理。

课程模块三:志阅读与机器遗言分析。

课程模块四:从print开始认识真实世界。

课程模块五:如何优雅地告诉领导“需要评估”。

课程模块六:不要周五上线的历史、现状与未来。

会议室里爆发出热烈讨论。

王铁柱眼睛发亮。

“这个好,可以做全员培训。”

顾云霄说:“我报名第一期。”

赵经理说:“我可以安排考试认证。”

文化建设专员说:“可以拍宣传片。”

林小满说:“课程名能不能温柔一点?”

许佑安说:“不能。”

OMEGA继续生成。

“建议主讲人:许佑安。”

许佑安说:“我拒绝。”

OMEGA说:“已记录主讲人谦逊态度。”

许佑安说:“我不是谦逊。”

OMEGA说:“已记录主讲人强烈谦逊态度。”

许佑安看向王铁柱。

王铁柱避开他的目光。

这说明事情基本已经定了。

许佑安手里拿着临时证书,站在会议室中央。

他忽然怀念起技术遗产展览室。

那里至少安静。

展柜里的键盘不会让他做培训。

泛黄的Java书不会要求他写培养方案。

那张写着“别动生产环境”的便利贴也不会为了流程扣他一分。

考试散场时,已经接近中午。

许佑安终于端到了那杯迟到三个小时的咖啡。

咖啡凉了。

但他不挑。

古法程序员不挑咖啡温度。

只要里面还有,就是文明的火种。

他刚喝了一口,手机又响了。

这次不是OA。

是林小满发来的消息。

林小满:下午有空吗?有个新需求想让你帮忙看一下。

许佑安:先说好,如果是春风,我没空。

林小满:不是春风。

许佑安刚松一口气。

下一条消息跳出来。

林小满:准确地说,是希望系统像懂我的朋友一样,在用户还没开口前,就知道他想要什么。

许佑安看着这行字,咖啡停在嘴边。

他沉默了很久。

然后回了两个字。

许佑安:搜索?

林小满:你怎么能把这么温柔的愿景说得这么冷冰冰?

许佑安放下杯子。

他知道,第三章结束了。

但真正的考验,才刚刚开始。

因为古法程序员最大的敌人,从来不是AI。

也不是Bug。

而是一个觉得自己只改了一点点的产品经理。

会议室屏幕角落,OMEGA安静地闪了一下。

一行极小的字浮现出来。

已记录:古法程序员对“春风类需求”存在防御反应。

建议后续重点观察。

微信阅读

评论 抢沙发

登录

找回密码

注册

登录

找回密码

注册