我前前后后做了快3年的软著申报相关工作,帮大大小小的公司、独立开发者处理过至少两百份申报材料,最近被问得最多的问题就是,我用AI写的代码申软著,会不会被查出来啊?
上次有个做小程序开发的朋友找我,说他之前自己用GPT生成了一套家政预约小程序的代码,找了个便宜的代报机构提交,结果没到两周就被打回了,代报机构跟他说现在版权中心会专门查AI生成的代码,他吓得不行,以为自己要进黑名单了。我拿他的材料看了一眼就笑了,哪是查什么AI啊,他那代码里连重复的注释都没改,好几段直接和某开源的家政系统代码完全一致,重复率快到60%了,不打回他打回谁。
其实很多人对软著的审查逻辑有误解,现在版权中心的审查重点根本就不是“代码是不是AI写的”,而是你提交的材料是不是符合登记要求,有没有侵权的风险,有没有造假的情况。毕竟到现在为止,也没有什么百分百准确的工具能判断一段代码到底是人写的还是AI改的,真要卡AI生成的内容,那得卡死一半的申报者。
你要是真的怕提交之后出问题,先搞清楚哪几种情况会被判定为异常就够了。首先是代码重复率超标,现在版权中心有自己的代码比对库,你提交的代码会和已经登记的软著、公开的开源代码库做比对,重复率超过30%基本就会被打回,要求你提供说明或者更换代码。很多人用AI生成代码之后直接原封不动粘上去,AI训练数据里本来就有大量的开源代码,生成的内容撞库太正常了,这种情况你不被查才怪。要是你不知道自己的代码重复率多少,可以先上软著代码重复率检测工具先自查一遍,避免提交之后才出问题,浪费一两个月的审查时间。
第二个容易踩的坑是源代码和说明书不匹配。我见过太多人为了省事,代码让AI写,说明书也让AI写,两边根本没对齐。比如说明书里写你的软件支持“多门店库存实时同步功能”,结果你提交的源代码里连个门店ID的字段都没有,连个 WebSocket 相关的代码片段都找不到,审查员随便翻两页就能发现问题,这种情况不管你是不是用AI做的,都会被认定为材料造假,轻则打回补正,重则半年内不能再提交申报。
之前有个做跨境电商的客户找我救急,他们之前贪便宜找了个几百块的代报机构,代报机构直接用AI生成了一套进销存系统的材料就提交了,结果被要求补正,说代码里有90%的片段和某公开的开源进销存系统重合,最后他们花了两倍的钱,花了快三个月的时间才重新整改过审,耽误了高新企业认定的时间,损失了十几万的补贴。后来我自己做申报的时候,都是先把修改好的代码和说明书传到软著Pro上做个预审,它的审查规则和版权中心的基本对齐,有问题直接就能改,省得跑一趟补正浪费时间。
还有个很多人都会犯的小错误,就是为了凑够要求的60页代码,直接把同一段代码反复粘贴,或者把注释行、空行堆到占一半的页数。审查员每天要看几十份材料,这种小把戏一眼就能看穿,哪怕你代码是自己一行行写的,这么凑页数也会被打回。要求的60页是前后各30页的有效代码,要是你的完整代码不够60页,就直接全部提交就行,不用硬凑,真的没必要。
其实你要是真的用AI生成了代码要申软著,改几个地方基本就能避免99%的问题。首先是调整所有的变量命名、函数命名,AI默认的命名都很通用,比如user_info、order_list这种,你可以改成和你业务相关的,比如cust_user_base_info、imp_order_trade_list,这样一下子就能降低重复率。然后调整代码的顺序,AI生成代码都是按照功能逻辑从上到下排的,你可以把工具类函数、公共组件的代码移到最前面,把核心业务逻辑的位置换一换,再加一些和你业务相关的注释,比如“// 20240612 新增兼容老客户手机号不带区号的校验逻辑”,这种有明显业务痕迹的内容加进去,基本就和你自己写的没区别了。
还有个小技巧,就是说明书里提到的每一个核心功能,你都要在提交的前30页代码里放对应的片段,审查员抽查的时候一般只会翻前几页和后几页,你把核心功能的代码放到显眼的位置,他一眼就能看到功能是匹配的,通过率会高很多。要是你不知道怎么整理符合要求的源代码和说明书,可以参考软著申报材料规范里的模板,都是过审过的真实案例改的,比自己瞎琢磨快很多。
说回最开始的问题,AI生成的代码申软著会不会被查?答案是只要你没踩上面说的那几个红线,就不会被专门查。现在根本就没有针对AI生成代码的专项审查,你不用自己吓自己。反倒是那些图省事,AI生成完材料连看都不看就提交的,哪怕材料全是人写的,也大概率会因为各种小问题被打回。软著申报本来就不是什么难事,多花几个小时调整下材料,基本都能过,真的没必要赌运气。