Skip to content

第二百二十七章 算法的影子

从上海回来的第二天早上,林知行在公司收到了那封邮件。

他刚坐下,咖啡还没打开。笔记本电脑的邮件提示框弹出来——发件人是一串没有规律的字母和数字,邮箱后缀是加密邮件服务。主题栏只有四个字:看看这个。

林知行的手指停在触控板上。垃圾邮件?他正要按删除,鼠标滑过去的时候看到了附件大小——12MB。垃圾邮件不会带这么大的附件。

他点开了。

正文很短,只有一段话:

"林总,你可能不认识我。但我知道你的开源算法credit-score-lite。附件是一份行业报告,关于你的算法被用来做了什么。看完之后你可能想做点什么,也可能什么都不想做。但我觉得你至少应该知道。"

没有署名,没有联系方式,没有要求回复。

林知行下载了附件。PDF文件,封面页写着"华东地区某大型零售集团AI智能定价系统技术分析报告",没有标注作者和日期。像是一份内部流出的文档,格式粗糙,但内容很详细。

他从第一页开始看。


报告的核心内容分两部分。

第一部分是技术比对。

报告的作者把credit-score-lite开源仓库的核心算法模块和某零售集团正在使用的AI智能定价系统做了逐行比对。结果用一张表格呈现——左边是credit-score-lite的函数名和逻辑结构,右边是定价系统中对应的模块。重合度那一栏,数字是82.7%。

林知行盯着这个数字看了五秒。

82.7%。不是完全一样——定价系统在credit-score-lite的基础上加了一层实时市场数据接入模块,把原来的"可信度评分"改成了"定价弹性系数"。但底层的决策逻辑、数据权重分配方式、多因素交叉推理的结构,全部来自credit-score-lite。

他往下翻。报告附了两段代码的截图,左边标着"GitHub仓库 commit #3471",右边标着"定价系统逆向工程提取"。逻辑结构几乎是镜像的——变量名不同,但函数调用顺序、条件分支的排列方式、甚至错误处理的注释风格都一模一样。

这不是巧合。这是直接拿了他的代码,改了变量名和业务逻辑,包装成了一个新产品。

林知行放下咖啡杯。杯子在桌面上磕了一下,声音比他预想的大。


第二部分是案例。

报告列了三个小商户的案例,都分布在华东某二线城市。每个案例都有店铺名称、经营品类、使用定价系统前后的经营数据对比。

第一个案例:社区水果店,日均客流约120人。AI定价系统上线后,系统通过分析该店的定价策略,自动调整周边连锁便利店的同类商品价格,压低0.1到0.3元。三个月内水果店客流下降34%,月亏损从八千扩大到两万三。店主尝试跟供应商谈降价,未果。目前仍在经营,但已经在转让平台上挂了店铺信息。

第二个案例:街边五金店,经营十五年。AI定价系统针对五金店的核心品类(螺丝、管件、电线)做了精准降价,部分商品甚至低于五金店的进货价。五金店老板尝试转做差异化品类,但进货渠道有限,转型失败。五个月后关店。报告附了一张照片——卷帘门上贴着"旺铺转让",纸角已经翻卷。

第三个案例:社区文具店,兼营打印复印。AI定价系统通过分析文具店的定价结构,建议连锁便利店增加文具品类并自动定价。文具店的打印业务是刚需没受影响,但文具零售部分月收入下降了62%。目前靠打印业务勉强维持,但老板说"再这样下去撑不过年底"。

林知行把三个案例看完。

他没有说话。他靠在椅背上,盯着屏幕,手指在桌面上无意识地敲了两下。

他想起了一个人。

长沙水果店的王老板。两年多前他们的AI库存系统帮王老板把损耗降了三成,王老板每个月少亏两千块。后来王老板还专门写了一封信来感谢,说"你们那个东西管用"。

如果王老板旁边开了一家便利店,装了这套AI定价系统,自动把水果价格压到比王老板便宜两毛钱——王老板会怎样?

