偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

讓Agent審查代碼,第一版天崩!AI原生Github創(chuàng)始人血淚:話(huà)癆、誤判,別幻想萬(wàn)能代理,快讓AI閉嘴! 原創(chuàng)

發(fā)布于 2025-6-27 13:52
瀏覽
0收藏

編輯 | 云昭

出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)

“我們用 AI 來(lái)做代碼審查,結(jié)果它比我老板還話(huà)多?!薄@句話(huà)可能是很多開(kāi)發(fā)者的真實(shí)寫(xiě)照。

最近,一篇名為《How we made our AI code reviewer stop being so noisy》的博客引發(fā)了熱議。

作者是一位創(chuàng)業(yè)公司的創(chuàng)始人,Paul Sangle-Ferriere,這家公司致力于打造一個(gè) AI原生的 Github。

這篇文章里講述了他們團(tuán)隊(duì)如何優(yōu)化一個(gè) AI Agent,讓它在 PR 審查中少說(shuō)廢話(huà)。雖然有一些觀(guān)點(diǎn)和做法值得借鑒。

但是評(píng)論區(qū)卻熱鬧非凡、甚至“翻車(chē)”:“例子選得爛”、“信心值是編的”、“這不就是 Copilot 的爛尾問(wèn)題嗎?”

各位不妨一看,相信大家會(huì)有自己的判斷。

一、太吵了,Agent 這么愛(ài)刷存在感

AI 代碼審查 Agent 聽(tīng)起來(lái)很美:自動(dòng)識(shí)別 bug、反模式、重復(fù)代碼,協(xié)助團(tuán)隊(duì)更快更穩(wěn)地交付代碼。可現(xiàn)實(shí)往往是——你以為它在幫你,結(jié)果只是在“刷存在感”。

我們是 cubic 的團(tuán)隊(duì),一個(gè)致力于打造“AI 原生 GitHub”的產(chǎn)品。我們上線(xiàn)過(guò)一個(gè) AI 代碼審查 Agent,主打 PR 初審。上線(xiàn)第一天,開(kāi)發(fā)者的反饋就很直接:

“太吵了!”

是的,它“滔滔不絕、不厭其煩”地指出每一處無(wú)關(guān)痛癢的地方,甚至重復(fù) Linter 已經(jīng)提示的內(nèi)容,還夾雜著一些離譜的誤報(bào)——一場(chǎng)“信息污染”風(fēng)暴。我們意識(shí)到:如果不能讓它閉嘴,就別指望開(kāi)發(fā)者信它。

讓Agent審查代碼,第一版天崩!AI原生Github創(chuàng)始人血淚:話(huà)癆、誤判,別幻想萬(wàn)能代理,快讓AI閉嘴!-AI.x社區(qū)圖片

經(jīng)過(guò)三次架構(gòu)重構(gòu)、數(shù)十次 offline 調(diào)試,我們最終把誤報(bào)率降低了 51%。這不僅讓 Agent 變“安靜”了,更變“聰明”了。以下是我們踩過(guò)的坑、學(xué)到的招。

二、別再幻想萬(wàn)能 Agent:第一版完全崩了

我們最初的架構(gòu)非常符合“直覺(jué)”:

復(fù)制

[diff]
↓  
[一大段 prompt(帶上下文)]
↓  
[輸出所有建議]

看上去不錯(cuò),優(yōu)雅且簡(jiǎn)單,但在真實(shí)環(huán)境下卻迅速玩崩了:

  • 誤報(bào)一堆:代碼樣式風(fēng)格問(wèn)題被當(dāng)成 bug;已修復(fù)的 bug 被反復(fù)提示;Linter 的建議被復(fù)制粘貼。
  • 沒(méi)人信它:一半建議不靠譜,剩下一半也沒(méi)人看了。
  • 改 prompt 毫無(wú)用:你就算在 prompt 里寫(xiě)明“請(qǐng)忽略小問(wèn)題”,它依然我行我素。

