如何使用Claude託管代理?
Anthropic的Claude託管代理提供了一個完全託管的平台,用於運行AI代理,無需管理基礎設施。本文涵蓋了功能、定價、最新更新以及逐步構建代理的實踐指南。
如果您曾嘗試將AI代理部署到生產環境,您會知道困難的部分通常不在於模型本身,而是圍繞它的一切:沙箱化、狀態管理、憑證處理、工具執行、錯誤恢復,以及將原型轉化為可靠系統所需的所有基礎設施。Anthropic的Claude託管代理通過提供一個完全託管的平台,讓您無需管理複雜的操作層,從而簡化了這一過程。本文是一份面向開發者的實用指南,將介紹其核心概念、最新更新,並逐步構建一個可工作的代理。
什麼是Claude託管代理?
Claude託管代理是Anthropic用於運行Claude作為自主代理的託管基礎設施層。它於2026年4月8日公開發布測試版,標誌着代理開發的一次重大轉變,將大部分執行負擔從開發者轉移到Anthropic的託管環境。您只需定義代理、設置權限,然後讓Anthropic處理運行時。Claude獲得一個安全的管理空間,用於讀取文件、運行shell命令、瀏覽網頁和執行代碼,而無需您配置服務器或編寫隔離邏輯。
底層架構圍繞四個核心概念組織:
- 代理:代理的定義,包括模型、系統提示、工具、MCP服務器連接和技能。
- 環境:會話運行的位置,可以是Anthropic管理的雲沙箱或您自己基礎設施上的自託管沙箱。
- 會話:代理在環境中的一個運行實例,執行一項特定任務。每個會話都有自己的文件系統、上下文窗口和事件流。
- 事件:應用程序與代理之間流動的消息,包括用户輸入、工具結果和狀態更新。
主要功能
Claude託管代理提供以下現成的功能:
- 安全沙箱:代理在隔離的沙箱環境中運行。身份驗證、工具執行和秘密管理由Anthropic的基礎設施處理。
- 長時間運行的自主會話:代理可以運行數分鐘或數小時,跨越多個工具調用。會話在網絡斷開時仍可持久保存。
- 有狀態設計:會話可以在暫停後乾淨地恢復,並存儲服務器端的對話歷史、沙箱狀態和輸出。
- 內置工具:每個代理均可訪問bash(shell命令)、文件操作(讀、寫、編輯、glob、grep)、網絡搜索和獲取,以及MCP服務器以連接外部工具提供商。
- 治理和追蹤:作用域權限允許您精確定義代理可以訪問的工具和數據源。還提供身份管理和完整執行追蹤。
最新更新:夢境、成果和多代理編排
Anthropic推出了三個顯著的功能,推動平台從運行代理轉向運行能學習和驗證工作的代理:
- 夢境:在代理會話之間運行的計劃進程,用於回顧過去的工作、識別模式並整理記憶,使代理隨時間改進。
- 成果:定義一個“好”的標準,代理朝此標準努力。獨立的評分器在自身的上下文窗口中評估輸出,標記問題並提示代理修改。
- 多代理編排:當單個代理不足時,主代理將任務分解為更小的部分,並委派給具有各自模型、提示和工具的專業子代理。這些代理並行工作、共享文件、向主代理報告,並在控制台中留下可追蹤的工作流。
例如,Netflix的平台團隊使用此功能並行分析數百個流水線的構建日誌,只突出顯示值得采取行動的模式。
實踐:構建您的第一個代理
以下步驟演示如何創建代理、為其提供環境、啓動會話並觀察其工作。
前提條件:擁有Anthropic控制台賬户和API密鑰。設置環境變量ANTHROPIC_API_KEY,並安裝CLI和SDK。
步驟1:創建代理
ant beta:agents create \
--name "Coding Assistant" \
--model '{"id":"claude-haiku-4-5"}' \
--system "You are a helpful coding assistant. Write clean, well-documented code." \
--tool '{"type":"agent_toolset_20260401"}'保存返回的agent.id。
步驟2:創建環境
ant beta:environments create \
--name "quickstart-env" \
--config '{"type":"cloud","networking":{"type":"unrestricted"}}'步驟3:運行會話 以下Python腳本創建一個會話,分配任務並流式傳輸事件:
import os
from anthropic import Anthropic
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"].strip())
AGENT_ID = "YOUR_AGENT_ID"
ENVIRONMENT_ID = "YOUR_ENV_ID"
session = client.beta.sessions.create(
agent=AGENT_ID,
environment_id=ENVIRONMENT_ID,
title="Quickstart session",
)
with client.beta.sessions.events.stream(session.id) as stream:
client.beta.sessions.events.send(
session.id,
events=[{"type": "user.message", "content": [{"type": "text", "text": "Create a Python script that finds the first 50 prime numbers..."}]}]
)
for event in stream:
# process events代理將編寫腳本、執行並驗證輸出。
何時使用Claude託管代理?
託管代理並非適用於所有場景。當您的任務需要長時間執行、最小化基礎設施、有狀態的會話、治理和可審計性,或合規性敏感執行時,它可以發揮價值。如果您只需要直接模型提示或完全控制運行時,則應使用其他選項。
總之,Claude託管代理在處理大規模運行代理的基礎設施負擔時最為有用。