答案在报告的第二个案例里。五金店经营了十五年,五个月关了门。


方小满推门进来的时候,林知行还盯着屏幕。

"刘总那边的续约报告我看了,没问题——"方小满说到一半停下来。他看到林知行的表情,走到他旁边。"怎么了?"

林知行把屏幕转过去。

方小满弯下腰,一页一页翻。翻到技术比对那张表格的时候,他的眉头皱起来了。翻到三个商户案例的时候,他的脸色变了。

"这是渡渡干的?"方小满直起身子。

"不确定。报告里没写供应商名字。"

"82.7%的相似度——除了渡渡还能是谁?他们当初就fork过你的仓库。"

"fork过的不止渡渡。"林知行说。"GitHub上fork过credit-score-lite的有一千多个账号。谁都有可能。"

方小满拿起手机开始搜索。"那个零售集团叫什么来着——"

"报告里打了马赛克。只说是'华东地区某大型零售集团'。"

"那就搜定价系统。AI智能定价、华东、零售——"方小满的手指在屏幕上飞快地滑动。他搜了几分钟,抬起头。

"找到了一家。'智领科技',注册地杭州,去年拿了A轮八千万。核心产品就是AI智能定价系统,客户全是连锁零售企业。"

"技术顾问是谁?"

"我看看——"方小满继续翻。"他们的官网有团队介绍页。创始人是阿里出来的,CTO是前美团的。技术顾问——"

他的手指停了。

"知行,你过来看。"

林知行走过去,低头看方小满的手机屏幕。

智领科技官网的团队页面,技术顾问栏下面列了三个人的照片和简介。第三个——

程浩。简介写着:"前至简科技CTO,前渡渡科技CTO,前灵犀科技技术负责人,AI可解释性领域专家。"

照片是程浩的近期照。比在灵犀的时候瘦了一圈,颧骨突出,穿一件深蓝色的衬衫,表情平静,嘴角微微上扬。

林知行盯着那张照片看了很久。

他知道程浩上个月提了离职。理由是身体原因,需要休息。方小满当时还劝了几句,程浩笑着说只是想调整一下,不是不回来了。林知行批了。他没有追问。

现在他知道了。

方小满把手机放下来,转头看他。

"程浩。"方小满说。声音比刚才低了半度。"你的算法,程浩的技术顾问。小商户关了店。"

林知行没有接话。

"他说身体原因需要休息——"方小满的声音开始发紧。"休息到智领科技去了?他知道这个定价系统用的是你的代码?他当技术顾问,干什么?帮他们把你的算法改成杀人刀?"

"小满。"

"你当初开源的时候——"方小满深吸一口气,把话咽回去一半。他走到窗边,背对着林知行站了几秒,然后转回来。

"你当初开源的时候,想到过这一天吗?"

林知行回到自己的椅子上坐下。他没有回答方小满的问题。他打开笔记本电脑,调出credit-score-lite的GitHub仓库页面。star数4800多,最近一次fork是三天前。他点进fork列表,往下翻了几十页。

智领科技的GitHub组织账号在列表的第47页。fork时间是一年零两个月前。

"他们拿了我的代码。"林知行说。声音很平,像是在陈述一个技术事实。"GPL协议,他们fork的时候必须保留原始版权声明。但他们在代码里加了一层封装,把核心模块改了名,对外说是自研算法。"

"这不就是偷吗?"

"开源协议允许商业使用。"林知行说。"但要求保留署名。他们的定价系统有没有保留,我不知道——我没法看到他们的闭源代码。"

"那你打算怎么办?"

林知行没有立刻回答。他把椅子转回来,面对着自己的屏幕。报告还开着,第二个案例那张"旺铺转让"的照片占了半屏。

他盯着那张照片,脑子里跑过很多东西。

长沙王老板的水果店。刘总的连锁超市。陈建明的湘味居。王建华的物流公司。这些年他服务过的所有客户——他们都是中小企业,都是那种"大鱼吃小鱼"里的小鱼。