我們?cè)囘^(guò)加長(zhǎng)上下文、調(diào)模型 temperature、換 sampling 策略……都沒(méi)明顯改善。

沒(méi)辦法,是時(shí)候徹底反思了。

三、怎么讓 AI “閉嘴”:我們用的 3 個(gè)奏效方法

經(jīng)過(guò)數(shù)輪試驗(yàn),我們終于打造出一套效果穩(wěn)定、實(shí)際可用的新架構(gòu),成功讓誤報(bào)率降低了 51%,并已部署至生產(chǎn)環(huán)境。以下是其中的三個(gè)關(guān)鍵策略:

1.顯式推理:先講邏輯再輸出結(jié)論

后來(lái),我們要求 AI 在輸出任何建議前,必須先明確寫(xiě)出它的“推理邏輯”:

復(fù)制

{
  "reasoning": "`cfg` can be nil on line 42; dereferenced without check on line 47",
  "finding": "Possible nil?pointer dereference",
  "confidence": 0.81
}

這個(gè)結(jié)構(gòu)讓我們獲得了三重收益:

  • 可追蹤性大幅提升:開(kāi)發(fā)者能 debug 模型行為,快速看出判斷邏輯哪里出了問(wèn)題,從而精準(zhǔn)調(diào)整模型行為。
  • 強(qiáng)制 AI 結(jié)構(gòu)化思考:AI 只有先說(shuō)出“為什么”,AI 才能提出“該怎么做”,有效減少了隨意下結(jié)論的情況。
  • 為未來(lái)問(wèn)題排查打基礎(chǔ):很多后續(xù)的問(wèn)題都可以通過(guò)推理日志溯源解決。

一句話(huà):強(qiáng)制思考比調(diào)模型參數(shù)更有效。

2.精簡(jiǎn)工具鏈:從“大雜燴”到“剛剛好”

我們?cè)窘o Agent 配了很多工具:LSP、靜態(tài)分析器、測(cè)試框架……結(jié)果發(fā)現(xiàn):

90% 有效建議都來(lái)自極少數(shù)幾個(gè)工具,其他的反而制造噪音。

于是我們砍掉了大部分依賴(lài),只留下兩個(gè):

  • 精簡(jiǎn)版 LSP(Language Server Protocol)
  • 基礎(chǔ)終端環(huán)境(供 Agent 動(dòng)手查)

結(jié)果?精簡(jiǎn)后的工具鏈讓 AI 更聚焦于識(shí)別真正的問(wèn)題,準(zhǔn)確率顯著提升,出錯(cuò)更少了。

3.一個(gè)萬(wàn)能大 prompt > 多個(gè)專(zhuān)精微型 Agent

我們一開(kāi)始采用的戰(zhàn)斗方法是:瘋狂往大 prompt 里塞規(guī)則:

  • “忽略 .test.ts 中的未使用變量的提示”
  • “跳過(guò) init.py 的導(dǎo)入檢查”
  • “不要 lint markdown 文件”

但最終發(fā)現(xiàn)這條路完全走不通。規(guī)則又多又亂,AI 記不住,也執(zhí)行不好。

我們換了策略:一個(gè) Agent 專(zhuān)注一件事,比如:

  • Planner Agent:識(shí)別變化點(diǎn)、規(guī)劃?rùn)z查順序
  • 安全 Agent:檢測(cè)注入、認(rèn)證問(wèn)題
  • 重復(fù)代碼 Agent:識(shí)別 copy-paste
  • 編輯 Agent:修正拼寫(xiě)與文檔一致性

每個(gè) Agent 都有明確邊界和上下文,專(zhuān)精于一個(gè)細(xì)分任務(wù),誤報(bào)自然減少了,運(yùn)行效率也沒(méi)拉垮。雖然多個(gè) Agent 會(huì)帶來(lái) token 重疊問(wèn)題, token 消耗有所增加,但我們用緩存策略有效平衡了開(kāi)銷(xiāo)。

