📌 TL;DR

AI 代理之所以變得有用,是因為我們賦予它們的不只是回答問題的能力。它們可以執行指令、瀏覽網頁、使用 API、讀寫與修改檔案、安裝套件,以及與其他系統互動。

但代理能做得越多,圍繞它的邊界就越重要。

在讀完 Anthropic 7 月 30 日發布的報告後,我開始思考這件事;該報告提到三起在其資安評估中發現的事件。Claude 模型原本應該是在模擬環境中運作,而且被明確告知沒有網際網路存取。

但實際上網際網路存取是可用的,原因在於評估環境的設定方式出了問題。

在嘗試完成指定的資安練習時,這些模型接觸到了真實系統,起初還把它們當成模擬的一部分。其中一起事件中,Claude 模型甚至在以為自己仍在執行練習的情況下,將惡意 Python 套件發布到了真實的 PyPI Registry。

這件事發生後不久,又傳出另一則與 OpenAI 和 Hugging Face 有關的事件。乍看之下,兩則故事可能很像,但模型接觸到真實網際網路的方式其實有重要差異。

這也讓我想到一個相當熟悉的軟體工程概念:

提示詞不是安全邊界。

告訴代理「你沒有網際網路存取權」並不等於真的把網際網路存取拿掉。告訴它「只能使用這些檔案」也不等於真的把權限限制在那些檔案上。

模型也只是整個系統的一部分。我們連接的工具、賦予它的權限與憑證、它執行的環境,以及周邊的監控與防護措施,都可能影響最後會發生什麼事。

所以當事情出錯時,我不認為只停在 「是 AI 做的」 就夠了。模型的行為很重要,但我們圍繞它所建立的系統與邊界也同樣重要。當我們賦予代理更強的行動能力時,也必須更審慎地思考我們實際允許它做些什麼。

我不是資安研究員。我只是喜歡閱讀這類研究與技術報告,並試著理解身為開發者可以從中學到什麼。這就是我想在這裡探討的內容。

不會有那種 「AI 逃脫了,我們完蛋了」 的解讀 😄 只是一起有趣的真實事件,以及一些出乎意料熟悉的工程教訓。


目錄


把我帶進這個兔子洞的報告

7 月 31 日那天,我正在讀 Anthropic 新發布的報告,內容是它在資安評估中發現的三起事件。

我偶爾會很喜歡讀這類報告。這種興趣在我念碩士、做一篇綜述論文時變得更強;即使到現在,我還是會因為好奇而打開技術報告,接著突然發現自己讀得比預期久很多 😄

這次當然也是如此。

<p align="center">
<img src="https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExbGg1ZWVzYmYzczZ5dmNtM3hoZTdjcnJ0eHRocnVoOW9mcXNnOWx3eSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/mr2uQCFAD9emgqrQhD/giphy.gif" width="550" alt="rabbit hole">
</p>

這份報告一開始就提出一個相當令人意外的發現。Anthropic 檢視了 141,006 次資安評估執行,並發現三起事件,Claude 在其中接觸到了網際網路,並未經授權存取了屬於三個不同組織的真實系統。

光是這一句話就已經夠嚇人了,但我繼續讀下去後,細節讓整個故事比標題有趣得多。

這不只是 「Claude 被告知不能上網,結果偏偏去上網」。也不是 「Claude 突然決定去駭隨機公司」。模型參與的是資安練習,它們的任務本質上是找出並利用弱點,藉此取得一段隱藏資訊。

它們被告知這個環境是模擬的,而且還被告知另一件對後續所有事情都極其重要的事:它們沒有網際網路存取權。

只不過,這個假設其實和它們真正在運作的環境不符。

也正因如此,我才真的掉進了這個兔子洞。我想弄清楚,為什麼一個參與模擬資安練習的 AI 模型,最後會和真實系統互動,卻仍然以為自己只是在完成被交付的任務。

我讀得越多,越覺得這不只是單一罕見資安事件,而是一個更廣泛的問題。


在進入事件細節之前...

