網易首頁 > 網易號 > 正文 申請入駐

皇后大學與魁北克大學揭示:AI代碼生成存在運行日志記錄行為差異

0
分享至


這項由加拿大皇后大學(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工程師的"記錄習慣":寫得少,但寫起來密度不低

先來說第一條線索。研究團隊發現,在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個字符),在同類項目里,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的遵守率是100%——但研究團隊懷疑這可能是"空遵守",因為AI很可能從頭到尾就沒有添加過調試日志,所以最終代碼里當然也不會有,并非真正意義上的"主動刪除"。

將所有情況綜合起來,研究團隊計算得出:含有日志指令的AI提交中,遵守率約為33%,也就是說有67%的時候AI沒有按照人類的日志要求行事。更進一步,從統計上來看,有沒有日志相關指令,對AI最終是否改動日志這件事幾乎毫無影響(有指令的14.8%改動率對比無指令的20.8%,差異在統計上不顯著)。這意味著,在當前的開發實踐中,日志這件事陷入了一個雙重困境:人類很少開口說(說明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%是由人類完成的,且這些修改大多出現在后續的代碼提交里,而不是通過正式的審查意見提出來的。研究團隊把這種現象稱為"隱形清潔工"效應——人類在悄悄補漏,而不是在審查環節公開指出問題。

特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關推薦
熱點推薦
10年麻將館老板娘口述:凡是愛打牌的,沒一個日子過得好

10年麻將館老板娘口述:凡是愛打牌的,沒一個日子過得好

蘭亭墨未干
2026-04-11 00:28:10
國務院任免國家工作人員

國務院任免國家工作人員

新華社
2026-04-24 13:25:03
強迫男下屬提供性服務,辭職的美國女勞工部長,長得丑可玩的花呀

強迫男下屬提供性服務,辭職的美國女勞工部長,長得丑可玩的花呀

華人星光
2026-04-24 11:23:21
學醫后才知道,腸癌最危險信號,不是便血,而是頻繁出現4癥狀

學醫后才知道,腸癌最危險信號,不是便血,而是頻繁出現4癥狀

牛鍋巴小釩
2026-04-25 17:25:12
家長曬“10歲女兒臭腳”,網友:父母童年凄慘,女兒也會養得很差

家長曬“10歲女兒臭腳”,網友:父母童年凄慘,女兒也會養得很差

妍妍教育日記
2026-04-16 08:00:07
懷舊友誼賽2球1助,申花球迷打趣:應該讓莫雷諾替換米內羅

懷舊友誼賽2球1助,申花球迷打趣:應該讓莫雷諾替換米內羅

懂球帝
2026-04-25 12:07:11
美國已保不住日本,俄羅斯通告全球:中國的一切都在按照計劃進行

美國已保不住日本,俄羅斯通告全球:中國的一切都在按照計劃進行

阿柒的訊
2026-04-24 19:11:19
喜訊!國足6月份熱身賽對手敲定,將成邵佳一執教水平的試金石

喜訊!國足6月份熱身賽對手敲定,將成邵佳一執教水平的試金石

振剛說足球
2026-04-25 14:55:33
馬蹄露緊急發文澄清信息量不少,評論區兩極分化,還有更可怕一幕

馬蹄露緊急發文澄清信息量不少,評論區兩極分化,還有更可怕一幕

冷紫葉
2026-04-25 19:18:16
1799元!蘋果又一款新品上架,續航50小時

1799元!蘋果又一款新品上架,續航50小時

科技堡壘
2026-04-25 00:18:04
“最長斷糧17天”,烏克蘭前線士兵骨瘦如柴照片遭曝光

“最長斷糧17天”,烏克蘭前線士兵骨瘦如柴照片遭曝光

觀察者網
2026-04-25 08:51:03
媒體人:北控邊緣化張帆孟子凱自斷一臂,現狀讓人可惜和痛心

媒體人:北控邊緣化張帆孟子凱自斷一臂,現狀讓人可惜和痛心

懂球帝
2026-04-25 15:51:09
梁宏博:國乒擔心第2個樊振東出現 自己出去打比賽不訓練不受管理

梁宏博:國乒擔心第2個樊振東出現 自己出去打比賽不訓練不受管理

818體育
2026-04-25 07:35:11
科學疏堵!廣東今年五一假期將在部分高速路段設“潮汐車道”

科學疏堵!廣東今年五一假期將在部分高速路段設“潮汐車道”

南方都市報
2026-04-25 19:33:05
轟29分+7記三分!中國男籃29歲王牌崛起:效率值超胡金秋劍指MVP

轟29分+7記三分!中國男籃29歲王牌崛起:效率值超胡金秋劍指MVP

李喜林籃球絕殺
2026-04-25 10:03:24
31歲確診癌癥,洗澡時才發現!這種癌癥正悄悄“盯上”年輕人……

31歲確診癌癥,洗澡時才發現!這種癌癥正悄悄“盯上”年輕人……

BRTV新聞
2026-04-21 19:11:57
5連勝+5分領跑!中超:成都4-0橫掃浙江,韋世豪、拜合拉木破門

5連勝+5分領跑!中超:成都4-0橫掃浙江,韋世豪、拜合拉木破門

燒體壇
2026-04-25 21:33:08
可惜,大s永遠不會知道了,到最后,護著她兩個孩子的是婆婆張蘭

可惜,大s永遠不會知道了,到最后,護著她兩個孩子的是婆婆張蘭

喜歡歷史的阿繁
2026-04-25 10:15:34
有色將重回上升通道。藏格將成為首支百元有色股。

有色將重回上升通道。藏格將成為首支百元有色股。

風風順
2026-04-25 13:10:40
江西女碩士失蹤,被發現時已在教授實驗室待6年,魔鬼真的存在

江西女碩士失蹤,被發現時已在教授實驗室待6年,魔鬼真的存在

燦爛夏天
2025-02-10 20:20:13
2026-04-25 22:11:00
科技行者 incentive-icons
科技行者
科技正在如何變革商業世界
8130文章數 563關注度
往期回顧 全部

科技要聞

DeepSeek V4發布!黃仁勛預言的"災難"降臨

頭條要聞

媒體:美軍在中東罕見高密度集結 伊朗開始調整戰術

頭條要聞

媒體:美軍在中東罕見高密度集結 伊朗開始調整戰術

體育要聞

火箭0-3觸發百分百出局定律:本季加時賽9戰8敗

娛樂要聞

《我們的爸爸2》第一季完美爸爸翻車了

財經要聞

90%訂單消失,中東旺季沒了

汽車要聞

2026款樂道L90亮相北京車展 樂道L80正式官宣

態度原創

教育
藝術
本地
房產
軍事航空

教育要聞

教育縱深 | 閱讀走新更走心

藝術要聞

服了!蘇州20棟“墓碑樓”,出自英國設計師之手

本地新聞

云游中國|逛世界風箏都 留學生探秘中國傳統文化

房產要聞

新一輪教育大爆發來了!海口,開始瘋狂建學校!

軍事要聞

美防長:戰事不會“沒完沒了”

無障礙瀏覽 進入關懷版