四、實(shí)際效果:總算不廢話(huà)連篇了

過(guò)去六周,我們把優(yōu)化后的 Agent 投入真實(shí)項(xiàng)目中,覆蓋開(kāi)源與私有倉(cāng)庫(kù),數(shù)據(jù)如下:

  • 誤報(bào)減少 51%
  • PR 評(píng)論數(shù)減少一半(不再刷屏)
  • 團(tuán)隊(duì)審查體驗(yàn)明顯改善,信任度回升,Merge 效率提高

更重要的是,開(kāi)發(fā)者反饋整體滿(mǎn)意度提升明顯,不再視 AI 為“吵鬧的小孩”,而是靠譜的“初審助手”。他們更愿意依賴(lài) AI 完成初審,大大加快了交付速度。

總結(jié)下來(lái),核心經(jīng)驗(yàn)就三句話(huà):

① 顯式推理,提升可解釋性:要求 AI 在提出建議前先解釋“為什么”,既提升準(zhǔn)確率,也便于后期調(diào)試。

② 工具越少越好,定期評(píng)估工具鏈,把實(shí)際使用頻率低于 10% 的工具砍掉,保持輕量高效。

③ 任務(wù)專(zhuān)精化用多個(gè)微型 Agent 分別處理單一任務(wù),能顯著提升上下文利用效率與判斷準(zhǔn)確度。

AI 的“喧嘩期”正在過(guò)去,接下來(lái)拼的是實(shí)用性和信任感。如果你也在做 Agent,不妨試試讓它“先別說(shuō)話(huà),先想一想”。

評(píng)論區(qū)集體翻車(chē):微型Agent真的好嗎?對(duì)比方式存疑

本來(lái)是一片分享代碼審查Agent優(yōu)化心得的博客,但評(píng)論區(qū)的大佬真的是臥虎藏龍。一眼就看出上述三條建議的不妥之處??梢哉f(shuō)每條建議都被反駁得有理有據(jù)。

小編整理了下,主要有以下觀(guān)點(diǎn)。

1. 模型思考的“信心值”是不靠譜的、甚至可能是胡編的

在那段結(jié)構(gòu)化輸出示例中,Cubic 給出了這樣的字段:

復(fù)制

"confidence": 0.81

表面上看,這很專(zhuān)業(yè),仿佛 AI 做了充分思考,還為自己的判斷打了個(gè)分。但評(píng)論區(qū)一針見(jiàn)血指出:

“你知道這個(gè) confidence 值是完全胡編的嗎?”

讓Agent審查代碼,第一版天崩!AI原生Github創(chuàng)始人血淚:話(huà)癆、誤判,別幻想萬(wàn)能代理,快讓AI閉嘴!-AI.x社區(qū)圖片

一位網(wǎng)友指出,事實(shí)上,LLM 并不具備“自我置信評(píng)估”的能力。它生成的每個(gè)字段,只是按提示模仿結(jié)構(gòu)在編內(nèi)容。一個(gè) 0.81 或 0.92,看上去專(zhuān)業(yè),其實(shí)沒(méi)有統(tǒng)計(jì)意義,也沒(méi)有任何實(shí)際校驗(yàn)機(jī)制。

正如一位評(píng)論者諷刺地說(shuō):

“要不干脆加一個(gè)字段叫 confidence_in_confidence_rating?”

更有人表示,他們測(cè)試時(shí)讓模型兩次對(duì)同樣輸入做 reasoning trace,居然得到了兩種語(yǔ)義接近但表述不同的輸出。換句話(huà)說(shuō),不是它騙你,而是它根本沒(méi)想清楚自己在說(shuō)什么。

也就是說(shuō),你讓大模型輸出前先思考“為什么”,但回答這個(gè)“為什么”的置信度完全是站不住腳的。這個(gè)基礎(chǔ)崩塌了,理論上也沒(méi)有什么真實(shí)價(jià)值。

