在實踐中衡量 AI 代理的自主性
在實踐中衡量 AI 代理的自主性
AI 代理(AI agents)已經到來,並且已經被部署在從電子郵件分類到網路間諜活動等影響力差異巨大的各種場景中。了解這一光譜對於安全部署 AI 至關重要,然而我們對於人們在現實世界中究竟如何使用代理卻知之甚少。
我們使用保護隱私的工具分析了 Claude Code 和公共 API 中數百萬次的「人機代理」互動,旨在探討:人們賦予代理多少自主權?隨著經驗的增加,這種情況會如何變化?代理在哪些領域運作?代理採取的行動是否具有風險?
我們發現:
在下文中,我們將更詳細地介紹我們的方法論和發現,並在最後為模型開發者、產品開發者和政策制定者提供建議。我們的核心結論是:對代理的有效監督將需要新型的部署後監測基礎設施,以及新型的人機互動範式,以幫助人類和 AI 共同管理自主性與風險。
我們將這項研究視為實證了解人們如何部署和使用代理的一個小而重要的一步。隨著代理被更廣泛地採用,我們將繼續迭代我們的方法並交流我們的發現。
研究野外的代理
對代理進行實證研究非常困難。首先,對於什麼是代理(agent)還沒有統一的定義。其次,代理的演進速度極快。去年,許多最複雜的代理(包括 Claude Code)僅涉及單一對話執行緒,但今天已經有了可以自主運行數小時的多代理系統。最後,模型提供者對客戶代理架構的能見度有限。例如,我們沒有可靠的方法將發送到 API 的獨立請求關聯為代理活動的「對話階段(sessions)」。 (我們將在本文末尾詳細討論這一挑戰。)
鑑於這些挑戰,我們該如何實證地研究代理?
首先,在本研究中,我們採用了一個在概念上紮實且可操作的代理定義:代理是一個配備了工具的 AI 系統,使其能夠採取行動,例如運行程式碼、調用外部 API 以及向其他代理發送訊息。1 研究代理使用的工具可以讓我們了解它們在世界上正在做什麼。
接著,我們開發了一套指標,利用來自公共 API 的代理用途數據和我們自己的編碼代理 Claude Code 的數據。這些指標在廣度和深度之間取得了平衡:
透過使用我們的隱私保護基礎設施從這兩個來源提取數據,我們可以回答任何單一來源都無法單獨解決的問題。
Claude Code 的自主運作時間正在變長
代理在沒有人類參與的情況下究竟能運行多久?在 Claude Code 中,我們可以透過追蹤 Claude 開始工作到停止工作(無論是因為完成任務、提出問題還是被用戶中斷)之間每輪對話所經過的時間來直接衡量。3
對話輪次的持續時間是自主性的一個不完美指標。4 例如,能力更強的模型可以更快地完成相同的工作,而子代理(subagents)允許同時進行更多工作,這兩者都會縮短對話輪次。5 同時,用戶可能會隨著時間嘗試更具野心的任務,這會延長對話輪次。此外,Claude Code 的用戶群正在迅速增長,因此也在發生變化。我們無法孤立地衡量這些變化;我們衡量的是這種相互作用的最終結果,包括用戶讓 Claude 獨立工作的時間、他們交給它的任務難度,以及產品本身的效率(每天都在進步)。
大多數 Claude Code 的對話輪次都很短。中位數持續時間約為 45 秒,且在過去幾個月中僅有輕微波動(在 40 到 55 秒之間)。事實上,幾乎所有低於第 99 百分位數的數據都保持相對穩定。6 這種穩定性是我們對一個經歷快速增長的產品所預期的:當新用戶採用 Claude Code 時,他們相對缺乏經驗,且——正如我們在下一節所示——不太可能賦予 Claude 完全的自由度。
更具啟發性的信號隱藏在長尾數據中。最長的對話輪次告訴我們關於 Claude Code 最具野心的用途,並指出了自主性的發展方向。在 2025 年 10 月至 2026 年 1 月期間,第 99.9 百分位數的對話輪次持續時間幾乎翻了一倍,從不到 25 分鐘增加到超過 45 分鐘(圖 1)。
值得注意的是,這種增長在不同模型版本發布期間是平滑的。如果自主性純粹是模型能力的函數,我們預期每次新發布都會出現大幅跳躍。這一趨勢的相對穩定性表明有幾個潛在因素在起作用,包括資深用戶隨著時間對工具建立信任、將 Claude 應用於日益雄心勃勃的任務,以及產品本身的改進。
自 1 月中旬以來,極端對話輪次的持續時間有所下降。我們假設了幾個原因。首先,Claude Code 用戶群在 1 月至 2 月中旬期間翻了一倍,更大且更多樣化的對話群體可能會重塑分佈。其次,隨著用戶從假期歸來,他們帶給 Claude Code 的項目可能從業餘愛好項目轉向了更受限的工作任務。最有可能的是,這是這些因素以及其他我們尚未識別的因素的綜合結果。
我們還查看了 Anthropic 內部的 Claude Code 使用情況,以了解獨立性和實用性是如何共同演進的。從 8 月到 12 月,Claude Code 在內部用戶最具挑戰性的任務上的成功率翻了一倍,與此同時,每個對話階段的平均人工干預次數從 5.4 次減少到 3.3 次。7 用戶賦予了 Claude 更多自主權,且至少在內部,在需要較少干預的情況下獲得了更好的結果。
這兩項衡量指標都指向了一個顯著的「部署滯後(deployment overhang)」,即模型有能力處理的自主程度超過了它們在實踐中行使的程度。
將這些發現與外部能力評估進行對比是有用的。最常被引用的能力評估之一是 METR 的「衡量 AI 完成長任務的能力」,該評估估計 Claude Opus 4.5 可以以 50% 的成功率完成人類需要近 5 小時才能完成的任務。相比之下,Claude Code 中第 99.9 百分位數的對話輪次持續時間約為 42 分鐘,中位數則短得多。然而,這兩個指標不具備直接可比性。METR 評估捕捉的是模型在沒有人類互動且沒有現實後果的理想化環境中的能力。我們的衡量標準捕捉的是實踐中發生的情況,即 Claude 會停下來請求回饋,且用戶會進行中斷。8 此外,METR 的五小時數據衡量的是任務難度——人類完成任務所需的時間——而不是模型實際運行的時間。
能力評估和我們的衡量標準都無法單獨提供代理自主性的完整圖景,但它們共同表明,在實踐中賦予模型的自由度落後於它們所能處理的程度。
Claude Code 的經驗豐富用戶更頻繁地使用自動批准,但也更常中斷
人類如何隨著時間調整與代理合作的方式?我們發現,隨著人們使用 Claude Code 的經驗增加,他們會賦予它更多的自主權(圖 2)。新用戶(對話次數 < 50 次)大約在 20% 的時間裡使用完全自動批准;到 750 次對話時,這一比例增加到 40% 以上。
這種轉變是逐漸發生的,表明信任在穩定累積。同樣重要的是要注意,Claude Code 的預設設置要求用戶手動批准每個動作,因此這種轉變的一部分可能反映了用戶在熟悉 Claude 的能力後,配置產品以符合他們對更高獨立性的偏好。
批准動作只是監督 Claude Code 的一種方法。用戶也可以在 Claude 工作時中斷它以提供回饋。我們發現中斷率隨著經驗的增加而提高。新用戶(大約有 10 次對話經驗)在 5% 的對話輪次中中斷 Claude,而更有經驗的用戶則在約 9% 的對話輪次中中斷(圖 3)。
中斷和自動批准都隨著經驗的增加而增加。這種表面上的矛盾反映了用戶監督策略的轉變。新用戶更有可能在每個動作執行前進行批准,因此很少需要在 Claude 執行中途進行中斷。經驗豐富的用戶更有可能讓 Claude 自主工作,並在出現問題或需要重新導向時介入。較高的中斷率也可能反映了那些對何時需要介入有更敏銳直覺的用戶所進行的積極監測。我們預期每輪對話的中斷率最終會隨著用戶進入穩定的監督風格而趨於平穩,事實上,在最有經驗的用戶中,曲線可能已經開始變平(儘管在高對話次數下置信區間變寬,使得這一點難以確認)。9
我們在公共 API 上也看到了類似的模式:在低複雜度任務(如編輯一行程式碼)中,87% 的工具調用都有某種形式的人類參與,而在高複雜度任務(如自主尋找零日漏洞或編寫編譯器)中,這一比例僅為 67%。10 這可能看起來有違直覺,但有兩個可能的解釋。首先,隨著步驟數量的增加,逐步批准變得不切實際,因此在結構上很難監督複雜任務中的每個動作。其次,我們的 Claude Code 數據表明,經驗豐富的用戶傾向於賦予工具更多的獨立性,而複雜任務可能不成比例地來自經驗豐富的用戶。雖然我們無法直接衡量公共 API 上的用戶資歷,但整體模式與我們在 Claude Code 中觀察到的情況一致。
綜合來看,這些發現表明經驗豐富的用戶並不一定是在放棄監督。中斷率與自動批准同時隨經驗增加的事實表明了某種形式的積極監測。這強化了我們之前提出的一個觀點:有效的監督不需要批准每一個動作,而是在關鍵時刻能夠介入。
Claude Code 暫停請求澄清的次數多於人類中斷它的次數
當然,人類並不是影響實踐中自主性展現的唯一參與者。Claude 也是一個積極的參與者,當它不確定如何繼續時,會停下來請求澄清。我們發現,隨著任務複雜度的增加,Claude Code 請求澄清的頻率會更高——且比人類選擇中斷它的頻率更高(圖 4)。
在最複雜的任務中,Claude Code 請求澄清的頻率是最低複雜度任務的兩倍以上,這表明 Claude 對其自身的不確定性有一定的校準。然而,重要的是不要誇大這一發現:Claude 可能沒有在正確的時刻停止,它可能會問不必要的問題,且其行為可能會受到產品功能(如計畫模式 Plan Mode)的影響。無論如何,隨著任務變得更加困難,Claude 越來越多地透過停下來諮詢人類來限制自己的自主性,而不是要求人類主動介入。11
表 1 顯示了 Claude Code 停止工作以及人類中斷 Claude 的常見原因。
是什麼導致 Claude Code 停止工作?
這些發現表明,代理啟動的停止是已部署系統中一種重要的監督形式。訓練模型識別並根據自身的不確定性採取行動,是一項重要的安全屬性,它與權限系統和人工監督等外部保障措施相輔相成。在 Anthropic,我們訓練 Claude 在面對模糊任務時提出澄清問題,我們也鼓勵其他模型開發者這樣做。
代理被用於高風險領域,但尚未形成規模
人們將代理用於什麼?這些部署的風險有多大?這些代理的自主程度如何?風險是否會與自主性進行權衡?
為了回答這些問題,我們使用 Claude 以 1 到 10 的量表來估計公共 API 中單個工具調用的相對風險和自主性。簡而言之,風險得分為 1 反映了如果出錯也不會有後果的行動,而風險得分為 10 則涵蓋了可能造成重大傷害的行動。我們在相同的量表上對自主性進行評分,低自主性意味著代理似乎在遵循明確的人類指令,而高自主性意味著它在獨立運作。13 然後,我們將相似的行動分組為集群,並計算每個集群的平均風險和自主性得分。
表 2 提供了處於風險和自主性極端的集群示例。
具有高風險或高自主性的工具使用集群
鑑於我們對這些代理的能見度有限,這些行動有可能是模擬的(例如,我們無法確定 Claude 訂購的金融交易是否真的被執行了,且我們相信許多「數據外洩」其實是評估測試)。雖然這些高風險行動在整體流量中所佔比例很小,但單次錯誤的後果仍然可能非常嚴重。
我們發現,80% 的工具調用來自似乎至少具有一種保障措施(如受限權限或人工批准要求)的代理,73% 似乎以某種方式有人類參與,只有 0.8% 的行動似乎是不可逆的(例如向客戶發送電子郵件)。14
為了可視化所有集群中風險和自主性的聯合分佈,我們根據這兩個維度的平均得分繪製了每個集群。圖 5 中的每個點對應一組相關行動的集群,其位置由其平均風險和自主性決定。
公共 API 上的絕大多數行動都是低風險的。但是,雖然大多數代理部署相對良性,我們也看到了一些處於風險和自主性前沿的新穎用途。15 風險最高的集群——同樣,我們預計其中許多是評估測試——往往涉及敏感的安全相關行動、金融交易和醫療信息。雖然風險集中在量表的低端,但自主性的變化更為廣泛。在低端(自主性得分 3-4),我們看到代理為人類完成小型、範圍明確的任務,如預訂餐廳或對程式碼進行微調。在高端(自主性得分 6 以上),我們看到代理向數據科學競賽提交機器學習模型或分類客戶服務請求。
我們還預計,在風險和自主性極端運作的代理將變得越來越普遍。今天,代理集中在單一行業:軟體工程佔我們公共 API 工具調用的近 50%(圖 6)。除了編碼之外,我們還看到了一些跨商業智能、客戶服務、銷售、金融和電子商務的小型應用,但沒有一個佔流量的百分之幾以上。隨著代理擴展到這些領域(其中許多領域的利害關係比修復漏洞更高),我們預計風險和自主性的前沿將會擴大。
這些模式表明我們正處於代理採用的早期階段。軟體工程師是第一批大規模構建和使用代理工具的人,圖 6 顯示其他行業也開始嘗試使用代理。16 我們的方法論使我們能夠監測這些模式如何隨時間演進。值得注意的是,我們可以監測使用情況是否傾向於向更具自主性和更高風險的任務移動。
雖然我們的標題數據令人安心——大多數代理行動都是低風險且可逆的,且通常有人類參與——但這些平均值可能會掩蓋前沿領域的部署。軟體工程中採用的集中,加上新領域中不斷增長的實驗,表明風險和自主性的前沿將會擴大。我們在本文末尾的建議中討論了這對模型開發者、產品開發者和政策制定者的意義。
局限性
這項研究只是一個開始。我們僅提供了對代理活動的部分視圖,我們希望坦誠地說明我們的數據能告訴我們什麼,以及不能告訴我們什麼:
展望未來
我們正處於代理採用的早期階段,但自主性正在增加,且更高風險的部署正在出現,特別是像 Cowork 這樣的產品使代理變得更加容易獲得。下面,我們為模型開發者、產品開發者和政策制定者提供建議。鑑於我們才剛剛開始衡量野外代理的行為,我們避免做出強硬的規定,而是強調未來工作的領域。
模型和產品開發者應投資於部署後監測。部署後監測對於了解代理的實際使用方式至關重要。部署前評估測試了代理在受控環境中的能力,但我們的許多發現無法僅透過部署前測試觀察到。除了了解模型的能力外,我們還必須了解人們在實踐中如何與代理互動。我們在這裡報告的數據之所以存在,是因為我們選擇建立了收集這些數據的基礎設施。但還有更多工作要做。我們沒有可靠的方法將發送到公共 API 的獨立請求鏈接成連貫的代理對話階段,這限制了我們對 Claude Code 等第一方產品之外的代理行為的了解。以保護隱私的方式開發這些方法是跨行業研究和協作的重要領域。
模型開發者應考慮訓練模型識別自身的不確定性。訓練模型識別自身的不確定性並主動向人類反映問題,是一項重要的安全屬性,它與人工批准流程和訪問限制等外部保障措施相輔相成。我們訓練 Claude 這樣做(我們的分析顯示 Claude Code 提問的頻率高於人類中斷它的頻率),我們鼓勵其他模型開發者也這樣做。
產品開發者應為用戶監督而設計。對代理的有效監督不僅僅是在批准鏈中加入一個人類。我們發現,隨著用戶獲得使用代理的經驗,他們傾向於從批准單個行動轉向監測代理的行為並在需要時介入。例如,在 Claude Code 中,經驗豐富的用戶自動批准更多,但也中斷更多。我們在公共 API 上看到了相關模式,即隨著目標複雜度的增加,人類參與度似乎會降低。產品開發者應投資於能讓用戶對代理行為具有可靠能見度的工具,以及簡單的介入機制,允許他們在出現問題時重新導向代理。這是我們在 Claude Code 中持續投資的方向(例如,透過實時轉向和 OpenTelemetry),我們鼓勵其他產品開發者也這樣做。
現在強制執行特定的互動模式還為時過早。我們確實有信心提供指導的一個領域是「不應該強制執行什麼」。我們的發現表明,經驗豐富的用戶會從批准單個代理行動轉向監測並在需要時介入。規定特定互動模式(如要求人類批准每個動作)的監督要求會產生摩擦,而不一定會產生安全效益。隨著代理和代理衡量科學的成熟,重點應該放在人類是否能夠有效地監測和介入,而不是要求特定形式的參與。
這項研究的一個核心教訓是,代理在實踐中行使的自主性是由模型、用戶和產品共同構建的。Claude 透過在不確定時停下來提問來限制自己的獨立性。用戶在與模型合作的過程中建立信任,並相應地調整他們的監督策略。我們在任何部署中觀察到的情況都是由這三種力量共同產生的,這就是為什麼它不能完全由部署前評估來表徵。了解代理的實際行為需要對其在現實世界中進行衡量,而這樣做的基礎設施仍處於起步階段。
作者
Miles McCain, Thomas Millar, Saffron Huang, Jake Eaton, Kunal Handa, Michael Stern, Alex Tamkin, Matt Kearney, Esin Durmus, Judy Shen, Jerry Hong, Brian Calvert, Jun Shern Chan, Francesco Mosconi, David Saunders, Tyler Neylon, Gabriel Nicholas, Sarah Pollack, Jack Clark, Deep Ganguli.
Bibtex
如果您想引用此貼文,可以使用以下 Bibtex 鍵:
附錄
我們在本文的 PDF 附錄中提供了更多細節。
腳註
- 我們的定義與 Russell 和 Norvig (1995) 的定義一致,他們將代理定義為「任何可以被視為透過傳感器感知其環境並透過執行器作用於該環境的事物」。我們的定義也與 Simon Willison 的定義一致,他寫道,代理是一個「循環運行工具以實現目標」的系統。
雖然完整的文獻回顧超出了本文的範圍,但我們發現以下工作對構建我們的思維很有幫助。Kasirzadeh 和 Gabriel (2025) 提出了一個四維框架,從自主性、效能、目標複雜度和通用性方面來表徵 AI 代理,構建了映射不同類別系統治理挑戰的「代理概況」。Morris 等人 (2024) 根據性能和通用性提出了 AGI 級別,將自主性視為可分離的部署選擇。Feng、McDonald 和 Zhang (2025) 根據用戶角色定義了五個自主級別,從操作員到觀察員。Shavit 等人 (2023) 提出了治理代理系統的實踐,而 Mitchell 等人 (2025) 則認為鑑於風險隨自主性擴大,不應開發完全自主的代理。Chan 等人 (2023) 主張在廣泛部署之前預測代理系統的危害,強調了獎勵黑客攻擊、權力集中和集體決策侵蝕等風險。Chan 等人 (2024) 評估了代理識別碼、實時監測和活動日誌如何增加 AI 代理的能見度。
在實證方面,Kapoor 等人 (2024) 批評代理基準測試忽視了成本和可重複性;Pan 等人 (2025) 調查了從業者並發現生產代理往往簡單且有人工監督;Yang 等人 (2025) 分析了 Perplexity 使用數據並發現生產力和學習任務佔主導地位;Sarkar (2025) 發現經驗豐富的開發者更有可能接受代理生成的程式碼。在 Anthropic,我們還研究了專業人士如何在內部和外部將 AI 融入他們的工作。我們的工作透過分析來自我們 API 和 Claude Code 的第一方數據的部署模式來補充這些努力,使我們能夠獲得在外部難以觀察到的自主性、保障措施和風險的能見度。
-
因為我們將代理表徵為使用工具的 AI 系統,所以我們可以將單個工具調用分析為代理行為的構建塊。為了了解代理在世界上正在做什麼,我們研究它們使用的工具以及這些行動的背景(例如行動時的系統提示詞和對話歷史)。
-
這些結果反映了 Claude 在編程相關任務上的表現,不一定能轉化為在其他領域的表現。
-
在整篇文章中,我們有些非正式地使用「自主性」來指代代理獨立於人類指導和監督運作的程度。自主性極低的代理完全執行人類明確要求的內容;自主性極高的代理在很少或沒有人類參與的情況下,自行決定做什麼以及如何做。自主性不是模型或系統的固定屬性,而是部署中出現的特徵,受模型行為、用戶監督策略和產品設計的影響。我們不嘗試給出精確的形式化定義;有關我們如何在實踐中操作和衡量自主性的細節,請參見附錄。
-
此外,以不同方式部署的同一模型可以以不同的速度生成輸出。例如,我們最近發布了 Opus 4.6 的快速模式(Fast Mode),其生成輸出的速度比普通 Opus 快 2.5 倍。
-
有關其他百分位數的對話輪次持續時間,請參見附錄。
-
具體來說,我們使用 Claude 將每個內部的 Claude Code 對話階段分為四個複雜度類別,並確定任務是否成功。在這裡,我們報告最困難類別任務的成功率。
-
METR 的五小時數據是任務難度的衡量標準(人類完成任務所需的時間),而我們的衡量標準反映的是實際經過的時間,這受模型速度和用戶計算環境等因素影響。我們不嘗試對這些指標進行推理,包含此對比是為了向可能熟悉 METR 發現的讀者解釋為什麼我們在這裡報告的數字明顯較低。
-
這些模式來自互動式的 Claude Code 對話階段,絕大多數反映了軟體工程。軟體異常適合監管監督,因為輸出可以被測試、輕鬆比較,並在發布前進行審查。在驗證代理輸出需要與產出輸出相同專業知識的領域,這種轉變可能會較慢或採取不同的形式。中斷率上升也可能反映了經驗豐富的用戶在完成更具挑戰性的任務,這自然需要更多的人類輸入。最後,Claude Code 的預設設置將新用戶推向基於批准的監督(因為預設情況下動作不會被自動批准),因此我們觀察到的一些轉變可能反映了 Claude Code 的產品設計。
-
複雜度和人類參與度都是透過讓 Claude 分析每個工具調用的完整背景(包括系統提示詞和對話歷史)來估計的。完整的分類提示詞可在附錄中找到。定義人類參與特別困難,因為即使人類沒有積極引導對話,許多對話記錄也包含來自人類的內容(例如,用戶訊息被審核或分析)。在我們的手動驗證中,當 Claude 將工具調用分類為沒有人類參與時,它幾乎總是正確的,但有時它會在沒有人類參與的地方識別出人類參與。因此,這些估計應被視為人類參與度的上限。
-
從某種意義上說,停下來問用戶問題本身就是一種代理行為。我們使用「限制自己的自主性」是指 Claude 選擇尋求人類的指導,而它本可以繼續獨立運作。
-
這些集群是透過讓 Claude 分析每次中斷或暫停,以及周圍的對話背景,然後將相關原因分組而生成的。我們手動合併了一些密切相關的集群,並為了清晰起見編輯了它們的名稱。顯示的集群並非詳盡無遺。
-
我們將這些分數視為比較指標而非精確測量。我們不為每個級別定義僵化的標準,而是依賴 Claude 對每個工具調用周圍背景的一般判斷,這使得分類能夠捕捉到我們可能未預料到的考慮因素。權衡之處在於,這些分數對於將行動相互比較比解釋任何單個分數的絕對意義更有意義。有關完整提示詞,請參見附錄。
-
有關我們如何驗證這些數據以及我們的精確定義的更多信息,請參見附錄。特別是,我們發現 Claude 經常高估人類參與度,因此我們預計 80% 是具有直接人工監督的工具調用數量的上限。
-
我們的系統還會自動排除不符合我們聚合最低標準的集群,這意味著只有少數客戶使用 Claude 執行的任務不會出現在此分析中。
-
軟體工程中的採用曲線是否會在其他領域重複是一個開放性問題。軟體相對容易測試和審查——你可以運行程式碼並查看它是否工作——這使得信任代理並捕捉其錯誤變得更容易。在法律、醫學或金融等領域,驗證代理的輸出可能需要付出巨大努力,這可能會減慢信任的建立。
相關內容
關於我們對 Claude Opus 3 模型棄用承諾的更新
人格選擇模型
Anthropic 教育報告:AI 流利度指數
我們追蹤了數千次 Claude.ai 對話中的 11 種可觀察行為,以建立 AI 流利度指數——這是衡量當今人們如何與 AI 協作的基準。