升級後的 Claude 3.5 Sonnet 模型能夠與可操作電腦桌面環境的工具互動。

電腦使用是一項 beta 功能。請注意,電腦使用與標準 API 功能或聊天介面不同,存在獨特的風險。當使用電腦使用功能與網際網路互動時,這些風險會加劇。為了將風險降至最低,請考慮採取以下預防措施:

  1. 使用具有最小權限的專用虛擬機器或容器,以防止直接的系統攻擊或意外情況。
  2. 避免讓模型存取敏感資料(如帳戶登入資訊),以防止資訊被盜。
  3. 限制網際網路存取至允許清單中的網域,以減少接觸惡意內容的風險。
  4. 請人工確認可能產生實際後果的決策,以及需要明確同意的任何任務,例如接受 cookies、執行金融交易或同意服務條款。

在某些情況下,即使與使用者的指示相衝突,Claude 也會遵循內容中的命令。例如,網頁或圖像中包含的 Claude 指示可能會覆蓋指示或導致 Claude 犯錯。我們建議採取預防措施,將 Claude 與敏感資料和行為隔離,以避免與提示注入相關的風險。

最後,請在您自己的產品中啟用電腦使用功能之前,通知最終使用者相關風險並獲得他們的同意。

電腦使用參考實作

透過我們的電腦使用參考實作快速入門,其中包括網頁介面、Docker 容器、範例工具實作和代理迴圈。

請使用此表單提供有關模型回應品質、API 本身或文件品質的反饋意見 - 我們期待聽到您的意見!

以下是如何使用 Messages API 為 Claude 提供電腦使用工具的範例:


電腦使用的運作方式

1. 為 Claude 提供電腦使用工具和使用者提示

  • 在您的 API 請求中加入 Anthropic 定義的電腦使用工具。
  • 包含可能需要這些工具的使用者提示,例如「將一張貓的圖片儲存到我的桌面」。

2. Claude 決定使用工具

  • Claude 載入儲存的電腦使用工具定義,並評估是否有任何工具可以協助回答使用者的查詢。
  • 如果有,Claude 會構建正確格式的工具使用請求。
  • API 回應的 stop_reasontool_use,表示 Claude 有意使用工具。

3. 提取工具輸入、在電腦上評估工具並返回結果

  • 在您的端,從 Claude 的請求中提取工具名稱和輸入。
  • 在容器或虛擬機器上使用該工具。
  • 以新的 user 消息繼續對話,其中包含 tool_result 內容區塊。

4. Claude 繼續呼叫電腦使用工具,直到完成任務

  • Claude 分析工具結果,以確定是否需要更多工具使用或任務已完成。
  • 如果 Claude 決定需要另一個工具,它會以另一個 tool_use stop_reason 回應,您應該返回步驟 3。
  • 否則,它會構建一個文字回應給使用者。

我們將步驟 3 和 4 的重複執行(不需使用者輸入)稱為「代理迴圈」- 即 Claude 以工具使用請求回應,而您的應用程式則以評估該請求的結果回應 Claude。


如何實作電腦使用

從我們的參考實作開始

我們建立了一個參考實作,其中包含開始使用電腦使用所需的一切:

我們建議在閱讀本文件的其餘部分之前,先嘗試參考實作。

優化模型表現的提示

以下是一些獲得最佳輸出品質的提示:

  1. 指定簡單、明確定義的任務,並為每個步驟提供明確的指示。
  2. Claude 有時會假設其行為的結果,而不明確檢查結果。為了防止這種情況,您可以提示 Claude:「在每個步驟之後,請拍攝螢幕截圖並仔細評估是否已達到正確的結果。明確顯示您的思考過程:「我已評估步驟 X…」如果不正確,請重試。只有在您確認正確執行了某個步驟後,才應該繼續下一步。」
  3. 某些 UI 元素(如下拉式選單和捲軸)可能很難透過滑鼠移動來操作。如果遇到這種情況,請嘗試提示模型使用鍵盤快捷鍵。
  4. 對於可重複的任務或 UI 互動,請在提示中包含成功結果的範例螢幕截圖和工具呼叫。
  5. 如果您需要模型登入,請在 xml 標籤中提供使用者名稱和密碼,例如 <robot_credentials>。在需要登入的應用程式中使用電腦使用功能會增加因提示注入而導致不良結果的風險。在向模型提供登入憑證之前,請檢閱我們關於減輕脫逃的指南。

如果您反覆遇到一組明確的問題,或事先知道 Claude 需要完成的任務,請使用系統提示為 Claude 提供明確的提示或說明,以成功完成任務。

系統提示

當透過 Anthropic API 請求其中一個 Anthropic 定義的工具時,會生成特定於電腦使用的系統提示。它類似於工具使用系統提示,但開頭為:

您可以使用一組功能來回答使用者的問題。這包括存取沙盒化的計算環境。您目前無法檢查檔案或與外部資源互動,除非透過調用以下功能。

與一般工具使用一樣,仍會使用使用者提供的 system_prompt 欄位來構建組合系統提示。

了解 Anthropic 定義的工具