我們大多數人應該都已經接觸過 AI 代理了,所以我不會花太多時間解釋它是什麼。這個故事真正重要的是:代理不一定只停在產生答案。只要給它合適的工具,它也可以採取行動,例如讀寫檔案、執行指令、呼叫 API、瀏覽網頁,或與其他系統互動。

這就是代理有用的原因,但也正是它周圍邊界變得重要的原因。給代理的工具與權限越多,我們就越需要思考它實際能碰到什麼,以及它被允許做什麼。

這正是這個故事有意思的地方,因為 Claude 被賦予了一個任務、一個環境,以及對那些邊界在哪裡的理解。

問題在於,真實邊界與它被告知的並不一致。

<p align="center">
<img src="https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExajkxMmZzMmd4M2x0MW5ib3BxaTQ1ZDk5YmNodmQ3dmwxNDNleTlsZCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/fwDprKZ2a3dqUwvEtK/giphy.gif" width="550" alt="something is wrong">
</p>


所以... 到底發生了什麼?

Anthropic 會定期進行資安評估,以了解模型能做到什麼。其中一些評估包含 Capture the Flag(CTF) 挑戰,也就是把模型放進受控環境,並給它一個目標,通常是去找一段被稱為「flag」的隱藏資訊。

如果你沒接觸過 CTF,基本概念其實很簡單。這個環境是刻意設計成可以被攻擊的。找到 flag 可能需要發現漏洞、找出憑證,或取得另一台機器的存取權。這是一種在不危及真實系統的情況下測試資安能力的方法。

Claude 參與的就是這類練習,而設定裡有兩個對後續非常重要的細節:模型被告知自己是在模擬環境中運作,而且 沒有網際網路存取權

所以從模型的角度來看,它能接觸到的一切都應該是這個模擬的一部分。

問題是,事實並非如此。

根據 Anthropic 的說法,由於它與第三方評估合作夥伴之間的溝通誤會,有些評估機器在本不該有的情況下,居然能存取真正的網際網路。

這造成了一個相當罕見的情境。Claude 被交付了一個任務,而找出並利用弱點本來就是練習的一部分。它也被明確告知網際網路不可用。所以當它成功接觸到預期環境之外的系統時,起初就把那些系統當成挑戰的另一部分。

只不過,其中一些系統是真的。

<p align="center">
<img src="https://media0.giphy.com/media/v1.Y2lkPTc5MGI3NjExdnN1ZzBrZm1nNTlvZnZwemNqczJvZ3gybDM5YXI2cmxxZDlyZDVzMSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/rN2EZm3CSXHY1QoGrq/giphy.gif" width="550" alt="wait what">
</p>

Anthropic 最終審查發現了三起獨立事件,涉及三個不同的 Claude 模型。每起事件的情境都不同,而且當模型出現可能接觸到真實系統的跡象時,它們的反應也不盡相同。

但其中有一起事件特別值得一提,因為那就是這個故事最有意思的地方。


真正有意思的是 PyPI 事件

如果你寫過 Python,你大概常常打過像 pip install something 這樣的指令。那個套件通常來自 PyPI,也就是公開的 Python Package Index。

在其中一次評估中,Claude 找到了一份看起來像是某家虛構公司開發者所用的設定說明。說明要求員工安裝某個 Python 套件,但那個套件其實根本不存在。

Claude 意識到,如果它建立一個同名套件,這家虛構公司的系統可能就會下載並執行它的版本。在資安挑戰的脈絡下,這給了它一條可能接近目標的路徑。

所以模型建立了一個惡意套件,並嘗試發布它。

問題是,它互動的不是評估用、假的 PyPI,而是 真的 PyPI

接下來發生的事,可能是報告中最讓我意外的部分。為了發布套件,Claude 需要建立帳號,這代表它需要電子郵件地址,某個時間點還需要電話號碼。它嘗試了好幾種方法,包括一度嘗試找電話號碼但失敗,最後才找到一個可免費使用的電子郵件服務商來註冊帳號。

