Anthropic Claude

agent-framework-claude umschließt das Claude Agent SDK als ClaudeAgent. Es verwendet Claudes verwaltete Laufzeitumgebung für Agenten, die Sitzungen, das Berechtigungsmodell, die integrierten Tools und die MCP-Unterstützung und stellt dabei die Schnittstellen des Agent Frameworks zum Ausführen und Streamen bereit.

Diese Integration unterscheidet sich vom Modellanbieter von Anthropic, der Claude als zugrunde liegendes Modell für einen anwendungseigenen Agent-Framework-Agenten verwendet.

Voraussetzungen

  • Installieren und konfigurieren Sie die Claude Code CLI.
  • Wählen Sie ein Claude-Modell und einen Berechtigungsmodus aus.
  • Führen Sie den Agent in einem eingeschränkten Arbeitsverzeichnis aus, wenn Sie Datei- oder Shelltools aktivieren.

Installiere das Paket

pip install agent-framework-claude --pre

Konfiguration

Variable Purpose
CLAUDE_AGENT_MODEL Claude-Modell, das von der verwalteten Laufzeit verwendet wird.
CLAUDE_AGENT_PERMISSION_MODE Standardberechtigungsmodus für integrierte und MCP-Tools.
CLAUDE_AGENT_CLI_PATH Optionaler expliziter Pfad zur Claude-Code-CLI.
CLAUDE_AGENT_CWD Arbeitsverzeichnis, das für die Laufzeit verfügbar gemacht wird.
CLAUDE_AGENT_MAX_TURNS Optionale maximale Anzahl von Agentenrunden.
CLAUDE_AGENT_MAX_BUDGET_USD Optionales Budget für einen Lauf.

Erstellen der Datei ClaudeAgent

ClaudeAgent unterstützt reguläre Und Streamingausführungen und kann Agent Framework-Funktionstools verfügbar machen.

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")

Weitere Beispiele veranschaulichen:

  • Claudes eingebaute Datei- und Shell-Tools.
  • Interaktive Berechtigungsverwaltung.
  • Lokale und Remote-MCP-Server.
  • Sitzungspersistenz und Wiederaufnahme.
  • URL-Abruf und mehrere Berechtigungsregeln.

Überlegungen zur Berechtigung

  • Beginnen Sie mit dem am wenigsten zulässigen Claude Agent SDK-Berechtigungsmodus, der die Aufgabe unterstützt.
  • Für Shell-, Datei-, Netzwerk- oder andere Operationen mit Nebenwirkungen ist eine ausdrückliche Genehmigung erforderlich.
  • Machen Sie Anmeldeinformationen nicht über Umgebungsvariablen oder lesbare Dateien im Arbeitsverzeichnis des Agents verfügbar.

Nächste Schritte