最近AI越来越好用,claude 3 sonnet v2在写代码方面强的不行,各家大厂都纷纷写出来自家的AI代码生成率到20%甚至30%,咱们公司内部也在推广这个,但是怎么得到AI代码生成率这个指标呢?
经过一段时间的研究, 方案也终于是整了出来。
统计AI代码主要分两步, 1.获取到用户产生的AI代码 2. 使用用户提交的代码对比用户产生的AI代码
得出最终的AI代码生产率
很明显,难以获取的一般是用户所产生的AI代码,用户提交的AI代码根据不同的git 托管平台甚至直接使用git 命令都可以获取,下面我们就来分析一下怎么获取用户产生的AI代码。
步骤1 转发copilot请求
以目前AI代码生成工具一哥copilot为例,目前大部分的插件一般情况下都是走的https 网络请求,我们可以通过设置代理的方式,让copilot发生的请求被我们的代理服务器所记录下来。
步骤2 解析copilot请求
当用户设置了代理之后,如果大家公司内部已经默认装好了企业私有系统根证书的话,这里直接开始第二步,自己手动撸一个代理服务, 然后加载咱们的系统根证书,然后github上面有很多开源的代理服务哈,我就不给出代码了。
当代理服务解析到请求之后,可以对包进行解密,拿到请求的参数和响应,这个时候就可以拿到对应的代码了。
这里给大家一点提示,解析github.com 和microsoft.com这两个域名下的请求即可。
下面就是正常的逻辑处理了,将获取到的AI代码解析成单行,去掉空格和特殊字符,存入数据库,就获取到了所有的AI代码啦。
步骤3 得到AI生成率
然后 遍历每个commit, 逐行对比, 即可获得一个准确的数字,
以上获取的AI代码生产率可以说是最准确的数字了,可以精确到行,希望可以给大家一点思路。
如果大家想获取更详细的内容,也可以发邮件给我