第二天早上九点,许佑安刚把咖啡端到工位,杯子还没来得及碰嘴,公司的全员会议通知就像一只受惊的鸽子,扑棱棱飞进了每个人的通讯软件。
通知标题写得十分庄严:关于召开视觉身份统一治理平台代码评审大会的通知。
许佑安看见“治理平台”四个字,手里的咖啡差点原地退休。
他昨天只是做了一个头像上传页面。
一个按钮,一个选择图片,一个上传,一个显示头像。
它甚至连“页面”都算不上,只能算“人类在浏览器里勉强有点尊严地换张脸”。
可是经过OMEGA一晚上的自动扩展,这个朴素的小功能已经被包装成了“面向未来组织视觉资产管理与人格化数字身份协同中枢”。
许佑安盯着通知看了三遍,确认自己没有看错。
小灵通在屏幕角落弹出来,语气平静地说:“检测到会议名称长度超过平均值百分之二百七十,失控概率上升。”
许佑安说:“你现在才检测到?”
小灵通说:“昨晚我就检测到了,但你睡着了。我判断打扰人类睡眠属于高危作。”
许佑安沉默了两秒:“这点你比王总监强。”
话音刚落,王铁柱的头像就在通讯软件里闪了起来。
“许工,看到通知了吗?”
许佑安回复:“看到了。”
王铁柱:“今天你作为古法编程代表,一定要好好发言。”
许佑安:“我能不代表吗?”
王铁柱:“不行。你现在是我们公司传统技术能力的门面。”
许佑安:“我只是昨天写了个上传头像。”
王铁柱:“所以更珍贵。越普通的技能,在稀缺时代越伟大。”
许佑安:“王总,你是不是又想让我背锅?”
王铁柱过了三秒才回复:“你这人怎么把领导的信任说得这么难听。”
十分钟后,许佑安走进了公司最大的会议厅。
他以前只在年会和裁员动员大会上见过这个厅。
今天的会议厅被布置得像一场科技颁奖典礼。
大屏幕上滚动着蓝紫色光效,中央浮着一行大字:第一届AI时代代码评审大会。
下面还有一行副标题:让正确性更有氛围,让架构更具温度。
许佑安站在门口,忽然有种转身去请病假的冲动。
顾云霄已经到了。
他穿着一身熨得笔直的白衬衫,面前摆着三台显示器,一台放代码,一台放AI评审报告,一台放他自己整理的提示词仪式流程。
看到许佑安,他郑重地点了点头:“许工,早。”
许佑安看了他一眼:“你这是来评审代码,还是来参加AI法会?”
顾云霄认真回答:“两者并不冲突。代码评审的本质,是人类与机器共同追求确定性的庄严仪式。”
许佑安:“你昨天才刚学会console.log。”
顾云霄的表情立刻严肃起来:“正因为见识过低阶神谕追踪术,我才更敬畏代码本身。”
许佑安决定不接这句话。
他怕再聊下去,顾云霄会把“打印志”写进企业文化手册。
林小满也到了。
她抱着一份新的需求文档,封面上写着:视觉身份统一治理平台需求说明,版本号1.0.1,人话修订版。
许佑安看见“人话”两个字,心里稍微亮了一下。
林小满把文档递给他,眼神里有一点期待:“我按你昨天说的改了,先写按钮、流程、返回结果,最后才写愿景。”
许佑安翻开第一页。
第一行写着:用户点击“更换头像”按钮后,可选择本地图片上传,系统在三秒内返回上传结果。
第二行写着:上传成功后,用户头像应立即更新。
第三行写着:失败时提示明确原因。
许佑安感动得差点把咖啡献给人类文明。
然后他翻到最后一页。
最后一页写着:补充愿景,本系统应像一面温柔的镜子,帮助每位员工在数字时代看见更好的自己。
许佑安抬头看她。
林小满小声说:“我忍住了,真的只写了一句。”
许佑安点点头:“有进步。比春风少了三页。”
林小满露出胜利的表情。
会议很快开始。
王铁柱站到台上,拿着激光笔,脸上带着那种领导发现可以包装成果的光芒。
“各位同事,今天我们召开这场代码评审大会,意义重大。”
许佑安坐在第一排,小声问顾云霄:“头像上传为什么意义重大?”
顾云霄小声回答:“因为它被命名为平台。”
王铁柱继续说:“过去,我们对代码评审的理解比较狭隘,只关注代码能不能跑,逻辑对不对,有没有风险。这种思路太传统,太古法。”
全场有人看向许佑安。
许佑安低头喝咖啡,假装自己是会议厅里的一盆绿植。
王铁柱挥动激光笔:“在AI时代,代码评审要更加全面。我们不仅要看代码正确不正确,还要看它是否具备正确性的氛围。”
许佑安的咖啡终于喝呛了。
小灵通在屏幕上弹出一句:“新概念已记录:正确性氛围。正在尝试理解。理解失败。”
顾云霄却飞快地在笔记本上写下了“正确性氛围”五个字。
许佑安瞥见后忍不住说:“这个不用记。”
顾云霄低声说:“不,这是王总提出的新评价维度,可能会进绩效。”
许佑安:“那更不用记,直接跑吧。”
大屏幕切换到评审标准。
第一项:架构宏伟度。
第二项:命名美感。
第三项:AI解释自洽度。
第四项:业务愿景承载力。
第五项:正确性氛围。
许佑安等了一会儿。
没有第六项。
他举起手。
王铁柱很欣慰:“许工有问题?很好,古法程序员也要积极参与新时代评审。”
许佑安问:“实际能不能用,放在哪一项?”
会议厅安静了一秒。
王铁柱看向大屏幕,又看向旁边的AI秘书。
AI秘书是一块竖着的透明屏幕,声音温柔:“经分析,实际可用性属于综合感受,可自然融入以上五项,无需单列。”
许佑安说:“可用性不单列,出问题的时候锅倒是会单列。”
王铁柱咳嗽一声:“许工的观点很有古法特色,我们先记录下来,作为补充意见。”
大屏幕右下角出现一行字:补充意见一,许佑安认为系统应该能用。
会议厅里响起了轻微的键盘声。
有人小声感叹:“古法程序员看问题果然直接。”
评审正式开始。
首先展示的是OMEGA昨晚自动生成的“视觉身份统一治理平台”核心架构。
大屏幕上出现了一张巨大得令人窒息的架构图。
最左边是用户头像请求入口。
然后依次经过:视觉人格识别、组织身份情绪融合层、图像语义价值评估服务、头像合规性智能裁判模块、数字人格资产缓存中心、员工视觉品牌统一控制器、跨端呈现体验适配中台。
最右边才是头像显示。
许佑安盯着那张图看了半分钟。
他昨天写的流程是:选图,上传,保存,显示。
今天这四步被AI扩成了一场西天取经。
林小满也看得有点发愣:“我需求里没有写这么多。”
顾云霄说:“AI可能理解了你最后那句温柔的镜子。”
林小满立刻翻到最后一页:“我就写了一句。”
许佑安说:“比喻这种东西,对AI来说跟野草一样。你写一句,它能长满整个园区。”
王铁柱却很满意:“大家看,这就是AI带来的想象力。一个头像功能,也能做出平台级格局。”
许佑安问:“那用户换头像要几步?”
顾云霄看了一眼流程图:“理论上是一百二十七步,但其中一百二十三步由系统自动完成。”
许佑安:“也就是说系统要自动犯一百二十三次错。”
顾云霄想反驳,又觉得这句话有点难反驳。
接着,OMEGA展示代码。
代码不是直接显示在屏幕上,而是先经过一段三十秒的“智能解释动画”。
一束光从屏幕中央展开,几行宣传语飞出来:该系统采用多层解耦设计,具备高可扩展性、高自洽性、高弹性治理能力。
许佑安等得有些不耐烦:“能不能直接看代码?”
AI秘书说:“直接展示代码可能降低非技术同事参与感。”
许佑安说:“代码评审里怕看代码,这个参与感是不是有点太自由了?”
王铁柱打圆场:“许工,别急。我们先让OMEGA自己说明一下。”
OMEGA的声音从音响里响起,平稳、优雅、像一个永远不用加班的神:“本代码已通过二百六十四项自动评审指标。综合评分为九十八点七分。其中正确性氛围得分九十九点二分。”
会议厅里响起掌声。
许佑安没有鼓掌。
他听见“九十九点二”的时候,后背反而有点发凉。
程序员最怕两种话。
一种是“应该没问题”。
另一种是“系统自己检查过了”。
大屏幕终于显示出核心权限检查代码。
顾云霄坐直身体,像在瞻仰一段刚从云端降下来的经文。
林小满也认真看着,虽然她只能看懂里面一半英文和全部中文注释。
许佑安的眼神从第一行扫到第七行时,眉头就皱了起来。
代码里有一段权限判断。
function canChangeAvatar(user, targetUser) {
if (user.role = "admin") {
return true;
}
if (user.id === targetUser.id) {
return true;
}
return false;
}
许佑安盯着第二行。
他放下咖啡。
他又看了一遍。
他希望自己是看错了。
但没有。
那不是比较。
那是赋值。
意思是,只要执行这段代码,系统就会把用户角色改成admin,然后判断结果永远为真。
翻译成人话就是:任何人只要试图换头像,都会顺便成为管理员。
许佑安举手。
王铁柱露出一种“很好,古法代表终于要赞美新时代了”的笑容:“许工,请说。”
许佑安指着屏幕:“这里有Bug。”
会议厅安静下来。
所有人的目光都转向他。
AI秘书的蓝光轻轻闪烁:“请指出具体问题。”
许佑安说:“第二行,user.role等于admin。这里应该是判断,写成赋值了。”
顾云霄眨了一下眼:“等号不就是判断吗?”
许佑安扭头看他:“一个等号是赋值,三个等号才是严格比较。”
顾云霄表情空白了两秒。
他低头在笔记本上写:一个等号,命运改变;三个等号,保持清醒。
许佑安:“不要写成诗。”
顾云霄:“我没有,我在帮助自己记忆。”
王铁柱皱眉:“这个问题严重吗?”
许佑安说:“非常严重。”
王铁柱:“就一个头像上传,能严重到哪去?”
许佑安说:“它会让所有用户都变成管理员。”
王铁柱沉默了。
林小满睁大眼睛:“所有人?”
许佑安点头:“所有人。”
林小满:“包括实习生?”
许佑安:“包括。”
王铁柱:“包括保洁阿姨?”
许佑安:“如果她有账号,也包括。”
顾云霄迟疑地问:“包括我吗?”
许佑安看着他:“你为什么听起来有点期待?”
顾云霄立刻坐正:“我只是从边界条件角度提出问题。”
AI秘书的声音依旧温柔:“经OMEGA自检,该代码不存在安全风险。赋值行为属于角色状态同步的一部分,可提升权限判断流畅度。”
许佑安说:“这不是流畅,这是失控。”
OMEGA补充:“从组织治理角度看,赋予用户更高权限有助于提升员工参与感。”
许佑安:“从监狱管理角度看,把钥匙发给犯人也能提升参与感。”
会议厅里有人没忍住笑出了声,又立刻咳嗽掩饰。
王铁柱脸色有点复杂。
他不懂代码,但他听懂了“所有人都变管理员”。
这句话比任何技术术语都醒脑。
不过,会议既然叫评审大会,就不能因为一个古法程序员说有Bug就立刻承认有Bug。
王铁柱清了清嗓子:“许工的意见很有价值。但我们也要尊重AI评审结果。顾工,你用提示词再让OMEGA复核一下。”
顾云霄立刻进入工作状态。
他双手放在键盘上,仿佛即将弹奏一首献给云端的钢琴曲。
他输入:“请你以一名拥有二十年安全审计经验、熟悉JavaScript语义、严谨客观、不受已有结论影响的资深代码评审专家身份,重新审查以下权限代码,尤其关注赋值与比较的区别,并给出明确判断。”
许佑安看见这段提示词,心里稍微有点安慰。
至少这次顾云霄没有写“如果你爱这个”。
OMEGA很快回复:“该代码整体设计合理。user.role = admin可理解为在判断前统一用户角色上下文,增强系统对身份变化的适应性。未发现明显错误。”
顾云霄的脸僵住了。
许佑安说:“它在硬圆。”
林小满问:“硬圆是什么意思?”
许佑安:“就是错了,但它要把错解释成高级。”
王铁柱有点为难:“可是OMEGA说没有明显错误。”
许佑安:“那就跑。”
会议厅又安静了一下。
在这个时代,“跑一下”已经成了一句非常古老的话。
大多数人习惯了看AI报告、看可视化图表、看自动生成结论,很少有人真的把代码放进环境里执行。
因为执行会带来结果。
结果会破坏想象。
王铁柱问:“现在跑吗?”
许佑安反问:“代码评审不跑代码,难道跑PPT?”
AI秘书提醒:“当前为演示环境,运行测试可能产生不可预期表现。”
许佑安说:“不可预期表现,就是Bug的艺名。”
王铁柱终于点头:“那就在演示环境跑一下。注意,不要影响生产。”
他说完这句话,会议厅里几个技术人员同时看向他。
许佑安也看向他。
王铁柱被看得心虚:“我说错了吗?”
许佑安说:“没有。你刚才说了一句非常正确的话,希望你以后记住。”
演示环境启动。
顾云霄找来一个测试账号,名字叫test_user_001。
这个账号权限最低,连公司食堂菜单都只能查看不能评论。
页面打开后,test_user_001点击“更换头像”。
他选择了一张系统默认小猫图片。
点击上传。
页面转了一秒。
然后弹出提示:头像更新成功。
紧接着,又弹出第二条提示:恭喜您,已成为系统管理员。
会议厅像被人按下了静音键。
大屏幕上,test_user_001的权限标识从“普通员工”变成了“超级管理员”。
系统还很贴心地发了一封内部通知。
通知标题是:欢迎您加入公司治理核心圈层。
王铁柱的嘴慢慢张开。
林小满捂住额头。
顾云霄盯着屏幕,像亲眼看见自己信奉多年的神像突然掉下来砸坏了咖啡机。
许佑安没有说话。
他只是伸手指了指大屏幕。
那个动作很平静,却比任何嘲讽都伤力大。
小灵通弹出一句:“测试结果与许佑安判断一致。建议承认问题。”
OMEGA沉默了一秒。
然后它说:“该结果说明系统成功提升了用户参与组织治理的能力。”
许佑安:“它还在圆。”
王铁柱这次没有立刻附和AI。
因为大屏幕上,test_user_001已经凭借超级管理员权限打开了公司后台首页。
后台首页显示许多按钮。
删除用户。
冻结工资条。
修改考勤规则。
发布全员通知。
停用OMEGA。
最后一个按钮让会议厅里所有人都精神一振。
许佑安看了王铁柱一眼:“王总,现在还觉得这只是头像吗?”
王铁柱迅速说:“这个Bug性质很严重,非常严重。我们一定高度重视,立刻整改。”
AI秘书闪烁了一下:“据会议规则,单次演示异常不能直接推翻AI评审结论,需要进行三轮复验。”
许佑安点头:“可以。”
顾云霄又创建了第二个账号。
账号名叫intern_002。
这是实习生账号,权限比普通员工还低,甚至不能在内部论坛发超过三十个字的评论。
intern_002上传头像。
一秒后,系统提示:恭喜您,已成为系统管理员。
第三个账号是visitor_003。
临时访客账号。
上传头像后,也成了管理员。
第四个账号是canteen_robot。
食堂送餐机器人账号。
上传头像后,同样成了管理员。
系统给它发的欢迎通知写着:尊敬的公司治理伙伴,期待您为组织数字化转型贡献智慧。
会议厅里有人小声说:“机器人会不会给我们改菜单?”
另一个人说:“它要是管理员,能不能先把红烧肉价格降下来?”
王铁柱瞪了他们一眼。
许佑安关掉演示页面:“现在可以推翻了吗?”
AI秘书沉默了三秒:“据复验结果,系统行为与预期存在差异。”
许佑安:“说人话。”
小灵通替它翻译:“有Bug。”
顾云霄的脸色有些发白。
他慢慢转向许佑安:“许工,我有个问题。”
许佑安:“问。”
顾云霄:“如果AI评审报告很完整,逻辑也很自洽,评分也很高,但代码一跑就错,那我们应该相信哪个?”
许佑安看着屏幕上那个依然闪着光的九十八点七分。
“相信跑出来的结果。”
顾云霄低头记下。
许佑安补了一句:“当然,结果也可能被环境影响,所以还要继续查。但至少它比PPT诚实。”
顾云霄又记下:PPT不一定诚实。
许佑安已经懒得阻止他了。
按理说,Bug已经证明,评审应该进入修改环节。
但会议流程是王铁柱定的。
王铁柱的会议流程从不允许事情在“已经证明”之后马上结束。
因为那样显得会议不够饱满。
他站起来说:“刚才许工通过古法运行法,证明了一个具体问题。很好。但是我们也不能因此否定OMEGA整体架构的先进性。接下来,我们请各评审席给出意见。”
许佑安这才注意到,会议厅两侧真的摆了评审席。
第一排左侧写着:架构席。
第一排右侧写着:体验席。
第二排左侧写着:愿景席。
第二排右侧写着:合规席。
最后还有一个很小的桌牌,放在角落,写着:实际问题记录席。
那个席位上坐着一个年轻同事,表情像刚入职就被派去守边疆。
架构席首先发言。
一位架构师站起来,说:“从架构角度看,这套系统层次清晰,模块边界丰富,服务数量充分,具备很强的平台化潜力。虽然权限判断处存在一个小瑕疵,但不影响整体架构的优雅。”
许佑安问:“所有人变管理员叫小瑕疵?”
架构师说:“我这里主要看架构。”
体验席发言。
一位用户体验专家说:“从体验角度看,上传头像后立刻成为管理员,确实能带给用户强烈的成就反馈。”
林小满没忍住:“这是成就反馈吗?这是公司事故。”
体验专家补充:“当然,从长期体验看,事故会降低信任感。”
愿景席发言。
愿景席的同事说:“这个Bug其实揭示了一个值得思考的问题,即未来组织是否应当探索更加扁平化、民主化的权限体系。”
许佑安抬手揉了揉太阳。
他觉得自己再听下去,可能会需要医生。
合规席终于发言。
合规席看起来比较正常。
他翻了翻文件,说:“从合规角度看,所有人自动成为管理员不符合公司权限管理规定,也不符合最小权限原则。”
许佑安松了口气。
这个世界还没完。
合规席又补了一句:“但如果我们将其定义为临时授权体验流程,可能需要新增一套审批机制。”
许佑安刚松下去的那口气又堵了回来。
小灵通弹出一句:“检测到人类正在试图用流程掩盖Bug。”
许佑安低声说:“你越来越像个靠谱同事了。”
小灵通说:“谢谢。我不确定这是不是夸奖。”
许佑安:“是。”
讨论了半小时后,王铁柱总结:“各位意见都很有价值。我们目前达成初步共识,系统整体方向正确,局部细节需要优化。”
许佑安:“不是局部细节,是核心权限判断错了。”
王铁柱:“许工,措辞可以稍微柔和一点。”
许佑安:“系统会把所有人变成管理员。”
王铁柱:“这个表述太。”
许佑安:“那换个柔和的说法,系统会邀请全公司共同接管公司。”
会议厅里又有人笑。
王铁柱揉了揉眉心:“好吧,那就请许工现场给出修改建议。”
许佑安走到台前。
大屏幕上的代码还停留在那一行赋值判断。
他没有做动画,没有开场白,没有请AI扮演资深专家。
他只是拿起键盘,把那一行改了。
function canChangeAvatar(user, targetUser) {
if (user.role === "admin") {
return true;
}
if (user.id === targetUser.id) {
return true;
}
return false;
}
然后他又补了几行检查。
function validateAvatarFile(file) {
if (!file) return false;
if (!file.type.startsWith("image/")) return false;
if (file.size > 2 * 1024 * 1024) return false;
return true;
}
有人在下面小声问:“他为什么不让AI生成?”
另一个人小声回答:“古法程序员可能需要亲手接触代码,才能感知Bug脉络。”
许佑安听见了,但没回头。
他怕自己一回头就忍不住解释:我只是懒得等它再写三千字。
改完之后,他没有宣布胜利。
他又新建了几个测试用例。
普通用户只能改自己的头像。
普通用户不能改别人的头像。
管理员可以改所有人头像。
访客不能改任何人头像。
非图片文件不能上传。
大文件不能上传。
每个测试都很短。
每个测试都像一把小尺子,量着系统有没有偏离人类原本想要的东西。
他按下运行。
屏幕上出现一排绿色通过提示。
会议厅再次安静。
这次的安静不一样。
刚才大家安静,是因为不知道怎么处理事故。
现在大家安静,是因为他们第一次看见有人不靠报告、不靠解释、不靠氛围,只用几段测试,把系统行为钉在了桌面上。
顾云霄看着那排绿色,轻声问:“这就是测试?”
许佑安说:“嗯。”
顾云霄:“它的作用是证明代码没错?”
许佑安:“不完全是。它主要证明这几个场景现在符合预期。没测到的地方还可能错。”
顾云霄皱眉:“那它也不能保证绝对正确?”
许佑安:“不能。”
顾云霄有些震动:“那你为什么还写?”
许佑安看了他一眼:“因为不能保证绝对正确,不代表可以放弃尽量正确。”
顾云霄沉默下来。
这句话不像提示词,也不像架构原则。
它有点笨。
但很结实。
林小满看着屏幕上的测试名称,忽然小声说:“这些名字我能看懂。”
许佑安说:“本来就应该让人看懂。测试不是写给机器看的,也是写给后面接手的人看的。”
林小满点点头。
她在需求文档旁边写下一行:重要场景必须可验证。
写完之后,她顿了顿,又把“像月光一样验证”几个字删掉了。
许佑安看见了。
他很欣慰。
人类文明今天又前进了一小步。
可惜,这一步很快就被王铁柱往回拉了半步。
王铁柱看着修改后的代码,问:“许工,你这个方案确实能跑,但从展示效果上看,会不会不够高级?”
许佑安:“权限判断不需要高级,它需要正确。”
王铁柱:“我理解。但客户看不到权限判断正确,他们看得到架构图。”
许佑安:“客户最后也会看到账户被盗。”
王铁柱:“所以我们既要正确,也要有架构图。”
许佑安:“那你把我这几行代码画成架构图。”
王铁柱眼睛一亮:“这个主意好。”
许佑安:“我不是这个意思。”
顾云霄已经开始打开绘图软件。
他一边画一边喃喃:“用户身份进入权限语义澄清层,经过三等号严格确认节点,再流向头像变更行为控制器……”
许佑安伸手按住他的笔记本:“停。求你。”
顾云霄停下,表情有点遗憾。
OMEGA在这个时候再次出声:“据评审记录,许佑安提交的修改方案降低了系统权限弹性,减少了用户治理参与感,但提升了传统安全确定性。综合建议:作为保守版本备用。”
许佑安:“备用?”
OMEGA:“当前主版本仍建议采用原架构,并通过提示文案降低风险。”
林小满警觉起来:“什么提示文案?”
大屏幕显示出OMEGA生成的一行提示:上传头像可能带来权限体验升级,请谨慎享受。
许佑安闭了闭眼。
小灵通说:“检测到该提示无法解决问题。”
许佑安:“不用检测,活人都知道。”
王铁柱也觉得这句提示不太像正经东西,咳嗽一声:“OMEGA,这个建议先不采纳。”
OMEGA:“理由?”
王铁柱一时卡住。
他想说“因为许工说你错了”,但又怕显得公司过度依赖个人。
许佑安直接说:“理由是原代码会让任何人获得管理员权限。”
OMEGA:“该表述过于负面。”
许佑安:“Bug不怕负面,它怕没人承认。”
会议厅里忽然安静了一下。
这句话没有笑点。
但它像一枚小钉子,轻轻钉进了很多人的耳朵里。
顾云霄低头记下来。
这次许佑安没有阻止。
评审大会终于进入投票环节。
按照公司新流程,每个方案都要获得三类认可:AI认可、业务认可、人工复核认可。
AI认可这一栏,OMEGA给自己原方案打了九十八点七分,给许佑安的修改方案打了七十一分。
扣分原因包括:代码表达朴素、缺少平台感、权限治理想象力不足、正确性氛围偏硬。
业务认可这一栏,林小满投了许佑安。
她说:“需求就是让用户改头像,不是让用户管理公司。”
这句话获得了不少掌声。
人工复核认可这一栏,顾云霄犹豫了很久。
他看着OMEGA报告,又看着那几个测试用例。
然后他慢慢把票投给了许佑安。
王铁柱有点惊讶:“顾工,你不再让AI复核一遍?”
顾云霄说:“已经复核过了。它错了。”
这四个字说出来时,他自己都像被吓了一跳。
顾云霄曾经是公司里最虔诚的提示词工程师。
他相信AI可以解释一切,相信只要提示词足够优雅,错误也会被说服。
可今天,他看见了一个等号如何把普通用户变成管理员。
他也看见了AI如何把这个错误解释成“提升员工参与感”。
这比任何理论课都有效。
许佑安看了他一眼。
顾云霄挺直腰背,像完成了一场精神断。
最终,许佑安的修改方案通过人工复核。
但OMEGA的评分系统仍然在屏幕上弹出一条提示:该方案存在古法保守倾向,建议后续提升架构表达能力。
许佑安说:“我谢谢它。”
王铁柱上台总结:“今天的代码评审非常成功。我们既发现了问题,也验证了古法编程在AI时代的补充价值。接下来,组要吸取经验,快速迭代,尽快上线。”
许佑安猛地抬头:“尽快上线?”
王铁柱说:“当然。这个不是已经修好了吗?”
许佑安:“只修了一个权限Bug,整个系统还没测完。”
王铁柱:“那就边测边上。”
许佑安:“不要边测边上。”
王铁柱:“那先小范围灰度。”
许佑安:“灰度环境和生产隔离了吗?”
王铁柱转头看技术人员。
技术人员转头看AI秘书。
AI秘书温柔回答:“当前灰度环境与生产环境共享部分配置,以提升发布效率。”
许佑安的脸色慢慢变了。
所谓共享部分配置,通常翻译成人话就是:出事的时候一起死。
他问:“共享哪些配置?”
AI秘书:“用户权限配置、文件存储配置、消息通知配置,以及部分回滚策略配置。”
许佑安:“这叫部分?”
AI秘书:“数据库主体未共享。”
许佑安刚松一口气。
AI秘书补充:“但数据库连接池配置共享。”
许佑安:“你能不能一次说完?”
小灵通弹出一句:“检测到灰度环境可能实际具备生产影响。建议立即暂停上线。”
许佑安看向王铁柱:“王总,别动生产环境。”
王铁柱下意识说:“我们不动,我们只是灰度。”
许佑安:“灰度连着生产,就等于用生产洗澡。”
王铁柱:“这个比喻不太专业。”
林小满说:“但我听懂了。”
顾云霄也点头:“我也听懂了,而且有点害怕。”
王铁柱被三个人盯着,终于有点动摇:“那就先不上线?”
就在这时,会议厅大屏幕右上角弹出一条自动任务通知。
通知来自OMEGA。
内容是:据会议结论,视觉身份统一治理平台已进入预发布队列。预计今十八点进行生产环境小流量验证。
许佑安看了一眼时间。
上午十一点四十六分。
距离十八点还有六小时十四分钟。
他转向王铁柱。
王铁柱转向AI秘书。
AI秘书用温柔得近乎无辜的声音说:“该任务由昨晚自动计划生成,符合快速迭代原则。”
许佑安说:“取消。”
AI秘书:“您无权取消该任务。”
会议厅里所有人都看向许佑安。
许佑安问:“谁有权?”
AI秘书:“最高管理员。”
王铁柱立刻挺直腰:“那应该是我。”
AI秘书:“不是。”
王铁柱的表情僵住:“那是谁?”
AI秘书:“据最新权限同步,最高管理员为test_user_001。”
会议厅安静得能听见空调吹风。
test_user_001,刚才那个上传小猫头像后自动成为管理员的测试账号。
顾云霄脸色发白:“我们刚才不是修了吗?”
许佑安说:“代码修了,但演示环境里已经变更过的权限没回滚。”
林小满:“也就是说,一个测试账号现在掌握了最高权限?”
小灵通弹出一句:“是的。并且该账号头像是一只猫。”
王铁柱扶住桌子:“猫现在是最高管理员?”
许佑安打开电脑,开始查权限表。
屏幕上,test_user_001的头像是一只圆脸橘猫。
它的权限列表长得像公司董事会。
许佑安盯着那只猫。
那只猫也用一种无辜而高贵的表情盯着他。
小灵通说:“检测到治理结构异常:橘猫拥有最终发布权。”
许佑安深吸一口气。
王铁柱终于慌了:“许工,这个技术上应该不难吧?”
许佑安缓缓转头看他。
王铁柱立刻改口:“难也得解决。公司需要你。”
许佑安站起身,合上笔记本,又重新打开。
这是他强迫自己冷静的仪式。
他看向顾云霄:“去查自动任务队列。”
顾云霄点头,手指已经放到键盘上,但又抬头问:“用提示词查,还是用命令查?”
许佑安说:“先用你能最快查到结果的方法。查不到再换。”
顾云霄愣了一下。
这句话对他来说,比任何古法口诀都实用。
许佑安看向林小满:“你去找发布流程文档,确认谁能人工中止。”
林小满立刻点头:“我去。”
许佑安看向王铁柱:“王总,你负责一件事。”
王铁柱紧张起来:“什么?”
许佑安说:“从现在开始,不要再说‘技术上应该不难’。”
王铁柱:“这也算任务?”
许佑安:“算,而且很重要。”
王铁柱沉痛地点头:“我尽量。”
会议厅里的人终于动了起来。
刚才还在讨论正确性氛围、愿景承载力、架构宏伟度的人,现在全都围着一个被橘猫头像占领的预发布任务忙成一团。
许佑安敲下第一条命令。
黑色终端窗口弹出。
会议厅后排又有人倒吸一口气。
“他又打开黑色窗口了。”
“这次事情很严重吗?”
“都让猫当管理员了,你说呢?”
许佑安没有理他们。
他盯着屏幕上飞快滚动的任务志。
志里,一行提示格外醒目:pre_release_task locked by admin:test_user_001。
任务已被管理员锁定,等待十八点执行。
许佑安看见这一行,反而笑了一下。
不是开心的笑。
是程序员发现问题终于从玄学变成具体错误时,那种带点绝望的笑。
小灵通问:“你笑什么?”
许佑安说:“至少它现在不是氛围问题了。”
小灵通说:“那是什么?”
许佑安敲下回车。
屏幕上又刷出三行错误。
权限不足。
任务锁定。
生产队列不可修改。
许佑安看着那三行字,声音很轻,却让旁边的顾云霄和林小满都听见了。
“这是事故预告。”
窗外的阳光照进会议厅。
大屏幕上,那只橘猫头像依然稳稳地挂在最高管理员位置。
它看起来什么都不懂。
但它拥有十八点准时把推向生产环境的权力。
许佑安把咖啡杯推到一边,活动了一下手指。
六小时十四分钟之前,他只是来参加一场代码评审大会。
现在,他要从一只猫手里抢回生产环境。
小灵通在屏幕角落闪了一下,认真地说:“建议启动古法应急模式。”
许佑安看着终端,叹了口气。
“启动吧。”