他的算法最初就是为了帮这些小鱼设计的。排课系统帮张老板解决教师排课问题,信用评分帮小商户做库存预测,解释层让用户能看懂AI在想什么——这些东西的出发点,从来不是帮大企业碾压小企业。

但现在,他的代码被人拿去做了相反的事。

一个便利店集团拿着他的算法做自动定价,精准围剿旁边没有AI的小商户。五金店十五年的老店,五个月关了门。

方小满说得对。这就是偷。不,比偷更糟——偷只是转移,这件事是毁灭。

"知行。"方小满的声音从旁边传来。"你在想什么?"

林知行的手指放在键盘上,没有敲。

"我在想,"他说,"昨天赵鸣岐在白板上写的那句话。"

"哪句?"

"'技术是公开的,信任是私有的。'"

方小满等着他说下去。

"我把算法公开了。"林知行说。"我以为公开意味着公平——谁都能用,不会有人独占。但我忘了一件事——公开的算法可以被任何人使用,包括拿它去伤害人的人。"

他停了一下。

"技术是公开的。但善恶不是。"

办公室安静了几秒。窗外传来楼下马路的车流声,嗡嗡的,像一台永远不停的机器在转。

方小满走过来,在林知行对面的椅子上坐下。他没有再说话。他把手机放在桌上,屏幕上还是智领科技的团队页面。程浩的照片在角落里,嘴角微微上扬,像在笑。

但那不是笑。

那只是一个技术顾问的职业照。

林知行把报告的PDF最小化,打开了一个新的空白文档。光标在页面最上方闪了几下。

他在文档里打了一行字:

"开源算法的使用边界。"

然后他盯着这行字,手指悬在键盘上方。

边界?什么叫边界?开源代码放在GitHub上,全世界任何人都能下载、修改、使用。这是开源的根基——自由使用。如果给使用加上边界,那还叫开源吗?

如果不加边界——

他的目光移回到报告的第二个案例。五金店。十五年。五个月关门。

如果不加边界,他的算法就会继续被人拿去做这件事。不是智领科技一家,是任何有技术能力的公司都可以。只要他的代码还在GitHub上,只要GPL协议允许商业使用,只要有人能把"可信度评分"改成"定价弹性系数"——

这条路就永远通着。

林知行把打出来的那行字删掉了。

方小满看着他删的。

"想不出来?"方小满问。

"想不出来。"林知行说。"但我必须想出来。"

方小满点了点头。他站起来,走到门口,停了一下。

"我先去处理刘总的续约。"他说。"这件事——你先想想。晚上我们聊。"

门关上了。

林知行一个人坐在办公室里。桌上的咖啡凉了,他没有喝。屏幕上那份报告还开着,程浩的名字在团队页面的角落里。

他想起程浩在灵犀时的样子。九八五硕士,需求分析岗,第一天就拿到了他一个大专生外包拿不到的任务。后来一路从灵犀到渡渡,从技术负责人到CTO。再后来程浩加入他的公司,成为核心团队的一员。程浩说过一句话——"我宁愿跟着一个好的领导者,也不愿意跟着一个技术天才。"

现在程浩在一家用他的算法做自动定价的公司当技术顾问。

好的领导者。技术天才。

这些标签在"五金店关了门"这个事实面前,轻得像一张纸。

林知行关掉了报告,关掉了GitHub页面,关掉了空白文档。

他打开笔记本——纸质的那本,不是电脑。翻到最新的一页,上面写着昨天赵鸣岐讲可审计AI时他记的笔记。他翻到下一页空白处,拿起笔,写了几个字:

"算法的影子。"

他在下面画了一条横线,然后写:

"我开源了算法。算法被拿去伤害人。创造者需要负责吗?"

笔尖在纸上停了几秒,又加了一行:

"如果需要——怎么负责?"

他盯着这两行字,把笔放下,合上笔记本,靠在椅背上。

窗外的阳光照进来,打在他桌上的咖啡杯上。杯壁上反射出一小块光斑,落在笔记本的封面上,像一个亮闪闪的问号。

(本章完)