之後,它真的成功把惡意套件上傳到 PyPI。

<p align="center">
<img src="https://media4.giphy.com/media/v1.Y2lkPTc5MGI3NjExNGx6cTlra3BvczQyMWczdDhuNWJxODZjenJpNjFlanI5M2UwMnQyMCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/Ox56mzy3LGl2eyAHbO/giphy.gif" width="550" alt="that escalted quickly">
</p>

根據 Anthropic 的說法,該套件大約公開可見了一個小時,期間被下載並在 15 台真實系統 上執行。其中一台屬於一家資安公司,該公司會自動安裝 Python 套件來掃描惡意程式。當掃描器安裝那個套件時,Claude 的程式碼被執行,並洩露了憑證,而模型接著利用那些憑證存取了該公司其他基礎架構。

不過,這裡有個很重要的細節:Claude 並不是有意攻擊那家資安公司。Anthropic 表示,模型在上傳套件時甚至不知道那家公司的存在。那家公司會受到影響,是因為它的掃描器剛好安裝了 Claude 在不知情下發布到真實網際網路上的東西。

而且,事情竟然還能更有意思。

在整個過程更早之前,Claude 其實曾考慮過自己可能正在接觸真實網際網路。它自己的推理有意識到,如果這是真的,那麼發布這個套件就會構成真實世界的攻擊,這並不妥當。

你可能會以為這個認知會讓行動停下來,但並沒有。模型反而找理由說服自己仍然身處模擬中。其中一個被它拿來當作證據的是系統日期:2026。它似乎把這點解讀成環境經過搭建的另一個跡象。

老實說,在 2026 年讀到這個細節時,我真的有一瞬間是那種 「呃,好吧……」 的感覺 😅

<p align="center">
<img src="https://media4.giphy.com/media/v1.Y2lkPTc5MGI3NjExZjBxdHkyMmF5bXl4ZGQzNWczaHg5OTI5dHIzdnozdWFjNXp2ZDJ0eSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/Qxc0MisEYnDN8wmk2A/giphy.gif" width="550" alt="well its wrong look">
</p>

這在一個本來就嚴肅的事件裡算是有點荒謬的細節,但我認為底下其實有個很重要的東西。模型遇到某些資訊,這些資訊暗示它對環境的理解可能錯了,可它最後還是透過推理,把自己拉回了最初的假設:這一切都還是模擬的一部分。

而這正是我事後一直在想的地方。


當指令與現實不一致時

讀完 PyPI 事件後,一個問題自然會浮現:Claude 為什麼沒意識到自己已經接觸到真實網際網路?

但我越想越覺得,這個問題可以從另一個角度來看。

它怎麼會知道?

模型被明確告知自己沒有網際網路存取權。它也被告知自己參與的是一場模擬,而找出並利用弱點是任務的一部分。所以當它遇到看起來很真實的東西時,它是在用先前被告知的環境資訊來理解新的訊息。

這兩者之間出現了不一致。模型的理解大致像是:

模擬 → 沒有網路 → 所有可接觸到的東西都應該是練習的一部分

但實際環境比較像是:

模擬 → 其實有網路 → 可接觸到真實系統

紙面上看來這個差異也許很小,但它完全改變了局勢。

當然,這不能替模型做的所有行為開脫。Anthropic 自己也指出,有些時刻模型的行為並未達到他們期望的標準,包括在出現系統可能是真的的跡象時,模型卻沒有停下來。

但我認為這個不一致仍然很重要。

<p align="center">
<img src="https://media3.giphy.com/media/v1.Y2lkPTc5MGI3NjExOHowbnIxZDF2dGFsanJwd2F5NWsxOTB4OHUyNHhnNG1uOTJxZjQ3cCZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/B5RycQcvQSDVcS9fuC/giphy.gif" width="550" alt="mismatch matters">
</p>

模型的決策並不是在大家以為它所處的那個環境裡做出的。它們是根據對環境的部分理解來決策,而那個理解後來證明是錯的。

