Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
agent-framework-claude Opakowuje zestaw SDK agenta Claude'a jako ClaudeAgent. Korzysta z zarządzanego środowiska uruchomieniowego agenta Claude'a, sesji, modelu uprawnień, wbudowanych narzędzi i obsługi MCP, jednocześnie udostępniając interfejsy uruchamiania i strumieniowania platformy Agent Framework.
Ta integracja różni się od dostawcy modelu Anthropic, który używa Claude'a jako modelu stojącego za agentem platformy Agent Framework należącym do aplikacji.
Wymagania wstępne
- Instalowanie i konfigurowanie interfejsu wiersza polecenia programu Claude Code.
- Wybierz model Claude'a i tryb uprawnień.
- Uruchom agenta w ograniczonym katalogu roboczym podczas włączania narzędzi do obsługi plików lub powłoki.
Instalowanie pakietu
pip install agent-framework-claude --pre
Configuration
| Variable | Purpose |
|---|---|
CLAUDE_AGENT_MODEL |
Model Claude używany przez zarządzane środowisko uruchomieniowe. |
CLAUDE_AGENT_PERMISSION_MODE |
Domyślny tryb uprawnień dla wbudowanych narzędzi i narzędzi MCP. |
CLAUDE_AGENT_CLI_PATH |
Opcjonalna jawna ścieżka do interfejsu wiersza polecenia programu Claude Code. |
CLAUDE_AGENT_CWD |
Katalog roboczy udostępniony środowisku uruchomieniowemu. |
CLAUDE_AGENT_MAX_TURNS |
Opcjonalna maksymalna liczba tur agenta. |
CLAUDE_AGENT_MAX_BUDGET_USD |
Opcjonalny limit kosztów dla uruchomienia. |
Utwórz ClaudeAgent
ClaudeAgent obsługuje standardowe i strumieniowe uruchomienia oraz może udostępniać narzędzia funkcji środowiska Agent Framework.
async def non_streaming_example() -> None:
"""Example of non-streaming response."""
print("=== Non-streaming Example ===")
agent = ClaudeAgent(
name="BasicAgent",
instructions="You are a helpful assistant. Keep responses concise.",
tools=[get_weather],
)
async with agent:
query = "What's the weather in Seattle?"
print(f"User: {query}")
result = await agent.run(query)
print(f"Agent: {result.text}\n")
async def streaming_example() -> None:
"""Example of streaming response."""
print("=== Streaming Example ===")
agent = ClaudeAgent(
name="StreamingAgent",
instructions="You are a helpful assistant.",
tools=[get_weather],
)
async with agent:
query = "What's the weather in Paris?"
print(f"User: {query}")
print("Agent: ", end="", flush=True)
async for chunk in agent.run(query, stream=True):
if chunk.text:
print(chunk.text, end="", flush=True)
print("\n")
Dodatkowe przykłady pokazują:
- Wbudowane narzędzia Claude’a do obsługi plików i powłoki.
- Interaktywna obsługa uprawnień.
- Lokalne i zdalne serwery MCP.
- Trwałość sesji i wznowienie.
- Sekwencyjne przepływy pracy, które przekazują wcześniejsze komunikaty między agentami Claude'a.
- Pobieranie adresów URL i wiele reguł uprawnień.
Po ClaudeAgent odebraniu wielu komunikatów wysyła jeden monit, który określa je jako historię konwersacji i oznacza każdy komunikat według roli. Takie podejście zachowuje granice ról podczas przekazywania między agentami, ale nie odtwarza natywnej historii Claude'a obejmującej wiele ról ani nie współdzieli sesji Claude'a. Pojedynczy komunikat użytkownika pozostaje niezmieniony.
Zagadnienia dotyczące uprawnień
- Zacznij od trybu uprawnień Claude Agent SDK o najmniejszym zakresie uprawnień, który umożliwia wykonanie zadania.
- Wymagaj wyraźnego zatwierdzenia dla operacji w powłoce, na plikach, w sieci lub innych operacji wywołujących skutki uboczne.
- Nie ujawniaj poświadczeń za pomocą zmiennych środowiskowych ani plików możliwych do odczytu w katalogu roboczym agenta.