協(xié)作)
1. 項(xiàng)目概述當(dāng)AI“助手”開始懷疑自己最近在折騰各種基于大模型的智能體Agents特別是那些能“看懂”屏幕、操作圖形界面GUI的智能體時我遇到了一個挺有意思也相當(dāng)棘手的問題。你讓智能體去點(diǎn)一個按鈕它信心滿滿地告訴你“點(diǎn)擊了‘提交’”結(jié)果你一看屏幕它點(diǎn)的是旁邊灰色的“取消”?;蛘吣阕屗顚懸粋€表單它信誓旦旦地說“已輸入‘用戶名’”實(shí)際上光標(biāo)還在上一個輸入框里閃動。這種“自信的犯錯”在真實(shí)應(yīng)用場景里是災(zāi)難性的尤其是當(dāng)智能體被用于自動化流程、輔助操作或無障礙服務(wù)時一個錯誤操作可能導(dǎo)致數(shù)據(jù)丟失、流程中斷甚至更嚴(yán)重的后果。這就引出了我們這次要深入探討的核心智能體的不確定性量化。簡單說就是如何讓這些“計(jì)算機(jī)使用智能體”學(xué)會說“我不確定”。這不僅僅是讓它在輸出答案時附上一個0到1之間的置信度分?jǐn)?shù)那么簡單。對于視覺-語言模型驅(qū)動的GUI智能體而言它的“不確定”可能來源于多個層面是沒看清屏幕上的圖標(biāo)是沒理解你的自然語言指令還是對當(dāng)前GUI的狀態(tài)哪個窗口在前、哪個元素可點(diǎn)擊判斷有誤因此我花了不少時間系統(tǒng)性地梳理和構(gòu)建了一個針對“計(jì)算機(jī)使用智能體”的不確定性量化評測基準(zhǔn)。這個基準(zhǔn)橫跨了視覺-語言模型的能力評估與GUI基礎(chǔ)任務(wù)數(shù)據(jù)集的可靠性檢驗(yàn)。它不是為了單純地給模型排名次而是想回答幾個更根本的問題當(dāng)前主流的VLM在理解屏幕和指令時到底有多“靠譜”在不同的GUI任務(wù)如定位、描述、操作上不確定性體現(xiàn)在哪里我們該如何設(shè)計(jì)評估指標(biāo)才能真實(shí)反映一個智能體在“猶豫”時的表現(xiàn)這不僅是學(xué)術(shù)問題更是決定這類智能體能否走出Demo、投入實(shí)用的關(guān)鍵門檻。2. 不確定性量化為什么智能體需要“自知之明”2.1 從“黑盒”到“可解釋的決策”傳統(tǒng)的自動化腳本或規(guī)則引擎其行為是確定性的對與錯邊界清晰。但基于視覺-語言模型的智能體不同它的決策過程更像一個“黑盒”。給定一張屏幕截圖和一句指令“點(diǎn)擊登錄按鈕”模型內(nèi)部經(jīng)歷了復(fù)雜的特征提取、跨模態(tài)對齊和推理最終輸出一個坐標(biāo)或一個操作序列。我們通常只看到最終動作卻不知道模型在做出這個決定時是“十拿九穩(wěn)”還是“連蒙帶猜”。不確定性量化就是試圖給這個黑盒開一扇窗窺探其決策的“心理活動”。在AI領(lǐng)域不確定性通常分為兩類認(rèn)知不確定性源于模型本身知識的不足。比如模型從未在訓(xùn)練數(shù)據(jù)中見過某種新設(shè)計(jì)的、極簡風(fēng)格的按鈕因此它無法準(zhǔn)確識別。這種不確定性可以通過提供更多樣化的數(shù)據(jù)來減少。偶然不確定性源于任務(wù)本身固有的隨機(jī)性或數(shù)據(jù)的噪聲。例如屏幕截圖因網(wǎng)絡(luò)加載問題有部分區(qū)域模糊或者用戶指令存在歧義“處理那個文件”中的“那個”指代不明。這種不確定性通常無法完全消除。對于GUI智能體這兩種不確定性交織在一起。一個模型可能因?yàn)檎J(rèn)知不確定性而認(rèn)錯圖標(biāo)同時又因?yàn)榻貓D中的偶然模糊而無法精確定位。量化不確定性就是讓模型為它的每一個輸出如邊界框坐標(biāo)、操作類型、描述文本分配一個可靠度分?jǐn)?shù)。這個分?jǐn)?shù)不應(yīng)該只是一個裝飾性的數(shù)字而應(yīng)該與模型犯錯的實(shí)際概率有良好的校準(zhǔn)性——即當(dāng)模型說“我有90%的把握”時它十次里應(yīng)該有九次是對的。2.2 GUI智能體不確定性的獨(dú)特來源與純文本或純視覺任務(wù)相比GUI智能體的不確定性來源更為復(fù)雜這也是專門為其設(shè)立評測基準(zhǔn)的必要性多模態(tài)對齊噪聲指令“打開設(shè)置菜單”需要與屏幕視覺元素齒輪圖標(biāo)、文字標(biāo)簽對齊。任何一方的理解偏差如VLM對“設(shè)置”的視覺概念不熟或?qū)Α按蜷_”的動作映射不清都會引入不確定性。GUI狀態(tài)動態(tài)性屏幕不是靜態(tài)圖片。元素可能正在加載半透明、被禁用灰色、被其他窗口遮擋或者狀態(tài)隨時變化如進(jìn)度條。模型對當(dāng)前“可操作狀態(tài)”的判斷存在根本的不確定性。動作序列的依賴性一個任務(wù)如“注冊賬號”通常包含一系列動作點(diǎn)擊、輸入、再點(diǎn)擊。前序動作的成功與否直接影響后續(xù)動作的上下文和環(huán)境從而產(chǎn)生累積的、鏈條式的不確定性?;A(chǔ)定位的模糊性即使模型正確理解了要操作什么如“提交按鈕”在將自然語言描述映射到屏幕具體像素坐標(biāo)時也存在定位誤差。這個誤差的分布是均勻分散在按鈕周圍還是集中在正確位置本身就是一種空間不確定性。理解這些獨(dú)特來源是我們設(shè)計(jì)有效評估指標(biāo)和數(shù)據(jù)集的基礎(chǔ)。一個魯棒的智能體應(yīng)該能在這些挑戰(zhàn)面前清晰地表達(dá)出自己“哪里沒把握”。3. 基準(zhǔn)構(gòu)建核心模型與數(shù)據(jù)集的雙重考驗(yàn)我的這個基準(zhǔn)核心是搭建一個“擂臺”讓不同的智能體在精心設(shè)計(jì)的、充滿“陷阱”的GUI任務(wù)上接受考驗(yàn)并強(qiáng)制它們報告自己的不確定性。這個擂臺有兩根支柱待評估的視覺-語言模型和用于測試的GUI基礎(chǔ)數(shù)據(jù)集。3.1 視覺-語言模型選型與不確定性接口設(shè)計(jì)目前能夠用于GUI理解的VLM大致可以分為幾類通用大規(guī)模VLM如GPT-4V、Gemini Pro Vision、Claude 3。它們能力強(qiáng)大能通過提示工程直接理解屏幕和指令但通常不直接提供不確定性估計(jì)且API調(diào)用成本高、延遲大。專用GUI理解VLM一些研究社區(qū)開源的、針對屏幕截圖和網(wǎng)頁DOM進(jìn)行預(yù)訓(xùn)練的模型如ScreenAI、Pix2Act背后的模型。它們對GUI元素有更好的編碼能力但通常需要額外的適配層才能輸出不確定性。智能體框架中的感知模塊許多開源智能體框架如OpenAI的“計(jì)算機(jī)使用”智能體、Meta的“可可”項(xiàng)目內(nèi)置了VLM作為“眼睛”。這些模塊有時會提供一些置信度信息但格式不統(tǒng)一。為了進(jìn)行公平的基準(zhǔn)測試我需要為這些模型設(shè)計(jì)統(tǒng)一的“不確定性接口”。這通常通過以下方式實(shí)現(xiàn)對于提供概率輸出的模型直接使用其輸出的置信度分?jǐn)?shù)如目標(biāo)檢測中的類別概率、邊框置信度。對于僅生成文本的模型采用“提示工程多次采樣”的方法。例如讓模型多次如10次回答同一個問題“這個元素的坐標(biāo)是”然后統(tǒng)計(jì)答案的方差。方差越大說明模型越不確定?;蛘咧苯犹崾灸P驮诖鸢负蟾缴纤男判乃健耙?-100的分?jǐn)?shù)表示你對這個答案的信心”盡管這種自評估的校準(zhǔn)性需要驗(yàn)證。構(gòu)建代理模型在原始VLM之上訓(xùn)練一個輕量級的“不確定性預(yù)測頭”。這個頭以VLM的中間層特征為輸入輸出對當(dāng)前任務(wù)的不確定性估計(jì)。這需要額外的標(biāo)注數(shù)據(jù)即知道模型在哪些樣本上會犯錯。在我的基準(zhǔn)實(shí)現(xiàn)中我同時采用了后兩種方法以覆蓋更廣泛的模型類型。對于每次模型預(yù)測除了最終動作如CLICK [x, y]還會記錄一個或多個不確定性分?jǐn)?shù)U_actionU_location。3.2 GUI基礎(chǔ)任務(wù)數(shù)據(jù)集不止于“看”更在于“做”數(shù)據(jù)集是基準(zhǔn)的試金石。我選取并整合了多個具有代表性的GUI基礎(chǔ)任務(wù)數(shù)據(jù)集并特意關(guān)注了那些能誘發(fā)不確定性的場景MiniWob經(jīng)典的網(wǎng)頁自動化基準(zhǔn)。任務(wù)明確如“點(diǎn)擊對話框的確定按鈕”但元素可能很小、位置隨機(jī)。不確定性主要體現(xiàn)在精確定位上。AITW更復(fù)雜的多步驟網(wǎng)頁任務(wù)。指令如“在亞馬遜上找到價格低于50美元的無線鼠標(biāo)并加入購物車”。不確定性貫穿視覺搜索、狀態(tài)判斷、序列規(guī)劃全過程。Android-In-The-Wild移動端GUI數(shù)據(jù)集包含真實(shí)的App截圖和指令。這里的不確定性來源更豐富異形圖標(biāo)識別、手勢操作映射滑動 vs 長按、移動端特有的彈窗和權(quán)限請求處理。VGA專注于視覺問答的GUI數(shù)據(jù)集。問題如“當(dāng)前屏幕上有多少個輸入框”或“‘忘記密碼’鏈接是什么顏色”。這類任務(wù)直接考驗(yàn)?zāi)P蛯UI結(jié)構(gòu)的理解深度和細(xì)粒度感知其答案的不確定性反映了認(rèn)知的局限。我并沒有簡單地將這些數(shù)據(jù)集拼接起來。而是為每個數(shù)據(jù)集的任務(wù)類型設(shè)計(jì)了對應(yīng)的不確定性評估維度。例如對于點(diǎn)擊任務(wù)評估坐標(biāo)預(yù)測的不確定性對于問答任務(wù)評估答案正確性的不確定性對于多步驟任務(wù)則評估整個任務(wù)鏈成功率的預(yù)估不確定性。實(shí)操心得數(shù)據(jù)集的“污染”與清洗在整合不同來源的GUI數(shù)據(jù)集時一個巨大的坑是“任務(wù)泄露”和“靜態(tài)假設(shè)”。有些數(shù)據(jù)集的屏幕截圖是靜態(tài)的但真實(shí)世界中的GUI是動態(tài)的。如果模型在訓(xùn)練時見過幾乎相同的靜態(tài)截圖它可能會表現(xiàn)出虛高的確定性。因此在構(gòu)建評測集時我對數(shù)據(jù)進(jìn)行了嚴(yán)格的清洗和去重并引入了一些動態(tài)擾動如輕微的色彩抖動、模擬加載狀態(tài)的半透明覆蓋層等以更好地模擬真實(shí)環(huán)境中的偶然不確定性。4. 評估指標(biāo)設(shè)計(jì)如何科學(xué)地衡量“不確定”設(shè)計(jì)評估指標(biāo)是整個基準(zhǔn)最核心、也最具挑戰(zhàn)性的部分。我們不能只看任務(wù)成功率更要看模型的不確定性估計(jì)是否“誠實(shí)”和“有用”。我主要從三個層面構(gòu)建評估體系4.1 不確定性校準(zhǔn)度這是衡量模型“自知之明”的關(guān)鍵。一個校準(zhǔn)良好的模型其聲稱的置信度應(yīng)與其實(shí)際正確率相匹配。常用指標(biāo)包括預(yù)期校準(zhǔn)誤差將預(yù)測按置信度分桶如0.9-1.0 0.8-0.9…計(jì)算每個桶內(nèi)平均置信度與平均準(zhǔn)確率之差的絕對值再按樣本數(shù)量加權(quán)平均。ECE越低校準(zhǔn)越好??煽啃郧€可視化圖表。橫軸為預(yù)測置信度縱軸為實(shí)際準(zhǔn)確率。理想曲線是一條45度對角線。如果曲線大部分位于對角線下方說明模型過于自信反之則說明模型信心不足。在GUI任務(wù)中計(jì)算ECE需要針對不同任務(wù)類型進(jìn)行適配。對于分類任務(wù)如判斷元素類型可以直接使用。對于回歸任務(wù)如預(yù)測坐標(biāo)則需要先將連續(xù)的不確定性轉(zhuǎn)換為離散的置信度分桶或者使用基于預(yù)測區(qū)間覆蓋率的校準(zhǔn)指標(biāo)。4.2 不確定性引導(dǎo)的決策效用不確定性信息最終要服務(wù)于決策。一個好的不確定性估計(jì)應(yīng)該能幫助智能體做出更優(yōu)的決策例如尋求幫助當(dāng)不確定性高于某個閾值時智能體不應(yīng)盲目執(zhí)行而應(yīng)暫停并向人類用戶請求確認(rèn)“我不太確定是否要點(diǎn)這個紅色的刪除按鈕您確認(rèn)嗎”。嘗試備選方案在執(zhí)行一個操作序列時如果對某一步不確定性很高智能體可以考慮采用不同的策略或路徑。為了量化這種效用我設(shè)計(jì)了“基于不確定性的拒絕曲線”。橫軸是模型拒絕執(zhí)行任務(wù)的比率即當(dāng)不確定性高于閾值時選擇“放棄”縱軸是剩余被執(zhí)行任務(wù)的平均成功率。一個理想的不確定性估計(jì)應(yīng)該能產(chǎn)生一條快速上升的曲線即通過拒絕少量高不確定性的任務(wù)能大幅提升整體任務(wù)的成功率。曲線下的面積可以作為綜合效用指標(biāo)。4.3 任務(wù)特定不確定性分解為了更精細(xì)地診斷問題我將總的不確定性分解到GUI智能體任務(wù)的不同環(huán)節(jié)意圖理解不確定性模型是否真正理解了用戶的指令通過設(shè)計(jì)指令的“近義詞”和“歧義句”變體測試模型輸出的一致性。元素感知不確定性模型是否可靠地檢測和識別了相關(guān)GUI元素通過計(jì)算目標(biāo)檢測任務(wù)中邊框的置信度方差以及在不同圖像增強(qiáng)模糊、噪聲下模型預(yù)測的變化來衡量。狀態(tài)判斷不確定性模型對元素可操作性是否可點(diǎn)擊、是否已選中的判斷是否可靠這需要數(shù)據(jù)集中包含元素狀態(tài)的細(xì)粒度標(biāo)注。動作執(zhí)行不確定性模型將內(nèi)部決策轉(zhuǎn)化為具體動作點(diǎn)擊坐標(biāo)、輸入文本時其精度如何這可以通過動作執(zhí)行后環(huán)境狀態(tài)變化的預(yù)期與實(shí)際是否符合來間接衡量。通過這種分解我們可以清晰地看到一個智能體在哪個環(huán)節(jié)最“心虛”從而針對性地進(jìn)行改進(jìn)。例如如果發(fā)現(xiàn)“意圖理解不確定性”很高那么可能需要增強(qiáng)指令的澄清機(jī)制如果“元素感知不確定性”高則可能需要引入更魯棒的視覺編碼器或數(shù)據(jù)增強(qiáng)。5. 基準(zhǔn)測試初步結(jié)果與洞見基于上述框架我對幾類代表性的模型/智能體進(jìn)行了初步測試。測試環(huán)境模擬了真實(shí)的計(jì)算機(jī)桌面使用Playwright等工具自動化瀏覽器和桌面應(yīng)用并截取屏幕供模型分析。以下是一些關(guān)鍵發(fā)現(xiàn)5.1 模型類型間的顯著差異通用大VLM在開放域理解和復(fù)雜指令跟隨上表現(xiàn)出色不確定性估計(jì)相對“平滑”。但它們對于GUI特有的細(xì)微差別如一個像素級的復(fù)選框是否被勾選表現(xiàn)出較高的偶然不確定性且由于是生成式模型其通過多次采樣得到的方差估計(jì)計(jì)算成本極高。專用GUI VLM在元素檢測和基礎(chǔ)操作定位上確定性更高校準(zhǔn)也更好。然而一旦遇到訓(xùn)練分布外的、設(shè)計(jì)新穎的UI組件其認(rèn)知不確定性會急劇上升且由于模型規(guī)模通常較小它可能“沉默地失敗”即給出高置信度的錯誤答案。集成智能體框架這類智能體通常結(jié)合了VLM、代碼執(zhí)行器和一些啟發(fā)式規(guī)則。它們的不確定性來源最為復(fù)雜既有感知層面的也有規(guī)劃層面的。測試發(fā)現(xiàn)許多框架的“不確定性傳遞”機(jī)制是缺失的——前一步的猶豫不會有效地影響后一步的決策導(dǎo)致錯誤累積。5.2 任務(wù)復(fù)雜度與不確定性的非線性增長一個直觀但重要的發(fā)現(xiàn)是任務(wù)步驟數(shù)量與整體不確定性并非線性關(guān)系而是呈指數(shù)或階梯式增長。一個兩步驟的任務(wù)如1. 找到搜索框2. 輸入關(guān)鍵詞的成功率遠(yuǎn)高于兩個單步任務(wù)成功率的乘積。因?yàn)椴襟E間存在狀態(tài)依賴前序步驟中未被模型察覺的微小定位誤差或狀態(tài)誤判會為后續(xù)步驟創(chuàng)造一個“錯誤”的初始環(huán)境從而極大地放大不確定性。這凸顯了在評估多步驟智能體時序列不確定性評估的極端重要性。5.3 不確定性估計(jì)的“實(shí)用性鴻溝”當(dāng)前即使模型能輸出一個看起來合理的置信度分?jǐn)?shù)這個分?jǐn)?shù)在實(shí)際決策循環(huán)中的可用性仍然存在鴻溝。主要體現(xiàn)在閾值難以設(shè)定應(yīng)該設(shè)定多高的不確定性閾值來觸發(fā)“求助人類”這個閾值可能因任務(wù)關(guān)鍵性刪除文件 vs 改變字體顏色、用戶偏好追求效率 vs 追求準(zhǔn)確而動態(tài)變化。靜態(tài)閾值并不適用。不確定性表達(dá)不直觀向最終用戶呈現(xiàn)“置信度0.73”是沒有意義的。需要將其轉(zhuǎn)化為人類可理解的語言或直觀的交互反饋例如高亮顯示智能體“猶豫”的屏幕區(qū)域或者說“我找到三個可能是‘提交’的按鈕分別是A、B、C您要點(diǎn)擊哪一個”6. 面向未來的改進(jìn)方向與實(shí)操建議基于這次基準(zhǔn)構(gòu)建和測試的經(jīng)驗(yàn)我認(rèn)為要讓GUI智能體真正可靠地投入使用需要在以下幾個方向持續(xù)努力6.1 模型層面構(gòu)建原生支持不確定性的VLM未來的GUI專用VLM應(yīng)該在架構(gòu)設(shè)計(jì)之初就考慮不確定性量化。這不僅僅是添加一個輸出頭而是要在訓(xùn)練目標(biāo)中引入對預(yù)測分布的約束例如采用證據(jù)深度學(xué)習(xí)讓模型學(xué)習(xí)為預(yù)測分配一個狄利克雷分布從而同時輸出分類結(jié)果和認(rèn)知不確定性。對于定位任務(wù)可以輸出坐標(biāo)的概率分布圖而非單個點(diǎn)。6.2 數(shù)據(jù)層面構(gòu)建包含不確定性標(biāo)注的GUI數(shù)據(jù)集當(dāng)前的數(shù)據(jù)集大多只提供“正確答案”。我們需要新的標(biāo)注范式除了標(biāo)注正確的元素或動作還可以標(biāo)注任務(wù)的模糊性等級這個指令是否存在多種合理操作元素的辨識難度這個按鈕在視覺上是否容易與其他元素混淆替代性方案如果首選動作失敗或不確定什么是合理的備選動作這樣的數(shù)據(jù)集將直接用于訓(xùn)練模型的不確定性估計(jì)能力。6.3 系統(tǒng)層面設(shè)計(jì)不確定性的感知與處理閉環(huán)一個魯棒的智能體系統(tǒng)應(yīng)該將不確定性作為一個核心狀態(tài)變量進(jìn)行管理感知與量化如我們基準(zhǔn)中所做在每個決策點(diǎn)產(chǎn)出不確定性。傳播與更新在多步驟任務(wù)中將前序步驟的不確定性通過貝葉斯或其他概率模型傳播到后續(xù)步驟的信念狀態(tài)中。決策與行動基于當(dāng)前的不確定性狀態(tài)選擇最優(yōu)策略是執(zhí)行、探索如嘗試輕微不同的點(diǎn)擊位置、還是求助。學(xué)習(xí)與校準(zhǔn)根據(jù)行動的結(jié)果成功/失敗持續(xù)在線更新和校準(zhǔn)模型的不確定性估計(jì)模塊。6.4 給開發(fā)者的實(shí)操建議如果你正在開發(fā)或集成GUI智能體以下是一些可以立即上手的建議強(qiáng)制要求置信度輸出無論使用何種VLM在其輸出層封裝一個接口強(qiáng)制要求返回置信度分?jǐn)?shù)。即使最初只是簡單的基于Softmax概率或生成概率這也是建立不確定性意識的第一步。實(shí)施“安全網(wǎng)”策略為高風(fēng)險操作如刪除、確認(rèn)支付、修改系統(tǒng)設(shè)置設(shè)置極高的不確定性閾值。當(dāng)模型對這些操作不確定時必須中斷流程并設(shè)計(jì)明確的用戶確認(rèn)環(huán)節(jié)。進(jìn)行影子測試在將智能體部署到生產(chǎn)環(huán)境前先進(jìn)行大規(guī)模的“影子模式”運(yùn)行。即讓智能體對真實(shí)用戶會話進(jìn)行分析和決策但不實(shí)際執(zhí)行操作只是記錄其決策和置信度并與人工標(biāo)注的正確操作進(jìn)行比對。這是校準(zhǔn)不確定性閾值、發(fā)現(xiàn)模型盲區(qū)最有效的方法??梢暬淮_定性在調(diào)試和演示階段將模型的不確定性可視化在屏幕截圖上。例如用不同透明度的紅色遮罩覆蓋模型認(rèn)為“可能”是目標(biāo)元素的區(qū)域。這能極大地幫助開發(fā)者理解模型的“思維過程”和犯錯模式。構(gòu)建這個基準(zhǔn)的過程讓我深刻認(rèn)識到讓AI智能體從“能干”到“可靠”中間隔著一道名為“不確定性量化”的鴻溝。跨越這道鴻溝不能只靠更大更強(qiáng)的模型更需要從評估方法、數(shù)據(jù)構(gòu)建到系統(tǒng)設(shè)計(jì)的全鏈路革新。只有當(dāng)智能體學(xué)會審慎地表達(dá)“我可能錯了”的時候我們才能真正放心地將更復(fù)雜的任務(wù)交給它們。這條路還很長但每一個清晰的基準(zhǔn)、每一次嚴(yán)謹(jǐn)?shù)脑u估都是向前邁出的堅(jiān)實(shí)一步。