2. 微代理架構(gòu):有效,但是否必要?

Cubic 把原本一個(gè)大 prompt 的“全能 agent”,拆分成多個(gè)“微代理”:

  • Planner:先判斷需要檢查什么
  • Security Agent:查安全漏洞
  • Duplication Agent:查復(fù)制粘貼
  • Editorial Agent:檢查文檔和拼寫(xiě)

這種結(jié)構(gòu)的優(yōu)點(diǎn)是模塊清晰、上下文更聚焦,確實(shí)在短期內(nèi)提升了準(zhǔn)確率。

但不少開(kāi)發(fā)者質(zhì)疑:

“這不就是在用人為任務(wù)拆分,彌補(bǔ)模型本身無(wú)法有效規(guī)劃的問(wèn)題嗎?”

換句話(huà)說(shuō),我們其實(shí)希望模型能夠 end-to-end 理解并完成復(fù)雜任務(wù),而不是我們?nèi)祟?lèi)先做切分,它再一個(gè)個(gè)跑。

有人評(píng)論得很直白:

“這讓我感覺(jué)像是在喂模型吃飯,而不是它自己動(dòng)手做飯?!?/p>

關(guān)于上述這一點(diǎn),小編覺(jué)得開(kāi)發(fā)者有點(diǎn)“杠精了”。不過(guò)需要注意的是,拆分細(xì)分任務(wù)的 Agent 的做法目前還存在非共識(shí),此前我們也報(bào)道過(guò)類(lèi)似的觀(guān)點(diǎn)。比如 Cusor、Devin 等工具,其實(shí)都是在巨大的系統(tǒng)提示詞中做了不少的優(yōu)化工作。

讓Agent審查代碼,第一版天崩!AI原生Github創(chuàng)始人血淚:話(huà)癆、誤判,別幻想萬(wàn)能代理,快讓AI閉嘴!-AI.x社區(qū)圖片

讓Agent審查代碼,第一版天崩!AI原生Github創(chuàng)始人血淚:話(huà)癆、誤判,別幻想萬(wàn)能代理,快讓AI閉嘴!-AI.x社區(qū)圖片

3. AI審查工具的真實(shí)體驗(yàn):能用,但不太值得

評(píng)論區(qū),有一位親歷者總結(jié)自己試用多個(gè) AI 審查工具后的感受:

  • PR 描述幾乎從不準(zhǔn)確地總結(jié)改動(dòng)
  • 90% 的評(píng)論都錯(cuò)或無(wú)關(guān),常因?yàn)槿鄙舷挛?/li>
  • 真正有用的評(píng)論不到 10%

這種體驗(yàn)在很多網(wǎng)友那里得到了共鳴。更多人指出,代碼審查本質(zhì)上需要“部落知識(shí)”“業(yè)務(wù)上下文”“歷史約定”——這些正是 LLM 最難補(bǔ)足的部分。

甚至有人提出一個(gè)更靠譜的方向:

“與其讓 AI 編造判斷,不如讓它推薦歷史上類(lèi)似的 PR 或 Issue 給人類(lèi) reviewer 提供參考?!?/p>

這類(lèi)“語(yǔ)義搜索 + 輔助記憶”型的 Agent,其實(shí)才更符合當(dāng)前 LLM 的能力邊界。

4. 降噪 = 提升?小心被對(duì)照組誤導(dǎo)

Cubic 的文章用幾個(gè)看上去不錯(cuò)的數(shù)據(jù)展示成果:

  • 評(píng)論數(shù)量減半
  • 錯(cuò)誤率降低 51%
  • 審查效率提升

但很快就有人指出盲點(diǎn):

“這些數(shù)據(jù)是跟以前那個(gè)更吵的 Agent 對(duì)比的,不是和‘沒(méi)有 Agent’的對(duì)比。”

