Anthropic Claude

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 podczas uwidaczniania interfejsów uruchamiania i przesyłania strumieniowego programu 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

Zmienna Purpose
CLAUDE_AGENT_MODEL Model Claude używany przez zarządzane środowisko uruchomieniowe.
CLAUDE_AGENT_PERMISSION_MODE Domyślny tryb uprawnień dla wbudowanych i narzędzi MCP.
CLAUDE_AGENT_CLI_PATH Opcjonalna jawna ścieżka do interfejsu wiersza polecenia programu Claude Code.
CLAUDE_AGENT_CWD Katalog roboczy uwidoczniony w środowisku uruchomieniowym.
CLAUDE_AGENT_MAX_TURNS Opcjonalna maksymalna liczba włączeń agenta.
CLAUDE_AGENT_MAX_BUDGET_USD Opcjonalny budżet kosztów dla przebiegu.

Utwórz ClaudeAgent

ClaudeAgent obsługuje regularne i przesyłane strumieniowo przebiegi i może uwidaczniać narzędzia funkcji platformy 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 plików i powłoki Claude'a.
  • Interaktywna obsługa uprawnień.
  • Lokalne i zdalne serwery MCP.
  • Trwałość sesji i wznowienie.
  • Pobieranie adresów URL i wiele reguł uprawnień.

Zagadnienia dotyczące uprawnień

  • Zacznij od najmniej permissive Claude Agent SDK trybu uprawnień, który obsługuje zadanie.
  • Wymagaj jawnego zatwierdzenia dla operacji powłoki, plików, sieci lub innych operacji ubocznych.
  • Nie ujawniaj poświadczeń za pomocą zmiennych środowiskowych ani plików możliwych do odczytu w katalogu roboczym agenta.

Następne kroki