创作声明:本文为虚构创作,请勿与现实关联
山南省审计厅大数据分析中心,三面墙的巨幅曲面屏亮着冷白色的光。
林涛站在屏幕前,双手插在裤兜里,已经保持这个姿势超过四十分钟。屏幕上是一张不断生长的动态图谱,标题栏写着《江城市住建领域政商关联与潜在风险智能分析报告(初稿)》。图谱中央有两个核心节点,分别标注"A"和"B"——代表江城市住建局的两位副局长。从这两个节点出发,蔓延出密密麻麻的线条,像两棵根系纠缠的老树,连接着数十家建筑、建材、咨询、物业公司,以及若干个标注了亲属关系的个人节点。
林涛的目光锁死在图谱中段一片高亮区域。那里,A的连襟和B的侄子名下公司,通过三层持股的壳公司,分别从凤凰区老旧小区改造三期的两家中标企业手里,拿到了金额几乎相同的「专项咨询服务」合同。而项目审批栏里,签字的正是A和B。
他身后站着一位省纪委的同志,全程没说话,此刻开口了:「也就是说,这两位表面上在局里斗得你死我活,实际上在钱的层面——」
林涛接过话头:「存在某种分工。算法跑了十年的公开数据,这种非正常关联的置信度在百分之九十二以上。不是个别违规,是系统性的利益分配模式。」
省纪委的同志向前走了一步:「提供模型的人呢?」
林涛调出一封邮件,发件人是一串匿名代码。「江城市审计局的数据分析员,叫陈默。三个月前匿名投到我们技术咨询邮箱,附了算法逻辑说明和部分脱敏数据样本。措辞很谨慎——'汇报一个基于数据分析方法发现的、值得关注的异常现象'。」
省纪委同志低声问:「动机呢?」
林涛关掉邮件,屏幕上的图谱继续无声地蔓延、关联、编织。
「他妻子,原来是住建局财务科副科长,被'优化'下岗了。」
01
四个月前。
江城市审计局数据分析科的办公室里弥漫着隔夜茶的涩味。陈默坐在靠窗的工位上,屏幕里是一份市属国企的财务报表,数据规整得像用尺子量过,反而让他觉得不舒服——太干净的账目,往往藏着最脏的东西。
身后两个同事正在聊天,声音不大不小,刚好够他听见。
「住建局最近热闹了。王振山和刘国富,两个副局长,为了老赵退下来空出来的局长位子,都快撕破脸了。」
「谁不知道?王振山分管建工和招标,手里有项目;刘国富管城建和物业,手里有地盘。两个人各拉各的人,财务科那帮人都被拉拢了个遍。」
陈默手指停了一下,随即继续敲键盘。住建局的事,他不想关心。但林薇在那儿上班,由不得他不多听两句。
晚上七点半,陈默到家时,菜已经摆好了,但林薇没有动筷子。
她坐在餐桌前,把一粒米饭在碗沿上碾来碾去。陈默认识她十二年,知道这个动作意味着她在犹豫要不要开口。
「怎么了?」
林薇放下筷子,像是终于下了决心:「王局的人找我谈过了,想让我在恒通建材那笔付款流程上松一松,走特批通道,绕过复核环节。」
「你怎么说的?」
「我说不行,必须按流程。」
陈默点头,夹了一筷子菜放她碗里。
「然后今天下午,刘局那边的人又来了,」林薇的声音低下去,「笑嘻嘻的,说'林科啊,年底考评,你可别站错队'。」
陈默的筷子顿了一下。「坚持原则,别怕。」
林薇看了他一眼,没说话。那一眼里有些东西陈默当时没读懂——不是怕,是委屈。一个兢兢业业十三年的财务骨干,不该在自己的办公室里听这种话。
一个月后,住建局启动了「优化中层、分流冗员」改革。
方案写得漂亮,量化评分、民主测评、综合排名,每一条都挑不出毛病。但陈默看过太多报表,知道数字这东西,只要设计好权重,想让谁排最后,就能让谁排最后。
最终名单公布那天晚上,林薇没回家。
陈默打了三个电话才接通,那头是抽泣声,断断续续说了一句:「我被优化了。」
理由是「长期在财务岗位,缺乏多岗位锻炼,且近一年考核排名靠后」。同批被优化的还有四个人,陈默后来一个一个查了,全是不站队或者站错队的。而两个公认混日子的关系户,排名居然在前百分之五十。
林薇在家哭了两天。第三天,陈默去了住建局。
人事科科长姓范,四十出头,办公桌上摆着三盆绿萝,浇得水灵灵的。他给陈默倒了一杯茶,杯子是一次性纸杯。
「陈工啊,我理解你的心情。但这是局党委集体研究决定的,综合考虑,不是针对任何个人。」
陈默没碰那杯茶:「林薇连续三年优秀,去年还牵头完成了市财政专项审查的配合工作。考核靠后是怎么算出来的?」
范科长的手在桌面上移了移绿萝的花盆,挡住了自己的目光:「陈工,改革嘛,总要有人做出牺牲。林薇同志很优秀,但……她还年轻,出去找找机会也好。」
「做出牺牲」四个字从他嘴里出来,轻飘飘的,像纸杯里的温水。
陈默站起身,没有追问。不是因为认命,是因为他在范科长挪花盆的那个动作里,已经看清楚了——这人知道内幕,但说不了,也不打算说。
林薇不是被改革淘汰的,是被两条争食的蛇顺手吐掉的骨头。
02
失业后的第一个星期,林薇还在认真改简历。
她在餐桌上摊开笔记本电脑,一个字一个字地修改措辞,把「市住建局财务科副科长」的工作经历打磨得体面而克制,绝口不提「优化」两个字。
第二个星期,简历投出去十七份,回了两家。
第一家是一个地产公司,面试官翻着她的简历,忽然抬头问:「林女士,您是住建局最近那批优化的?」林薇点头。对方笑了笑,笑容里的东西她读得懂——「被体制淘汰的人,我们为什么要?」
第二家更直接,电话通知她进入复试,第二天又打来说「岗位已经内部调整,暂不招聘了」。林薇后来从朋友那里听说,那家公司老板跟住建局有业务往来,接到了一个电话。
她没跟陈默说是谁打的电话。但从那以后,她不再改简历了。
家里的经济开始紧。房贷每月六千八,孩子下学期的学费还没着落。林薇原来每月到手八千多,这笔钱一断,缺口像个无声的黑洞,把两个人的对话都吸了进去——晚饭时间越来越安静,谁也不想先提钱的事。
陈默试着找了自己的科室领导,一个快退休的老同志,平时对他还算照顾。
老科长听完,叹了口气,给他续了杯茶:「小陈啊,住建局的事,我们审计局不好插手。再说,这是人家内部人事安排……你也知道,王振山跟咱们局刘局关系不错,你要是闹起来,对你自己也不好。」
最后一句话才是重点。陈默听明白了:不是帮不了,是不敢碰。
更让人咬牙的事情接踵而来。
某天下午,林薇接到一个电话,是住建局建工科的赵姐,王振山那边的人。电话里声音亲热得不像话:「薇姐,好久不见,你最近怎么样?跟你说个事儿,其实王局一直挺欣赏你的,这次的事……唉,主要是刘局那边坚持要动财务科的人,王局拦了好几次没拦住。」
挂了电话不到一小时,林薇又收到一条微信,发消息的人是刘国富的秘书,措辞同样温暖:「林科,我们刘局提起你还直摇头,说可惜了这么好的同志。这事主要是王局那边点了名,说财务科有人'不配合工作',你也知道他那个人……」
林薇把手机屏幕转给陈默看。
陈默把两段话并排读了一遍,嘴角动了一下——不是笑,是一种更冷的东西。两边口径不同,指向一致:都在把刀往对方身上推,都在暗示「你应该恨的是另一个人」。
这不是关心,是投资。是在林薇身上下注,赌她和陈默将来会站到哪一边。
他没说话,把手机还给林薇。林薇盯着屏幕半晌,忽然把手机扣在桌上,声音发抖:「我在他们眼里算什么?一颗棋子都不如,就是一张用完就扔的纸巾。」
陈默在审计局的日子也开始不好过了。
他原本牵头负责一个市级经济责任审计的数据分析专项,做了两个月,框架搭好了,数据清洗过半,忽然接到通知:「工作需要,项目由小周接手,你配合交接。」
小周,二十七岁,去年刚考进来的,连Python脚本都写不利索。
陈默去找科长,科长不看他的眼睛:「局里安排的,我也没办法。你先歇歇,手头还有别的活。」
歇歇。手头还有别的活。两句话翻译过来就是:你被边缘化了。
更阴的是暗处的传言。有同事悄悄跟他说,科室里开始有人议论:「陈默这人最近情绪不太稳定,因为老婆的事对局里有意见,领导得注意点。」
这话从哪传出来的,不用猜。王振山和刘国富在住建系统经营多年,往审计局递个话,轻而易举。他们不需要对陈默做什么,只需要在他头上贴一个「不稳定」的标签,他在单位就是个哑巴。
那段时间,陈默每天骑电动车上下班,路过住建局大楼时,会下意识地加速。不是怕,是不想看见那栋楼——楼还是那栋楼,但里面装着的东西,让他觉得恶心。
一个周六晚上,大学同学张磊组了个小局,五个人,在江城老城区的一家烧烤摊上,啤酒、毛豆、烟火气。
陈默平时不喝酒,那天灌了四瓶。张磊在省纪委信息中心工作,两人大学时住上下铺,说话没什么顾忌。
「老陈,你那点事我听说了,」张磊压着嗓子,手里的烤串指着他,「王振山和刘国富,在江城经营了十年不止了,根深蒂固。你想靠常规途径,打报告、写信访——我跟你说实话,没戏。」
陈默攥着酒杯没说话。
张磊看了看周围,凑近了些:「除非你能找到他们真正的七寸。而且必须是铁的,是能让上面重视的系统性问题。零敲碎打的举报,到了市一级就被消化了。」
陈默盯着杯子里的啤酒泡沫一个一个破掉。系统性问题。这四个字像一枚钉子,钉在他脑子里某个精确的位置。
他是数据分析师。他每天做的事情,就是从海量、杂乱的数字中,找到别人看不见的规律和异常。
回家的路上,陈默没骑电动车,走着回去的。江城的夜风带着河水的潮气,他走了四十分钟,脑子里只有一个念头在反复翻滚、成型、凝固——
王振山和刘国富在住建系统深耕十年,他们批的每一个项目、签的每一份文件、关联的每一家企业,都是数据。数据不会消失,不会撒谎,不会像范科长那样挪花盆。
如果,把这一切用算法串起来呢?
03
星期一早上,陈默比平时早到了四十分钟。
他打开电脑,新建了一个文件夹,命名为「大数据审计方法论研究」。然后去找了科长,说想申请一个自主研究课题,题目是《基层审计数据关联分析方法探索》。
科长正在泡茶,听完抬了抬眼皮:「你现在手头不忙?」
「不忙。」
这话两个人都知道是什么意思。科长沉默了几秒,大概是觉得让一个被边缘化的技术骨干有点事干,总比让他闲出事来强,便点了头:「你自己搞,不要占用科室资源。有成果了给我看看。」
陈默要的就是这句话。
从那天起,他的生活变成了两条平行线。白天,他在审计局处理日常工作,安安静静,不多说一个字。晚上回到家,等林薇睡了,他坐到书房那台自己组装的电脑前,开始另一项工程。
数据采集是第一步。他只碰公开数据——政府采购网的招投标公告、住建局官网的项目审批和验收信息、企业工商登记及变更记录、裁判文书网涉住建领域的案件判决、公开的领导活动报道、政协委员和工商联名单。这些东西散落在几十个网站和数据库里,单独看哪一条都平淡无奇。
但陈默知道,数据的力量不在单个数据点,在关联。
他花了三个星期写了一套爬虫和清洗脚本,把十年间江城住建领域的公开信息抓取、去重、标准化,灌进一个本地数据库。然后,他开始搭建核心算法——一个多维关系网络模型。
模型的逻辑不复杂:以「人物-组织-项目-时间-资金」为五个维度,将王振山和刘国富设为核心节点,向外辐射他们的亲属、同学、老部下、密切关联企业,构成一度关联实体,再继续扩展。算法自动扫描实体间的共同项目、资金往来方向、时序巧合、空间重合,计算关联紧密度和异常指数。
算法第一次跑完是在一个凌晨三点。
陈默盯着屏幕,后背的汗凉了又热,热了又凉。图谱从两个核心节点出发,蔓延出两张庞大而复杂的网络——王振山的网络偏向建工和招标端,刘国富的网络深入城建和物业维护端。各自的关联企业、关键人物、利益链条,清晰得像一张被X光照过的骨架。
但真正让他屏住呼吸的,是两张网络的交叉地带。
算法标红了六家公司。这六家公司在不同年份、不同项目中,交替出现在王振山和刘国富的关联网络里,有时作为材料供应商,有时作为技术咨询方,有时作为分包商。它们像桥梁一样,连接着两个表面水火不容的阵营。
其中一家叫「鑫诚咨询」,在凤凰区老旧小区改造三期项目中,同时向两家中标企业提供「专项服务」,收费金额惊人地接近。而这两家中标企业,一家的实际控制人是王振山连襟的大学同学,另一家的股东名单里藏着刘国富侄子的前妻。
算法给这种关联模式起了个名字:「桥接异常」。
陈默关掉屏幕,在黑暗中坐了很久。他原本以为,王振山和刘国富是两条互相撕咬的狗。现在看来,它们是同一条蛇的两个头——咬来咬去是演给外人看的,身子底下的猎物,一直在分着吃。
他没有去碰任何非公开的信息,没有动用任何超出权限的数据。他的「证据」不是某一笔转账或某一份合同,而是一种基于公开信息的、高度可疑的行为模式。
他把分析结果写成了一份技术报告——《基于多维数据关联分析的住建领域潜在利益冲突风险评估——以江城市为例》。报告通篇是算法框架、模型参数、数据来源说明和可视化图表,没有一个字的指控,只有冰冷的「分析发现」。
报告完成后,他对着屏幕坐了一整晚。
交给谁?
市纪委?住建局的关系网渗透了半个市级机关,材料递上去,能不能到真正管事的人手里都是问题。找张磊?不行,不能连累朋友。
最后他打开了山南省审计厅的官网,在最不起眼的角落里找到了一个「技术咨询与合作」邮箱。
审计厅。足够远,足够专业,足够超脱。
他以「基层审计技术人员」的名义,发出了一封匿名邮件。正文只有两段话,语气克制得近乎冷淡:「该分析方法或许有助于发现传统审计难以察觉的风险点,仅供参考。如需验证,愿提供完整模型。」
附件是报告的核心章节、算法逻辑说明,以及一段三十秒的动态图谱视频——王振山和刘国富的关系网络在屏幕上无声地蔓延、交叉、咬合。
发送完成。
陈默关掉电脑,把浏览记录、本地缓存、临时文件全部清除。书房里只剩下主机散热风扇的嗡嗡声。
他靠在椅背上,闭着眼睛。不知道这封邮件会沉入大海,还是炸出一道裂缝。
04
省审计厅没让这封邮件沉底。
林涛接到技术咨询邮箱的转报时,正在准备下一年度的审计计划。他打开附件,原本只想扫两眼,结果看了整整一个下午。那段三十秒的动态图谱视频他反复播放了七遍。
随后是长达两周的内部验证。林涛调集了三名算法工程师,用独立数据重走了一遍陈默的分析路径,结论高度吻合。他向审计厅分管副厅长做了专题汇报,副厅长当天就拨通了省纪委监委的电话。
三天后,省纪委一间小会议室。审计厅和纪委的人坐了满满一桌。没有寒暄,林涛直接打开图谱,把分析结果从头到尾讲了一遍。会议室里安静得能听见投影仪的散热声。
省纪委分管常委听完,只问了一个问题:「进驻理由?」
林涛早有准备:「年度专项审计,住建领域资金使用绩效评估。名正言顺。」
一周之内,以省审计厅年度专项审计名义组建的工作组进驻了江城市住建局。阵势不小——十二个人,带着便携服务器和数据采集设备,占了住建局三楼整整一间会议室。
王振山和刘国富得到消息时,反应出奇一致:先紧张,后镇定。
王振山在自己办公室里踱了三圈步,打了两个电话。第一个打给他在市里的关系,得到的回复是「省里下来的,我这边打听不到口风」。第二个打给一个退休的老审计,对方说:「年度专项,查资金绩效,走走过场的多。你配合好就行。」
刘国富更直接,他让秘书去审计组驻地送了一箱水果和两条烟。水果被客气地收下了,烟被原封不动退了回来。刘国富的手在桌面上敲了两下——退烟不退水果,说明不是铁板一块,但也不是来走过场的。
两个人都自信自己的「手脚」够深。直接的现金往来,几乎没有;关键的利益输送,都经过了三层以上的中间人和壳公司隔离。只要不把银行流水翻个底朝天,纸面上查不出什么。
他们甚至开始暗中较劲——都希望审计组在对方的分管领域里挖出点问题。王振山的人私下跟审计组的一个年轻审计员「闲聊」:「刘局那边的城建维修基金,听说有些项目结算偏高……」刘国富这边也不甘落后,通过物业科的人「不经意」地提起:「王局分管的几个招标项目,好像有投诉……」
审计组把这些信息一条条记下来,面上不动声色。
暗地里,他们早已将陈默提供的算法模型部署在便携服务器上,对住建局提供的电子数据进行高速筛查。算法像一把手术刀,精准地切开层层包裹的壳公司结构,锁定了三十七个高风险项目和十二家关联企业。
审计组开始出牌了。
先是约谈。不是约王振山和刘国富,是约那些被算法标红的关联企业负责人。请他们来「核实项目数据」,坐下后,审计人员不急不慢地打开笔记本电脑,屏幕上是一张他们自己都未必理得清的股权穿透图——谁持股谁、谁的前妻注册了什么公司、哪个项目的分包款最终进了哪个账户,线条清晰得像一张蛛网在灯光下暴露无遗。
第一个被约谈的是一家建材公司老板,姓马。他进门时还笑呵呵的,看到屏幕上自己公司通过三层壳公司连到王振山连襟名下的红线时,笑容一瞬间僵在脸上,五秒之后才挤出一句话:「这个……这个我得回去查查。」
第三个被约谈的人当场就交代了两笔「咨询费」的去向。
消息一层层传回住建局,王振山和刘国富的脸色终于挂不住了。
王振山连夜找人去打听审计组的底牌,结果碰了一鼻子灰——审计组口风严得像铁桶。刘国富则试图通过市里的关系给省审计厅打招呼,得到的回复是「省里亲自盯的项目,我们不方便过问」。
打不透,就猜。两个人不约而同地想到了同一件事:是不是对方在背后给审计组递了刀?
王振山给自己心腹发了条加密消息:「查一下,刘国富最近跟省里什么人接触过。」
刘国富几乎在同一个小时里,指示秘书:「去了解一下,王振山的人有没有跟审计组私下接触。」
猜忌一旦发芽,就不需要浇水了。
两派的人开始互相提防,互相刺探,互相向审计组「反映情况」,每一条信息都试图把对方推下水。而审计组要做的,只是把这些碎片接住,拼进那张越来越完整的图谱里。
转折出现在鑫诚咨询。
审计组顺着算法标注的「桥接」线索,锁定了这家公司的银行流水。流水里有三笔大额境外转账,收款方是两个离岸账户。省纪委监委当机立断,以涉嫌洗钱对鑫诚咨询实际控制人赵明采取强制措施。
赵明被控制后不到四十八小时,就全面交代了。
他是王振山和刘国富共用了八年的「白手套」,两边的钱都经过他的手洗干净、分装、输送。他知道两个人之间心照不宣的「规矩」——大项目王振山先吃,城建维修的油水归刘国富,遇到交叉地带就五五分。他甚至清楚地记得,两年前「优化」住建局中层的名单,就是王、刘二人在一次私下饭局上敲定的,理由是「先把不听话的清出去,省得碍事」。
铁证链条闭合了。
那天下午两点整,省纪委监委的人分两路,同时出现在王振山和刘国富的办公室门口。
王振山的秘书后来回忆,当时王局长正在签文件,听到敲门声抬起头,看到来人出示的证件后,握着笔的手停在半空,签名写到一半,最后那个笔画拖出了一道长长的墨痕。
刘国富的反应更体面些——他站起来,扣好西装扣子,把桌上的手机锁了屏,像出门开一个普通的会。但跨出办公室门的那一步,他回头看了一眼墙上那幅写着「廉洁奉公」的书法,脚步明显慢了半拍。
两个人在同一分钟被带离了住建局大楼。走廊里安静得不正常——消息已经传开了,但没有人敢出来看。
05
山南省纪委监委,两间相邻的谈话室。
王振山坐在右边那间,腰板挺得很直,是十几年当领导养出来的习惯。他面前的桌上放着一杯水,水没动过。
「王振山同志,我们直接进入正题。」对面的省纪委办案人员打开笔记本电脑,将屏幕转向他。
屏幕上出现了那张图谱——以王振山为中心,向外辐射出的线条连接着上百个节点,公司、个人、项目,密密麻麻,有些线条标红加粗,代表异常关联。
「这是根据十年公开数据,由算法自动生成的政商关联图谱。请你解释一下,为什么这七家公司,在过去五年内,几乎拿下了你分管领域百分之七十以上的特定材料供应?它们的实际控制人都与你或你的亲属存在直接的经济或社会关联。」
王振山的目光在图谱上扫了一圈,瞳孔收缩了一下。他很快控制住表情:「招标都是公开透明的,合法合规。算法?算法能当证据?」
办案人员没有回应这句话。他切换了一个页面,图谱放大到王振山和刘国富两张网络的交叉区域。六个桥接节点被高亮显示,鑫诚咨询的名字排在第一位。
「那我们谈谈鑫诚咨询。凤凰区老旧小区改造三期项目中,它同时向两家中标单位提供所谓的'专项咨询服务',收费合计超过四百万。这笔钱最终通过三个离岸账户,流进了与你儿子、刘国富妻弟相关的户头。」
王振山的身体往后靠了靠,椅子发出一声轻响。
办案人员继续:「鑫诚的赵明已经全部交代了。包括怎么按照你们的'需求'在不同项目里扮演不同角色,怎么平衡双方利益。还有——」他顿了一下,「两年前你们在住建局清理'不听话'的财务人员之前,那顿饭局上的具体内容。」
王振山的手在桌面下攥紧了,指关节发白。
隔壁房间,刘国富正在经历几乎一模一样的对话。他比王振山多撑了二十分钟,一直在说「我不清楚」「这需要核实」,直到办案人员读出了赵明口供中一段关于两人「分赃规则」的原话,他的嘴唇肉眼可见地抖了一下,之后再没开口。
办案人员收拾材料,最后说了一段话,两间屋里几乎同时响起:
「你们在局里争了十年,斗了十年,把不站队的好干部一个个挤走,都以为自己是下棋的人。但你们大概没想到,在数据面前,那些你们以为藏得最深的东西,反而看得最清楚。」
「发现这些东西的,不是什么大人物。是一台连着公开数据库的电脑,和一个被你们逼到绝路、却选择用最擅长的方式反击的普通人。」
王振山猛地抬头,眼睛里全是血丝。他嘶哑着声音:「是谁?是不是陈默?林薇的丈夫?他是审计局的——他有什么权力——」
办案人员没有回答。他合上电脑,站起身来,在门口停了一秒:
「是谁不重要。重要的是,正义的实现不一定需要倚天剑屠龙刀。有时候,一颗被逼到墙角却还没熄灭的心,就够了。」
「带下去。」
门在身后关上。王振山坐在空荡荡的谈话室里,面前的水杯还是满的,水面映出天花板上惨白的灯光。他忽然伸手端起杯子,想喝一口,手抖得太厉害,水洒了一桌。
那杯水,从进来到现在,已经彻底凉透了。
热门跟贴