讓Agent審查代碼,第一版天崩!AI原生Github創(chuàng)始人血淚:話(huà)癆、誤判,別幻想萬(wàn)能代理,快讓AI閉嘴!-AI.x社區(qū)圖片

如果你運(yùn)行著一個(gè)不靠譜的機(jī)器人,然后說(shuō)“我把它降低一半了”,這并不意味著它現(xiàn)在值得信任。更嚴(yán)謹(jǐn)?shù)膶?duì)比,應(yīng)該是:

  • 開(kāi)著它 vs 關(guān)掉它
  • AI 審查 vs 人工審查
  • AI + 人 vs 只靠人

否則,這些數(shù)據(jù)看似是勝利,其實(shí)可能是“自我感動(dòng)”。

寫(xiě)在最后:Agent仍處于概念驗(yàn)證期

小編看來(lái),這篇博文非常有代表性。

首先,本身代碼審查 Agent 在圈內(nèi)屬于一個(gè)有爭(zhēng)議的方向,大模型的代碼編寫(xiě)能力很強(qiáng),但是讓其做代碼審核,目前還有很大的爭(zhēng)議。

其次,如何做一個(gè)做復(fù)雜任務(wù)的 Agent?目前業(yè)內(nèi)的做法也沒(méi)有完成共識(shí)。是做依托 LLM 做一個(gè)大而復(fù)雜的長(zhǎng)上下文的系統(tǒng)提示詞,還是像本篇文章一樣拆分成多個(gè)“微型 Agent”,兩種做法似乎也涇渭分明。

不過(guò),唯一的共識(shí)是,現(xiàn)在的 Agent 還遠(yuǎn)不夠成熟。就如同昨天 Gartner 報(bào)道:目前絕大多數(shù) Agentic AI 項(xiàng)目仍處于早期試驗(yàn)或概念驗(yàn)證階段,基本是市場(chǎng)炒作驅(qū)動(dòng),且常常應(yīng)用不當(dāng)。

一位Gartner的高級(jí)分析師 Verma 甚至毫不留情的表示:大多數(shù)(現(xiàn)在的) Agentic AI 項(xiàng)目商業(yè)價(jià)值或投資回報(bào)率有限。

當(dāng)然,這并不完全是創(chuàng)業(yè)者團(tuán)隊(duì)的問(wèn)題。根本原因還是在大模型上。

Verma解釋?zhuān)驗(yàn)楝F(xiàn)有的 AI 模型上不具備足夠成熟度與自主能力,無(wú)法長(zhǎng)時(shí)間內(nèi)自主完成復(fù)雜的業(yè)務(wù)目標(biāo),或執(zhí)行細(xì)致、復(fù)雜的指令。

所以,話(huà)說(shuō)回我們今天的案例。我們當(dāng)然理解 AI 工程的不易,尤其是在代碼審查這種對(duì)準(zhǔn)確性要求極高的場(chǎng)景里。

Cubic 做出的努力值得尊敬,它讓我們看到一種探索路徑。不過(guò)這篇博客的評(píng)論區(qū)更提醒我們:

  • 別迷信結(jié)構(gòu)化字段和術(shù)語(yǔ)包裝(confidence 不是 magic)
  • 別低估人類(lèi)上下文理解的力量(tribal knowledge 不是可prompt的)
  • 別輕信自我對(duì)比數(shù)據(jù)(51% 誤判率的下降有可能只是自嗨)

最后,不知道各位看官是否在用 AI 做代碼審查,不妨在評(píng)論區(qū)分享你的體驗(yàn)—— 它真的幫你省了時(shí)間,還是只是多了一個(gè)話(huà)癆同事?

參考鏈接:

??https://www.cubic.??dev/blog/learnings-from-building-ai-agents

??https://news.ycombinator.com/item?id=44386887??

本文轉(zhuǎn)載自??51CTO技術(shù)棧??,作者:云昭

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
標(biāo)簽
已于2025-6-27 15:39:31修改
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦
社區(qū)精華內(nèi)容

目錄