任丘市奥力斯涂料厂 > 新闻资讯 >

成都pvc管粘接胶 皇后大学与魁北克大学揭示: AI代码生成存在运行日志记录行为差异

发布日期:2026-04-25 19:07点击次数:

PVC管件胶

这项由加拿大皇后大学(Queen's University)与魁北克大学等技术学院(ETS - Québec University)联开展的研究,于2026年4月发表于ACM旗下的学术期刊,论文编号为arXiv:2604.09409,感兴趣的读者可通过该编号查阅完整原文。研究团队分析了81个开源代码仓库中的4550条AI生成的"代码并请求"(可以把它理解为AI工程师提交的批工作成果)以及3276条人类工程师提交的同类成果,门考察了个此前从未被系统研究过的问题:当AI替我们写代码时,它们是否也会像有经验的工程师样,在代码里留下"运行日志"?

要理解这个问题的重要,先聊聊"运行日志"究竟是什么。以你的热水器为例,如果它内置了个小本子,每隔段时间就自动记录"当前水温38度"、"加热元件正常工作"、"某处管道压力异常",那么当热水器某天突然不出热水时,维修师傅翻开这个小本子,就能快速判断是哪里出了问题。软件系统里的"日志"(Log)扮演的正是这个小本子的角。它记录程序在运行过程中发生的各种事件,帮助工程师在系统出问题时快速定位原因,或者在日常运营中监控系统健康状况。没有日志,系统出了故障就像在黑屋子里找只黑猫——不是不可能,但其痛苦。日志太多,又像是把整栋楼的噪声都录下来找某句话,同样令人头疼。如何在"记录足够多"和"不记录废话"之间找到平衡,是软件工程师凭经验磨练出来的手艺。

现在,AI代码助手大量涌现,它们能接受人类用自然语言描述的任务,自主规划、编写代码,并提交工作成果。问题来了:这种手艺,AI学会了吗?

研究团队给这个问题设计了三条调查线索,分别对应三个研究问题:AI的日志习惯与人类有什么不同?人类会不会门在指令里告诉AI怎么写日志?AI写完日志之后,人类又做了什么修改?带着这三条线索,研究团队展开了场颇具意思的侦查。

、AI工程师的"记录习惯":写得少,但写起来密度不低

奥力斯    pvc管道管件胶批发    联系人:王经理    手机:15226765735(微信同号)    地址:河北省任丘市北辛庄乡南代河工业区

先来说条线索。研究团队发现,在81个被研究的代码仓库中,有58.4的仓库里,人类工程师比AI频繁地在提交代码时顺手改动日志——也就是说,在同个项目里,人类习惯把日志调整当作写代码的"连带动作",而AI则倾向于注于代码本身,把日志这件事放到边。

具体数字是这样的:在同批项目里,人类提交的代码中有23.5会涉及日志改动,而AI只有18.5。这个差距在统计上是显著的(p值为0.019,意思是这个差距不太可能是偶然致的),大约意味着AI改动日志的频率比人类低了16左右。

然而,事情有个反转。当AI确实去写日志的时候,它写得相当密集。在那些AI和人类都会改动日志的67个仓库里,AI平均每修改1000行代码就会留下比人类多30的日志记录。表面上看,这似乎说明AI"很重视"日志,但研究团队进步挖掘后发现,这个"密度"其实有个很朴素的解释:AI通常负责的是规模较小的代码改动任务,而日志密度随着代码量的增加而降低(毕竟你修改10行代码加了1条日志,和修改1000行代码加了5条日志相比,前者的密度就得多)。AI提交的代码改动中位数约为1279行,而人类是2770行,差了倍多。把这个规模差异考虑进去之后,两者的日志密度其实相当接近——在那些AI负责的代码量反而大的仓库里,AI甚至比人类还要保守,少写了21的日志。

研究团队把这个现象解读为种"选择委托"模式:人类工程师倾向于把规模较小、边界清晰的任务交给AI,把大型架构改动留给自己。这让AI看起来"密度",其实只是任务规模使然。

在日志内容的风格上,AI和人类的相似程度颇为致:两者写的日志消息长度几乎样(中位数分别为33个字符和30个字符)成都pvc管粘接胶,在同类项目里,63.6的仓库里两者的消息长度相当。然而,有两个地出现了明显分歧。

个分歧是日志别。软件日志有不同的"严重程度"分,就像医院里的病情分样:DEBUG是"日常体检记录"(详细的调试信息),INFO是"今日状况汇报"(正常运行的流程说明),WARN是"有点异常但还没出事",ERROR和CRITICAL则是"出大问题了"。研究发现,AI在ERROR别的日志上表现不错,与人类的使用习惯度致(53.2的仓库里两者相近)。但在INFO别,人类比AI写——在24.7的仓库里,人类的INFO日志明显多于AI。WARN别则是AI的"冒进区",在29.9的仓库里,AI写的WARN比人类多。

这个规律背后有个有趣的含义:AI倾向于把日志当成"出事了才记录"的工具,而人类工程师还习惯用INFO日志来记录程序的正常流转状态,比如"某个操作已经成功完成"。这种"顺手记录正常状态"的习惯,AI学得不够好。

二个分歧是日志放在代码的什么位置。代码里的"控制流结构"就像是条河流里的分叉和关卡:条件判断(if/else)是个岔路口,循环(for/while)是段会反复走的回路,异常捕获(try/catch)是张安全网。研究发现,AI在异常捕获块和顶层函数体里放日志的习惯与人类相近(分别在58.4和59.7的仓库里相似),但在条件判断块里,只有46.7的仓库里两者相近,人类在这里写日志的情况占28.6。在循环结构里,差距大——32.5的仓库里人类写的循环日志明显多于AI。循环里的日志通常用于追踪批数据处理的进度或状态,这类"过程记录"恰好也是INFO别日志的典型用途。两个发现前后呼应,共同指向个结论:AI的日志视角偏向"发生错误时留痕",而非"记录整个运行过程"。

二、"告诉AI要写日志"有用吗?98.7的时候根本没人说

顺着条线索的发现,研究团队开始追问:既然AI在日志上的习惯和人类有差距,那人类会不会通过给AI的指令来弥补这个差距呢?

研究团队系统地检查了三种人类向AI发出指令的渠道。种是"任务说明书",即人类在给AI分配任务时写的问题描述(类似于给员工的工单)。二种是"仓库别的行为守则",即存放在代码仓库里、用来告诉AI这个项目应该遵守哪些规矩的说明文件,例如CLAUDE.md或AGENTS.md这类文件。三种是"代码审查评论",即人类在审查AI提交的代码时写下的修改意见。

结果非常直接:在研究团队能够观察到指令内容的1308条AI代码提交中,只有4.7(61条)附带了任何关于日志的明确指示。换句话说,过95的时候,人类把任务交给AI,压根没提日志的事。这就好像你雇了个新员工来装修房子,结果忘了告诉他"墙上记得留水管走线",事后却抱怨他没留。

有意思的发现在于,即便那5的人确实说了关于日志的要求,AI的执行情况也令人失望。研究团队把这61条含有日志指令的情况分成两大类来分析:来自任务说明书的15条,和来自仓库说明文件的46条。

在任务说明书这侧,15条日志指令中有73.3(11条)是措辞明确、要求具体的"强指令",比如指定了要用哪个日志框架、用什么日志别、在哪些文件里加日志。然而,这些强指令的遵守率只有27.3——换言之,哪怕人类写得清清楚楚,AI也有将近四分之三的概率忽视这个要求。相比之下,那4条措辞模糊的"弱指令"(比如只说"加点日志"或"确保可观测")反而有50的遵守率,虽然也不,但比强指令还好。这个反直觉的结果提示我们,指令越具体不定越有,模型可能在某些情况下对模糊指令反而有的响应意愿,但两者的整体规率都偏低。

在仓库说明文件这侧,46条日志指令全部是强指令,但整体遵守率只有6.5。其中有个特殊情况值得提:某个项目的说明文件里写着"调试时可以用日志,但提交前须删掉",结果对应的10条日志提交里,AI的遵守率是——但研究团队怀疑这可能是"空遵守",因为AI很可能从头到尾就没有添加过调试日志,所以终代码里当然也不会有,PVC管道管件粘结胶并非真正意义上的"主动删除"。

将所有情况综起来,研究团队计得出:含有日志指令的AI提交中,遵守率约为33,也就是说有67的时候AI没有按照人类的日志要求行事。进步,从统计上来看,有没有日志相关指令,对AI终是否改动日志这件事几乎毫影响(有指令的14.8改动率对比指令的20.8,差异在统计上不显著)。这意味着成都pvc管粘接胶,在当前的开发实践中,日志这件事陷入了个双重困境:人类很少开口说(说明gap),AI说了也常常不听(执行gap)。

三、AI写完日志后,人类悄悄当起了"隐形清洁工"

追到这里,研究团队开始看三条线索:AI提交的代码被并之前和之后,日志有没有被修改过?谁在改?

研究发现,不论是AI还是人类写的代码,在终并之前被修改的比例都很。AI提交的含日志代码中,77.2在后续提交中经历了修改;人类的比例稍,为81.6。光看这个数字,两者似乎差不多。

但修改的执行者大相径庭。在AI提交的代码被修改的案例里,有54.5的修改是由人类单完成的,有35.1是由自动化机器人完成的,剩余10.3是人类和机器人共同参与。而在人类提交的代码被修改的案例里,97.8的修改者也是人类,机器人参与的不到2。

清晰的数字来自日志语句层面的统计:在AI代码里所有的后续日志改动中,72.5是由人类完成的,只有27.5来自自动化工具。这意味着,人类工程师在审查、并AI提交的代码之后,还在默默地补充、修正、或删除日志——这项工作发生在后续的代码提交里,而不是通过正式的审查意见提出来的。

研究团队用了个贴切的比喻来描述这种现象:人类工程师成了"隐形清洁工"(silent janitors)。他们不是在正式的审查流程里调地指出"这里日志不对",而是悄悄地在后续提交里把问题修掉,就像餐厅里有个人直在收拾别人漏下的碎屑,但从来不大声说出来。

研究团队还用种叫做"生存分析"的统计法,追踪了AI新写的日志在多久后会被次修改。结果发现,两者的日志都倾向于在代码提交后早期就被修改(这很正常,刚提交时问题容易被发现),但人类写的日志被修改的速度快、频率。换句话说,AI写的日志"粘",旦进入代码就很少再被改动——但这并不意味着AI的日志质量,可能的原因是审查者对AI代码里的日志关注不够。

在代码审查评论层面,明确提及日志问题的意见在AI提交(2.18)和人类提交(2.17)中几乎样罕见。即便限定在那些本来就含有日志改动的提交里,比例也只有5.8和6。这说明日志问题很少以正式审查意见的形式被提出,大多数情况下,它是被默默修复的,而不是被明确指出的。

另个有趣的发现是,日志被修改的行为主要集中在大体量的代码提交里。AI提交中,被修改过日志的代码量中位数是2702行,而未被修改的只有231行。人类提交里的规律明显:被修改的是4390行,未修改的是250行。简而言之,改动越大,日志越容易被重新磨,小小闹的改动里的日志往往就这么过去了。

四、这些发现告诉我们什么:三个关键启示

这项研究的发现指向了三个非常实际的向。

对于开发AI编程工具的团队而言,研究给出了个明确信号:光靠自然语言指令来约束AI的日志行为,可能是条死路。指令稀少、执行率低、果不可预期,这三重叠加让"在说明文件里告诉AI写好日志"变成了种不可靠的保障机制。研究团队建议,未来的工具设计应该引入"确定护栏"(deterministic guardrails),也就是在AI提交代码之前,通过自动化的规则检查工具(类似于代码风格检查器或持续集成流水线里的测试)来强制验证日志是否符标准。把"有没有写日志"从个可选项变成个硬门槛,才能确保AI产出的代码在可观测上是可靠的。

对于研究AI能力边界的学者而言,这项研究揭示了个有趣的训练偏差。当前的大语言模型在错误处理场景里表现出来的日志意识是不错的,但在追踪程序正常状态面的意识明显偏弱。研究者建议,未来可以用门的训练数据或励模型来强化AI对"状态转移日志"(即记录程序从个状态过渡到另个状态的日志)的重视程度,甚至可以利用强化学习的法,用静态代码分析工具作为"评分标准",让AI在未日志的代码路径上自动受到惩罚,从而学会的日志习惯。

对于实际使用AI辅助开发的工程师和项目负责人而言,这项研究揭示了个被忽视的隐成本。AI写代码的速度是快了,但人类在后续默默补日志、改日志、删日志所花的时间,并没有因为AI的介入而减少,反而形成了种"隐形维护税"。研究团队建议,代码审查流程应该把"日志和可观测"列为明确的检查项,就像正确样受到重视。如果审查者发现AI的代码缺乏要的日志,应该明确要求AI修改,而不是自己悄悄补上。只有把这个责任清晰地交回给AI,才能让AI辅助开发真正减轻人类的工作负担,而不是把负担转移到个不那么显眼的地。

归根结底,这项研究描绘出幅相当真实的图景:AI编程助手已经能写出上基本过关的代码,也能模仿人类在错误处理时留日志的直觉,但在"时刻记录程序健康状态"这个层的工程习惯上,它们还差得远。令人警觉的是,人类在与AI协作的过程中,似乎已经悄悄接受了这个缺口,并默默地承担起了填补它的责任,而没有人大声说出来。这就像雇了个不擅长收尾工作的承包商,然后业主自己每天早上偷偷补漏,表面上工程进度很快,实际上背后的维护成本从来没有真正消失。

如果你在工作中使用或计划使用AI辅助编程,这项研究的结论或许值得认真思考:你的团队是否在不知不觉中也扮演着这种"隐形清洁工"的角?你们的代码审查流程,是否真的把AI提交的可观测质量当成个需要显式检验的问题?对这些问题感兴趣的读者,可以通过arXiv编号2604.09409查阅完整原文,原论文附有详细的数据集、分析代码及完整法描述,为进步研究提供了充分的基础。

Q&A

Q1:AI编程助手生成的代码里,日志数量是比人类少还是多?

A:总体来说,AI在日志频率上比人类低——58.4的项目里,AI改动日志的代码提交比例低于人类。但当AI确实去写日志时,每千行代码里写的日志条数反而比人类多约30。这个"密度"主要是因为AI通常负责较小规模的代码修改任务,小改动致日志密度偏,并不代表AI真的重视日志。当控制了代码改动规模这个因素后,两者的日志行为其实相当接近。

Q2:在指令里明确要求AI写日志,有果吗?

A:果相当有限。研究发现,即便人类在任务说明里明确、具体地要求AI添加日志(比如指定了框架、别和文件),AI的遵守率也只有27.3。综所有场景计,AI对日志指令的整体不遵守率达67。关键的是,从统计上看,有没有日志相关指令,对AI终是否改动日志这件事几乎没有影响。

Q3:AI写的日志在提交后,谁会去修改它?

A:主要还是人类工程师在默默修改。研究发现,在AI提交代码后发生的所有日志修改中,有72.5是由人类完成的,且这些修改大多出现在后续的代码提交里,而不是通过正式的审查意见提出来的。研究团队把这种现象称为"隐形清洁工"应——人类在悄悄补漏,而不是在审查环节公开指出问题。

相关词条:管道保温施工     塑料挤出设备     预应力钢绞线    玻璃棉厂家    保温护角专用胶

1.本网站以及本平台支持关于《新广告法》实施的“极限词“用语属“违词”的规定,并在网站的各个栏目、产品主图、详情页等描述中规避“违禁词”。
2.本店欢迎所有用户指出有“违禁词”“广告法”出现的地方,并积极配合修改。
3.凡用户访问本网页,均表示默认详情页的描述,不支持任何以极限化“违禁词”“广告法”为借口理由投诉违反《新广告法》成都pvc管粘接胶,以此来变相勒索商家索要赔偿的违法恶意行为。

18232851235

Powered by 任丘市奥力斯涂料厂 RSS地图 HTML地图

Copyright Powered by站群 © 2025-2054