電腦使用是來自 Anthropic 的一項突破性能力,讓基礎模型 (FMs) 能夠視覺感知和解讀數位介面。這項能力使得 Anthropic 的 Claude 模型能夠識別螢幕上的內容,理解使用者介面元素的上下文,並辨識應該執行的動作,例如點擊按鈕、輸入文字、滾動和在應用程式之間導航。然而,模型本身並不執行這些動作,它需要一個協調層來安全地實現支援的動作。
今天,我們宣布在 Amazon Bedrock Agents 中支援電腦使用,使用 Anthropic 的 Claude 3.5 Sonnet V2 和 Claude 3.7 模型。這項整合將 Anthropic 的視覺感知能力作為一個管理工具,提供您一個安全、可追蹤且可管理的方式來實現工作流程中的電腦使用自動化。
各行各業的組織都在努力自動化跨多個應用程式和記錄系統的重複性任務。無論是處理發票、更新客戶記錄,還是管理人力資源 (HR) 文件,這些工作流程通常需要員工手動在不同系統之間轉移資訊,這是一個耗時、容易出錯且難以擴展的過程。
傳統的自動化方法需要為每個應用程式進行自訂 API 整合,這會造成重大的開發負擔。電腦使用能力改變了這一範式,讓機器能像人類一樣感知現有介面。
在這篇文章中,我們創建了一個電腦使用代理示範,提供關鍵的協調層,將電腦使用從感知能力轉變為可行的自動化。如果沒有這個協調層,電腦使用只能識別潛在的動作,而無法執行它們。由 Amazon Bedrock Agents 提供支持的電腦使用代理示範提供以下好處:
安全執行環境 – 在沙盒環境中執行電腦使用工具,對 AWS 生態系統和網路的訪問有限。目前 Amazon Bedrock Agent 不提供沙盒環境。
全面日誌記錄 – 能夠追蹤每個動作和互動,以便進行審計和除錯。
詳細追蹤能力 – 能夠查看自動化工作流程的每一步。
簡化測試和實驗 – 通過管理控制降低使用這項實驗性能力的風險。
無縫協調 – 在多個系統之間協調複雜的工作流程,無需自訂代碼。
這項整合將 Anthropic 對數位介面的感知理解與 Amazon Bedrock Agents 的協調能力結合,創造出一個強大的代理,用於自動化跨應用程式的複雜工作流程。開發人員現在可以創建能夠感知和與現有介面互動的代理,而無需為每個系統建立自訂整合。
透過電腦使用,Amazon Bedrock Agents 可以通過基本的 GUI 動作和內建的 Linux 命令自動化任務。例如,您的代理可以截圖、創建和編輯文本文件,並運行內建的 Linux 命令。使用 Amazon Bedrock Agents 和兼容的 Anthropic Claude 模型,您可以使用以下動作組:
電腦工具 – 使與使用者介面互動(點擊、輸入、滾動)成為可能。
文本編輯器工具 – 提供編輯和操作文件的能力。
Bash – 允許執行內建的 Linux 命令。
解決方案概述
一個電腦使用工作流程的示例包括以下步驟:
創建一個 Amazon Bedrock 代理,並使用自然語言描述代理應該做什麼以及如何與使用者互動,例如:“您是一個能夠使用 Firefox 網頁瀏覽器進行網路搜索的電腦使用代理。”
使用 CreateAgentActionGroup API 將 Amazon Bedrock Agents 支援的電腦使用動作組添加到您的代理中。
使用需要電腦使用工具的使用者查詢來調用代理,例如:“什麼是 Amazon Bedrock,您能搜索網路嗎?”
Amazon Bedrock 代理使用其可用的工具定義,決定使用電腦動作組來點擊環境的截圖。使用 Amazon Bedrock Agents 的返回控制能力,代理回應它想執行的工具。返回控制能力是使用 Amazon Bedrock Agents 進行電腦使用所必需的。
工作流程解析代理的回應並在沙盒環境中執行返回的工具。輸出將返回給 Amazon Bedrock 代理以進行進一步處理。
Amazon Bedrock 代理繼續使用其可用的工具回應,直到任務完成。
您可以在 us-west-2 AWS 區域中使用 AWS Cloud Development Kit (AWS CDK) 重新創建這個示例,按照 GitHub 存儲庫中的說明進行操作。這個示範在 us-west-2 區域的兩個可用區中使用 AWS Fargate 部署了一個容器化應用程式。基礎設施運行在一個虛擬私有雲 (VPC) 中,該 VPC 在每個可用區中包含公共子網,並且有一個網際網路閘道提供外部連接。這個架構還包括一些重要的支援服務,包括 AWS Key Management Service (AWS KMS) 用於安全性和 Amazon CloudWatch 用於監控,創建了一個彈性、無伺服器的容器環境,減輕了管理基礎設施的需求,同時保持強大的安全性和高可用性。
以下圖示說明了解決方案架構。
我們解決方案的核心是兩個通過 Amazon Elastic Container Service (Amazon ECS) 管理的 Fargate 容器,每個容器都有自己的安全組。第一個是我們的協調容器,它不僅處理 Amazon Bedrock Agents 和最終使用者之間的通信,還協調使工具執行的工作流程。第二個是我們的環境容器,作為一個安全的沙盒,讓 Amazon Bedrock 代理可以安全地運行其電腦使用工具。環境容器對生態系統的其他部分和互聯網的訪問有限。我們利用服務發現將 Amazon ECS 服務與 DNS 名稱連接。
協調容器包括以下組件:
Streamlit UI – 促進最終使用者與電腦使用代理之間互動的 Streamlit UI。
返回控制迴圈 – 負責解析代理想要執行的工具並返回這些工具輸出的工作流程。
環境容器包括以下組件:
UI 和預裝應用程式 – 輕量級 UI 和預裝的 Linux 應用程式,如 Firefox,可以用來完成使用者的任務。
工具實現 – 可以在環境中執行電腦使用工具的代碼,如“截圖”或“雙擊”。
Quart (RESTful) JSON API – 使用 Quart 在沙盒環境中執行工具的協調容器。
以下圖示說明這些組件。
前置條件
AWS Command Line Interface (CLI),請按照這裡的說明操作。確保設置憑證,請按照這裡的說明操作。
需要 Python 3.11 或更高版本。
需要 Node.js 14.15.0 或更高版本。
AWS CDK CLI,請按照這裡的說明操作。
為 Anthropic 的 Claude Sonnet 3.5 V2 和 Claude Sonnet 3.7 啟用模型訪問。
Boto3 版本 >= 1.37.10。
創建一個具有電腦使用功能的 Amazon Bedrock 代理
您可以使用以下代碼範例創建一個簡單的 Amazon Bedrock 代理,具有電腦、bash 和文本編輯器動作組。在使用 Anthropic 的 Claude 3.5 Sonnet V2 和 Claude 3.7 Sonnet 時,提供兼容的動作組簽名至關重要,如下所示。
模型
動作組簽名
Anthropic 的 Claude 3.5 Sonnet V2
computer_20241022text_editor_20241022bash_20241022
Anthropic 的 Claude 3.7 Sonnet
computer_20250124text_editor_20250124bash_20250124
示例用例
在這篇文章中,我們展示了一個示例,使用 Amazon Bedrock Agents 和電腦使用能力來完成一個網頁表單。在這個示例中,電腦使用代理還可以切換 Firefox 標籤,以與客戶關係管理 (CRM) 代理互動,獲取完成表單所需的資訊。雖然這個示例使用了一個示範的 CRM 應用程式作為記錄系統,但同樣的方法也適用於 Salesforce、SAP、Workday 或其他具有適當身份驗證框架的記錄系統。
在示範的用例中,您可以觀察到 Amazon Bedrock 代理在使用電腦工具時的表現。我們的實現通過視覺檢查 Excel 數據完成了客戶 ID、客戶名稱和電子郵件。然而,為了概述,它決定選擇單元格並複製數據,因為資訊在螢幕上並不完全可見。最後,使用了 CRM 代理來獲取有關客戶的額外資訊。
最佳實踐
以下是一些可以改善您用例性能的方法:
考量事項
電腦使用功能作為一項測試服務提供給您,如 AWS 服務條款所定義。它受您與 AWS 的協議以及 AWS 服務條款和適用的模型 EULA 的約束。電腦使用存在獨特的風險,這些風險與標準 API 功能或聊天介面不同。當使用電腦使用功能與互聯網互動時,這些風險會加劇。為了最小化風險,考慮採取以下預防措施:
在專用虛擬機或容器中運行電腦使用功能,並限制其權限,以減少直接系統攻擊或意外的風險。
為了防止資訊被盜,避免讓電腦使用 API 訪問敏感帳戶或數據。
限制電腦使用 API 的互聯網訪問僅限於必要的域,以減少暴露於惡意內容的風險。
為了確保適當的監督,對於敏感任務(例如做出可能對現實世界產生重大影響的決策)和任何需要明確同意的事項(例如接受 Cookie、執行財務交易或同意服務條款),保持人類在流程中參與。
您啟用 Anthropic 的 Claude 能夠看到或訪問的任何內容都可能覆蓋指令或導致模型犯錯或執行意外的動作。採取適當的預防措施,例如將 Anthropic 的 Claude 隔離於敏感表面,是至關重要的,包括避免與提示注入相關的風險。在啟用或請求您自己產品中所需的電腦使用功能的權限之前,請告知最終使用者任何相關風險,並根據需要獲得他們的同意。
清理
當您完成使用此解決方案後,請確保清理所有資源。請按照提供的 GitHub 存儲庫中的說明進行操作。
結論
各行各業的組織在跨應用程式工作流程中面臨重大挑戰,這些工作流程傳統上需要手動輸入數據或複雜的自訂整合。將 Anthropic 的電腦使用能力與 Amazon Bedrock Agents 整合,代表了一種變革性的方法來解決這些挑戰。
通過使用 Amazon Bedrock Agents 作為協調層,組織可以減輕為每個應用程式開發自訂 API 的需求,受益於全面的日誌記錄和追蹤能力,這對企業部署至關重要,並能快速實施自動化解決方案。
當您開始探索使用 Amazon Bedrock Agents 的電腦使用時,考慮您組織中可能受益於這種方法的工作流程。從發票處理到客戶入職,從人力資源文件到合規報告,潛在的應用範圍廣泛且具有變革性。
我們期待看到您如何使用 Amazon Bedrock Agents 和電腦使用能力來安全地簡化操作,並通過 AI 驅動的自動化重新構想業務流程。
資源
要了解更多,請參考以下資源:
關於作者
Eashan Kaushik 是 Amazon Web Services 的 AI/ML 專家解決方案架構師。他致力於創建尖端的生成 AI 解決方案,同時優先考慮以客戶為中心的工作方式。在此角色之前,他在 NYU Tandon 工程學院獲得計算機科學碩士學位。在工作之外,他喜歡運動、舉重和參加馬拉松。
Maira Ladeira Tanke 是 AWS Amazon Bedrock 的代理工作負責人,她幫助客戶開發自主 AI 系統。擁有超過 10 年的 AI/ML 經驗。在 AWS,Maira 與企業客戶合作,加速使用 Amazon Bedrock 的代理應用程序的採用,幫助組織利用基礎模型的力量推動創新和業務轉型。在空閒時間,Maira 喜歡旅行、和她的貓玩耍,以及和家人一起待在溫暖的地方。
Raj Pathak 是 Fortune 50 和中型金融服務 (銀行、保險、資本市場) 客戶的首席解決方案架構師和技術顧問,遍及加拿大和美國。Raj 專注於機器學習,應用於生成 AI、自然語言處理、智能文檔處理和 MLOps。
Adarsh Srikanth 是 Amazon Bedrock 的軟體開發工程師,負責開發 AI 代理服務。他擁有南加州大學的計算機科學碩士學位,並在其角色中帶來三年的行業經驗。他在空閒時間喜歡探索國家公園、發現新的登山步道,和玩各種球拍運動。
Abishek Kumar 是 Amazon 的高級軟體工程師,擁有超過 6 年的零售和 AWS 組織的寶貴經驗。他在開發生成 AI 和機器學習解決方案方面展現了專業,特別是對 AWS 服務的貢獻,包括 SageMaker Autopilot、SageMaker Canvas 和 AWS Bedrock Agents。在他的職業生涯中,Abishek 對解決複雜問題和設計大型系統以服務全球數百萬客戶充滿熱情。在不沉浸於技術的時候,他喜歡通過徒步旅行和與妻子的旅行冒險來探索自然。
Krishna Gourishetti 是 AWS Bedrock Agents 團隊的高級軟體工程師。他熱衷於構建可擴展的軟體解決方案,以解決客戶問題。在空閒時間,Krishna 喜歡去遠足。
本文由 AI 台灣 運用 AI 技術編撰,內容僅供參考,請自行核實相關資訊。
歡迎加入我們的 AI TAIWAN 台灣人工智慧中心 FB 社團,
隨時掌握最新 AI 動態與實用資訊!