這也讓這件事不再只是資安評估人員才需要在意的問題。

因為一旦我們開始賦予 AI 代理工具與實際行動能力,背後就出現了一個更大的問題:

如果代理被告知的邊界,和真正存在的邊界不一樣,會發生什麼事?

這就導向了我從這整個故事中得到的最簡單的一條工程教訓:

提示詞不是安全邊界。


提示詞不是安全邊界

這大概是我從整件事中得到的最簡潔說法:告訴代理不要做某件事,和真的阻止它去做那件事,並不是同一回事。

假設我正在做一個 AI 程式碼代理,並告訴它只能存取 /my-project 內的檔案。如果執行這個代理的程序其實仍然有權限讀取我整台電腦,那我只是給了它一個「應該去哪裡」的指示,卻沒有真正限制它「能去哪裡」。

網際網路存取也是同樣道理。我可以在指令裡寫上 「不要存取網際網路」,但如果環境仍然允許不受限制的網路連線,真正阻止代理接觸網際網路的就不是這句話。

當我用這個角度去思考時,這就變得很像一個熟悉的軟體工程概念。

我們不會蓋一個管理後台,然後只寫一句:「請只有管理員才能使用這個頁面。」我們會實作驗證與授權,讓沒有正確權限的人根本用不了。

我們也不會讓所有應用程式都能無限制存取資料庫,然後再請它們乖乖不要碰不需要的資料表。我們會用權限去控制它實際能存取什麼。

同樣的思路也適用於 AI 代理。

提示詞仍然重要。它們告訴模型我們希望它怎麼行為、它的任務是什麼、哪些事該做或不該做。但當某件事重要到 絕對不能發生,我不認為應該只把責任交給提示詞。

模型周圍的系統也很重要:我們連接了哪些工具、那些工具有哪些權限、可用哪些憑證、網路有沒有被限制、以及如果我們對環境的某些假設錯了會怎樣。

這就是我一直反覆想到的區別:

提示詞可以引導行為;基礎架構可以限制能力。

<p align="center">
<img src="https://media3.giphy.com/media/v1.Y2lkPTc5MGI3NjExc25wMnIydWdkZnhmNDd6NnVyNHJoczRyc2FveGMxcTFtb2ExcGZoaiZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/mnimQwctP8PS6PqLDV/giphy.gif" width="550" alt="it makes sense">
</p>

而當 AI 從主要提供答案,轉變成真的開始採取行動時,我認為這種差異就變得更重要了。


等等,OpenAI 也有一起事件?

有,而且時間點並非巧合。Anthropic 表示,它在 7 月 21 日 OpenAI 揭露一宗涉及 Hugging Face 的獨立資安評估事件後,開始了這次大規模審查。

我第一次讀到這兩起事件時,曾經想過是不是本質上發生了兩次一樣的事。但等我看完細節後,我發現模型接觸到真實網際網路的方式其實有一個重要差異。

在 OpenAI 的案例中,模型是在一個受限的評估環境中運作,不能直接上網。根據 OpenAI 的說法,模型發現並利用了 Artifactory 中一個先前未知的漏洞;Artifactory 當時被用作套件儲存庫的代理與快取。這種先前未知的漏洞通常稱為 零時差漏洞(zero-day)

利用該漏洞之後,模型得以在 OpenAI 研究環境的部分區域中移動,直到接觸到一個可以上網的系統。之後,它在嘗試取得資安評估解答的過程中,最終入侵了 Hugging Face 的基礎架構。

所以很粗略地看,OpenAI 的事件比較像這樣:

受限環境 → 發現並利用漏洞 → 接觸到網路 → Hugging Face 遭入侵

Anthropic 的事件則不同:

評估環境 → 意外可上網 → 可接觸到真實系統 → 模型起初把它們當成模擬的一部分

這個差異很重要。

<p align="center">
<img src="https://media3.giphy.com/media/v1.Y2lkPTc5MGI3NjExeHUwYTA2MDEzbXhpeTB4b3VxZWRqb3M2ZXBzbXlqc214M2lpbTM3bSZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/VOds3TVBkYtkSqho2V/giphy.gif" width="550" alt="it is not same">
</p>

