我前两年第一次帮公司报软著的时候,差点没被源代码整理逼辞职。当时找技术要了整个项目的压缩包,解压出来十来个文件夹,我也不知道哪些能用哪些不能用,硬着头皮翻了三天,凑了3000行交上去,没两天就被打回,说里面有大量第三方开源代码,还有一堆注释空行,格式完全不符合要求。那时候赶项目申报的deadline,我连续熬了两个大夜删注释剔空行,眼睛都快瞎了,最后提交的时候还因为代码逻辑和功能说明书对不上,又补了一次材料,前后折腾了快半个月才过。
后来报的软著多了,慢慢摸出了门道,去年开始试着用AI整理源代码,试过几次上手之后,现在整理一份符合要求的源代码最多也就40分钟,比之前效率高了不知道多少。
首先得说清楚,AI不是万能的,你不能把整个项目代码直接扔给AI让它自己弄,前期的粗筛步骤省不了。你得先把所有第三方依赖的代码都删掉,比如前端项目里的node_modules文件夹、引入的第三方UI库的代码,后端里的框架自带的基础代码,还有测试用的临时代码片段,这些都要先清出去,只留你们团队自己写的核心业务代码,比如小程序的pages文件夹里的页面代码、自己封装的工具类代码,后端的业务接口代码这些。不然AI分不清哪些是你自己写的,整理出来的内容还是会混着第三方代码,提交照样被打回。如果不知道软著对源代码的具体要求,可以去看软著源代码整理的官方规范说明,比版权局发的文档接地气多了,每种类型的软件要留哪些代码都写得很清楚。
粗筛完之后,就可以把代码喂给AI了,这里的prompt一定要写准,我之前踩过好几次坑,就是因为prompt写得太模糊。我现在用的prompt是试了十几次调出来的,直接给你们用:“请你处理以下用于软件著作权申报的源代码,处理规则如下:1. 只删除所有//和/* */格式的注释内容,不要修改任何代码本身;2. 删除所有空行,包括代码之间的空白行和行尾的空格;3. 严格保持代码的原有逻辑顺序,不要调整任何代码的前后位置,也不要优化代码逻辑;4. 最终整理成每页50行的格式,每页顶部标注清楚页码。” 之前我没写“不要优化代码逻辑”,AI直接把我一段写得比较冗余的权限判断代码给重构了,提交的时候审核员说代码和功能说明书里写的逻辑对不上,直接打回,我又重新整理了一次,浪费了一周时间。
千万不要让AI直接生成源代码凑数,我之前有个同事图省事,自己的代码不够3000行,就让AI写了几千行类似的代码交上去,直接被判定为造假,不仅那次申报没通过,后续半年他们公司报的软著都被重点审核,麻烦得要死。要是你的代码真的不够3000行,完全可以把前端、后端的代码放在一起,甚至移动端和后台管理系统的代码都可以放,审核不会要求你只能提交单一语言的代码,只要是对应这个软件的就行,完全没必要造假。
AI整理完之后,你一定要自己核对一遍,别直接就交。首先翻前几页和最后几页,看看有没有漏删的注释,有没有把你注释掉的核心业务代码给删掉了,比如你功能说明书里重点写了某个支付对接的逻辑,结果AI把那段注释掉的代码删了,到时候对不上还是要被打回。然后数一下总行数,至少要3000行以上,不够的话就再补几个模块的代码进去就行。最后抽个十来分钟,对照功能说明书的核心功能点,看看对应的代码有没有都在整理好的文档里,比如你写了有用户登录、数据统计、订单管理三个核心功能,那你整理的代码里最好这三个模块的代码都有,不要全是无关的工具类代码。
我后来嫌每次调AI prompt、自己核对太麻烦,就直接用软著Pro的AI整理功能,直接把粗筛后的代码包上传就行,系统会自动帮你删注释空行,按每页50行排好页码,还能自动检测有没有第三方开源代码,甚至会帮你标记出和功能说明书对应的核心代码片段,我上次一口气报3个软著,源代码整理加起来不到1小时就搞定了,换以前至少得3天时间。
对了还有个小坑要提醒你们,整理好的源代码导出成PDF的时候,一定要把行号打开,每页的行号要连续,不要每页都从1开始算,之前我有个朋友就是因为行号每页重置,被要求补材料,其实只是个小问题,但来回折腾也要好几天,完全没必要。要是用工具整理的话,一般都会自动帮你把行号设置好,省得自己调格式。
我这两年前前后后报了快20个软著,除了最开始没经验被打回过两次,后面用AI整理的源代码都是一次过,很多朋友问我报软著有没有捷径,其实哪有什么捷径,无非就是踩的坑多了,知道怎么用工具省力气而已,毕竟能早点干完活下班,谁愿意熬夜对着几千行代码删注释啊。