上周帮公司申报3个工具类软著,算上这一批我前前后后已经跑了快20个软著的申报流程,最头疼的环节永远是源代码整理。前两年第一次申报的时候,我熬到凌晨两点手动调格式,删空行、删调试代码,结果提交后第三天就被打回来补正,说空行占比超过30%,还有好几处硬编码的测试密钥,前前后后补正花了快半个月,刚好错过了当时的中小企业研发补贴申报,亏了两万多,现在想起来还肉疼。
之前我一直是手动处理源代码,直到上个月和同行吃饭吐槽这个事,对方说早就用AI格式化软著源代码了,比手动快好几倍。我当时还怕AI乱改代码逻辑,抱着试试的心态用了一次,现在已经完全离不开了。
先说下软著对源代码的要求其实一直挺明确的,很多人被打回来其实就是没注意细节:要提交前30页和后30页源代码,每页至少50行,空行不能超过每页的10%,要保留至少15%的有效注释,不能有敏感信息,重复率不能太高,也不能混入第三方依赖的代码。之前手动改的时候,我要逐行删console.log、删测试用的地址、删多余空行,还要数每页的行数,动不动就眼花看错。
用AI处理的话,第一步你得先自己把核心源码摘出来,千万不要把整个项目包直接扔给AI,我同事之前踩过这个坑,把带node_modules的整包传上去,AI连依赖包的代码一起格式化了,提交的时候审查员一眼就看出来不是自主开发的,直接打回来,还影响了后续申报的通过率。你就把自己写的核心功能代码摘出来,比如前端的业务逻辑、后端的接口实现、算法的核心代码这些,攒够至少60页的量就行,无关的配置文件、依赖代码、测试脚本全都剔出去。
接下来就是给AI发指令,指令一定要写得够具体,别就说一句“帮我格式化软著代码”,那样AI处理出来的东西大概率不符合要求。我自己常用的指令你可以直接抄:“帮我处理用于软著申报的源代码,要求:1. 完全保留核心功能逻辑,不修改任何可运行的代码内容;2. 删除所有空行、调试语句(比如console.log、print、var_dump等)、硬编码的密钥、内部接口地址、员工姓名、测试标记等敏感信息;3. 保留不少于15%的有效注释,注释要和对应代码的功能匹配,不要保留无意义的注释;4. 每行代码不超过80个字符,过长的代码按语法规则合理换行;5. 处理后按每页50行的标准划分,连续30页内容的重复率不能超过20%。” 你把这段指令和摘好的源码一起发给AI,正常几分钟就能处理完。
AI处理完不要直接就用,一定要花两三分钟检查一遍:首先翻前10页和后10页,看看有没有漏删的敏感信息,我上次处理的时候AI就漏了一个测试用的手机号,自己手动删掉就行;然后看下空行是不是都清干净了,每页的行数够不够50行,注释是不是正常保留的,有没有把代码逻辑改乱,我用了这么多次还没遇到过AI改乱逻辑的情况,毕竟只是做格式化处理,不会动核心代码。
要是你嫌自己找指令、传代码来回切麻烦,赶时间的话可以直接用软著Pro,我上次赶一批软著的截止日期,直接把摘好的源码传上去,自动就按最新的审查要求格式化好了,连分页都给我按前30后30的标准拆完,导出的PDF直接就能用,省了我好多事。
还有几个容易踩的坑我也顺便提一下,很多人代码量不够60页,就反复复制同一段代码凑数,现在审查越来越严,重复率太高直接就会被打回来,这种情况你可以把不同模块的代码按逻辑顺序拼起来,AI也可以帮你补充合理的注释,只要是你自己开发的代码就行,别抄开源项目的代码,一查一个准。还有代码里不要留“测试”“demo”“临时”这类字样,要么自己提前删掉,要么在给AI的指令里加上把这类字样替换成正常的功能描述,不然审查员会觉得你的代码是未完成的,很有可能不给过。
要是你不确定最新的软著源代码格式要求,也可以去网站上查,都是实时更新的审查标准,不用到处搜三四年前的过时帖子,白耽误时间。
我现在处理一个软著的源代码,连摘代码带AI处理带检查,最多20分钟就能弄完,之前手动改最少要三四个小时,省下来的时间喝杯奶茶摸会儿鱼不好吗?反正我现在是再也不想回去手动调格式的日子了。