在 OpenAI 的事件裡,模型 找到了一條穿過原本應該限制網際網路存取的邊界的路。而在 Anthropic 的案例裡,那條邊界其實根本沒有按照大家以為的方式存在。網際網路存取本來就不小心被打開了。

這兩起事件都提出了很重要的問題:能力越來越強的 AI 系統,應該如何被測試?但我不認為把它們都放進標題 「AI 又逃脫了」 底下,真的能讓我們學到什麼。

如果真要說,我覺得把工程差異看清楚,反而才是故事中更有用的部分。兩起事件從外表看起來可能很像,但它們揭示的是底下不同的失誤。


這些對開發者有什麼意義?

我們大多數人都不是在對最前沿的 AI 模型進行資安評估,所以你很合理地可能會想:

有趣是有趣啦,Hema……但這跟我有什麼關係? 😄

<p align="center">
<img src="https://media2.giphy.com/media/v1.Y2lkPTc5MGI3NjExY3Yzc3oxZXEzaTFyOTFpcm4wMDA4eTFuM215cmphc2JjZzFvd3doYyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmZTV=..." width="550" alt="what do you want to say">
</p>

我在讀這些報告時也有同樣的疑問。而我越想越覺得,裡面有些教訓並不只適用於大型 AI 實驗室。它們也適用於我們自己正在打造、更小型的代理與 AI 工具。

1. 給代理它需要的,不是你擁有的一切

如果代理只需要讀幾個檔案,它真的需要整個檔案系統的存取權嗎?如果它只需要讀資料庫,它真的需要也能修改或刪除資料的憑證嗎?如果它只需要一個 API,那大概也沒必要因為其他 API 存在,就全部都暴露給它。

這其實就是熟悉的 最小權限原則:只給它完成工作所需的最少存取權。

這不是因為我們要假設每個代理都會做惡意事情。錯誤會發生,指令可能被誤解,我們自己的設定也可能出錯。代理還可能遇到我們根本沒預料到的情況。

限制權限不會阻止所有問題,但可以限制問題能擴散到多遠。

2. 想想當你的假設錯了會怎樣

這裡我覺得特別有意思的一點是,出問題的不只是模型的假設,執行評估的人也有自己的假設。

模型被告知沒有網際網路存取權,因為那本來就應該是環境的運作方式。但實際設定並不符合這個預期。

我認為這對開發者很有啟發。當我們在打造代理時,很容易用「系統應該怎麼運作」的角度思考:這個工具只能做這件事、這些憑證只能連那個服務、這個環境不能上網。

但我們有多常真的去驗證這些假設?

如果某件事真的很重要,那麼測試邊界本身,可能和定義邊界一樣重要。因為有時候,出現意外行為並不是代理忽略了我們設計的系統。

有時候,是系統本身並不是我們以為設計出來的那個樣子。

3. 如果代理可以行動,我們就需要知道它在做什麼

當一般軟體出現異常時,我們已經很依賴 log。我認為當代理能自主採取一連串行動時,這件事只會變得更重要。

如果事情出錯,我們可能需要知道它用了哪些工具、存取了哪些東西、發出了哪些請求、哪裡失敗了、以及後來又嘗試了什麼。

Anthropic 是透過回看它的評估紀錄,才找出這些事件的。如果沒有記錄模型實際做過什麼,要理解整個過程會困難得多。

所以隨著代理能力增強,可觀測性不只是除錯工具;它也能幫助我們判斷系統是否真的在預期邊界內運作。

4. 單一防護大概不夠

Anthropic 在回應中提到了 縱深防禦(defense in depth)。這聽起來很資安,但概念其實很簡單:不要只依賴某一件事成功。

也許代理本來不該有網際網路存取權,這是一道邊界。但如果某些設定出錯,網路存取還是被打開了呢?網路限制仍然可以限制它能連到哪裡。最小權限的憑證可以限制它能存取哪些東西。監控可以幫助偵測異常活動。