作為 beta 版本,這些工具定義可能會有變更。

我們提供了一組工具,使 Claude 能夠有效地使用電腦。在指定 Anthropic 定義的工具時,不需要也不允許 descriptiontool_schema 欄位。

Anthropic 定義的工具由使用者執行

Anthropic 定義的工具是由 Anthropic 定義的,但您必須明確評估工具的結果並將 tool_results 返回給 Claude。與任何工具一樣,模型不會自動執行工具。

我們目前提供 3 個 Anthropic 定義的工具:

  • { "type": "computer_20241022", "name": "computer" }
  • { "type": "text_editor_20241022", "name": "str_replace_editor" }
  • { "type": "bash_20241022", "name": "bash" }

type 欄位識別工具及其參數以進行驗證, name 欄位是向模型公開的工具名稱。

如果您想提示模型使用其中一個工具,可以明確參考 name 欄位中的工具。在同一 API 呼叫中,name 欄位必須在工具清單中是唯一的;您不能定義與 Anthropic 定義的工具同名的工具。

我們不建議定義與 Anthropic 定義的工具同名的工具。雖然您仍然可以重新定義這些名稱的工具(只要在您的 tools 區塊中工具名稱是唯一的),但這樣做可能會降低模型的表現。

將電腦使用與其他工具結合

您可以將一般工具使用與 Anthropic 定義的電腦使用工具結合。

建立自訂電腦使用環境

參考實作旨在幫助您快速入門電腦使用。它包含了讓 Claude 使用電腦所需的所有組件。不過,您也可以根據需求建立自己的電腦使用環境。您需要:

  • 適合與 Claude 進行電腦使用的虛擬化或容器化環境
  • 至少一個 Anthropic 定義的電腦使用工具的實作
  • 與 Anthropic API 互動並執行 tool_use 結果的代理迴圈,使用您的工具實作
  • 允許使用者輸入以啟動代理迴圈的 API 或 UI

了解電腦使用的限制

電腦使用功能處於 beta 階段。雖然 Claude 的能力是最先進的,但開發人員應該了解其限制:

  1. 延遲: 目前人機互動的電腦使用延遲可能比一般人工操作電腦慢。我們建議專注於速度不是關鍵的使用案例(例如背景資訊收集、自動化軟體測試),並在可信的環境中進行。
  2. 電腦視覺準確性和可靠性: 在生成動作時,Claude 可能會在輸出特定座標時出現錯誤或產生幻覺。
  3. 工具選擇準確性和可靠性: 在生成動作或解決問題時,Claude 可能會在選擇工具時出現錯誤或產生幻覺。此外,與小眾應用程式或多個應用程式同時互動時,可靠性可能會降低。我們建議在要求複雜任務時,謹慎地提示模型。
  4. 捲動可靠性: 目前體驗中的捲動可能不可靠,模型可能無法可靠地捲動到頁面底部。可以透過鍵盤快捷鍵 (PgUp/PgDown) 改善類似捲動的行為。
  5. 試算表互動: 使用滑鼠點擊進行試算表互動是不可靠的。單元格選擇可能無法如預期般運作。可以透過提示模型使用方向鍵來減輕這種情況。
  6. 在社交和通訊平台上建立帳戶和生成內容: 雖然 Claude 會訪問網站,但我們正在限制其在社交媒體網站和平台上建立帳戶、生成和分享內容或以其他方式模仿人類的能力。我們可能會在未來更新此功能。
  7. 漏洞: 像是脫逃或提示注入這樣的漏洞可能會持續存在於前沿 AI 系統中,包括 beta 電腦使用 API。在某些情況下,即使與使用者的指示相衝突,Claude 也會遵循內容中的命令。例如,網頁或圖像中包含的 Claude 指示可能會覆蓋指示或導致 Claude 犯錯。我們建議: a. 將電腦使用限制在具有最小權限的可信環境中,例如虛擬機器或容器 b. 避免讓電腦使用存取敏感帳戶或資料,除非有嚴格的監督 c. 在您的應用程式中啟用或要求電腦使用功能所需的權限之前,通知最終使用者相關風險並獲得他們的同意
  8. 不當或非法行為: 根據 Anthropic 的服務條款,您不得利用電腦使用來違反任何法律或我們的可接受使用政策。

請仔細檢閱和驗證 Claude 的電腦使用動作和日誌。不要在沒有人工監督的情況下,將 Claude 用於需要完美精確度或敏感使用者資訊的任務。


定價

請參閱工具使用定價文件,以了解如何為 Claude 工具使用 API 請求定價。

作為工具使用請求的一個子集,電腦使用請求的定價與任何其他 Claude API 請求相同。

我們還會自動為模型包含一個特殊的系統提示,以啟用電腦使用。

模型工具選擇系統提示 token 計數
Claude 3.5 Sonnet (新)auto
any, tool
466 tokens
499 tokens

除了基本 tokens 之外,還需要以下額外的輸入 tokens 用於 Anthropic 定義的工具:

工具額外輸入 tokens
computer_20241022683 tokens
text_editor_20241022700 tokens
bash_20241022245 tokens