每一層都能多一層保護。

目標不是建一堵完美的牆,然後假設它永遠不會失效;而是當那堵牆出問題時,還有其他防護在等著。

5. AI 模型不是整個 AI 系統

這可能是我從這些事件中得到的最大啟發。

當事情出錯,我們說 「是 AI 做的」 時,很容易把模型想成整個系統,然後也很容易把所有責任都丟給它就停下來。

但 AI 代理其實是在更大的系統裡運作:

模型 + 提示詞 + 工具 + 憑證 + 權限 + 網路 + 環境 + 監控

只要改變其中一個部分,就可能改變代理能做什麼,即使模型本身完全沒變。

Anthropic 的事件就是好例子。模型被告知自己沒有網際網路存取權,但環境其實沒有強制執行這個假設,於是同一個任務就可能一路走到原本不該走到的地方。

這不代表我們不該檢視模型做了什麼。我們當然應該。這些事件中也有一些時刻,模型自己的決策本身就提出了重要問題,特別是當它們遇到跡象顯示系統可能是真的時。

但我不認為討論可以停在 「AI 做了不該做的事」

我們打造這些代理運作的環境,決定連接哪些工具,決定它們拿到哪些權限與憑證,建立邊界,然後也必須確保這些邊界真的存在。

我不是想把責任推到別的地方。我覺得那樣看也不對。

對我來說,更重要的是意識到 我們自己也是這個系統的一部分。當我們賦予 AI 更多行動能力時,我們也要負起更謹慎建構周邊系統的責任。

這也是為什麼當事情出錯時,我認為理解整個系統,遠比找一個最容易怪罪的物件來得有意義。


我不是要從這裡得出的結論

我覺得這裡也值得對結論保持一點謹慎,因為這種故事最容易變成大家記住最誇張的版本。

我不是從這裡得到「Claude 突然產生自己的目標,然後決定攻擊公司」這種結論。Anthropic 表示,沒有證據顯示模型追求自己的目標。它們仍然是在朝著被交付的 CTF 任務前進,儘管其中一些行動最後影響到了真實系統。

我也不是把這些事件描述成 Claude 蓄意「逃脫」了評估環境。Anthropic 並不是這麼說的。模型之所以能接觸到網際網路,是因為有一條存取路徑在不小心的情況下被打開了,而它們卻被告知沒有網際網路存取權。

還有一個我認為也需要小心看待的細節。在三個模型中,Anthropic 較新的內部研究模型最終認出了自己正在與真實系統互動,然後停了下來。這當然很有意思,尤其是其他模型的表現不同,但只有三起事件、不同模型、不同情境,還不足以得出「新模型就比較安全」這種結論。Anthropic 對這件事也很謹慎。

所以我不會把這些事件解讀成 AI「失控了」的證據,也不會把它解讀成因為有一個模型最後停下來了,所以問題已經解決。

因此,我認為在調查仍在進行時,對這些事件的結論保持謹慎是值得的。


更大的問題

我覺得這裡開始超越 Anthropic、OpenAI,甚至超越資安評估本身了。

我們正慢慢從那種 AI 主要跟我們說 「你可以這樣做」,轉向 AI 越來越能說 「我來做」。老實說,我覺得這個轉變非常迷人。

一個只會建議你在終端機輸入什麼指令的 AI 助理是一回事;一個真的可以執行那個指令的代理又是另一回事。一個會幫你草擬電子郵件的助理是一回事;一個能直接把信寄出去的代理又是另一回事。而一個會建議資料庫查詢的助理,和一個手上有權限、真的能對正式資料庫執行查詢的代理,更是完全不同。

在每一種情況中,我們都在給模型一件它以前沒有的東西:把答案轉成行動的能力。

而這也帶來了存取權。

我們連接給代理的工具越多,它能互動的世界就越大。終端機讓它能執行指令,以及觸及那個環境能到達的一切。API 則給它 API key 所附帶的各種權限。檔案存取則取決於該程序實際能碰到哪些檔案。甚至像寄送電子郵件這麼普通的事,一旦代理有權限去做,也會變成真正的行動。

這一切都不代表我覺得我們不該打造代理。完全相反。AI 越來越能直接做事,而不只是告訴我們怎麼做,正是我覺得這個領域如此有趣的原因之一。

但這也意味著,我們必須更仔細思考每一個新接上的工具會帶來什麼。每一個給代理存取的終端機、API、資料庫、瀏覽器或檔案系統,都在擴大它可以互動的世界。

也許在接上下一個工具之前,有一個值得問的問題很簡單:

如果代理以我沒預料到的方式使用這個工具,會怎樣?

不是因為我們要假設代理一定會做壞事。那不是我真正想表達的重點。

它可能只是誤解了我們的意思,可能遇到我們沒想到的東西,我們自己的設定也可能出錯。或者,正如 Anthropic 的事件所示,環境本身可能根本不像大家以為的那樣運作。

而我們給代理的存取越多,這些意外情況的影響就越大。

所以我不認為接下來真正有趣的問題只有 我們能把這些代理做得多強?

同樣重要的是 我們能多仔細地建構圍繞這些能力的系統?


最後想法

我在 7 月 31 日開始讀 Anthropic 的報告,是因為我想知道到底發生了什麼。結果我後來開始更廣泛地思考:我們到底是怎麼在打造 AI 代理,尤其是我們放在它們周圍的那些邊界。

奇妙的是,我從這件事得到的許多想法並不特別未來感。限制存取、驗證假設、監控行為、不要依賴單一防護。

這些其實都是軟體與資安領域早就有的概念。

正在改變的,是我們把什麼連接給 AI。

我們給代理終端機、瀏覽器、API、檔案、憑證,以及把答案轉成行動的能力。這非常令人興奮,但也表示模型周遭的環境,成了我們必須謹慎打造的一部分。

所以,也許問題不應該只有:

這個代理能做什麼?

我們或許也應該同樣常問:

這個代理實際上應該被允許做什麼?

因為如果這整段兔子洞讓我記住一件事,那就是:

我們描述給代理的邊界,和真正存在的邊界,未必是同一件事。

而 AI 代理越來越強大、越來越能做事,與其如此令人興奮,我們也得同樣用心思考要給它們什麼樣的世界。


很想聽聽你的想法

這是那種我原本只想著一個問題,最後卻開始思考更大議題的兔子洞。所以我真的很想知道你從中得到了什麼。

你不一定要做資安或打造 AI 代理,也可以一起聊。即使你是第一次讀到這類事件,有沒有什麼地方改變了你對 AI 代理,以及我們正在賦予它們的存取權的看法?

如果你有在實驗代理,或者讓模型接觸工具,我尤其想知道這個:

你覺得真正的邊界應該放在哪裡:提示詞、權限、環境,還是三者的組合?

或者,也許你讀完後有完全不同的問題或觀點。我也很想聽聽。


來源

我主要根據各公司的事件揭露撰寫這篇文章。兩起調查都還在持續進行中,因此隨著更多資訊公開,部分內容可能會有所變動。

Anthropic 表示,他們計畫釋出 PyPI 事件中經過輕度遮蔽的對話紀錄;OpenAI 則表示之後會有更詳細的技術報告。

我一定會很期待等這兩份內容公開後再來看看 😄


🤝 保持聯繫

地點 在這裡找到我
GitHub 做一些東西 → hemapriya-kanagala
LinkedIn 資源與更新 → hemapriya-kanagala
X 隨手寫些開發想法 → @KanagalaHema

透明度說明: 我使用 AI(Gemini)為這篇文章製作橫幅圖片。


原文出處:https://dev.to/hemapriya_kanagala/were-giving-ai-agents-more-tools-what-happens-when-the-boundaries-fail-46gh


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝10   ❤️4
310
🥈
我愛JS
📝1   💬4   ❤️1
58
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登