Anthropic Claude

agent-framework-claude paketerar Claude Agent SDK som ClaudeAgent. Den använder Claudes hanterade agentkörtidsmiljö, sessioner, behörighetsmodell, inbyggda verktyg och stöd för MCP och exponerar samtidigt Agent Frameworks gränssnitt för körning och strömning.

Den här integrationen skiljer sig från modellleverantören Anthropic, som använder Claude som modellen bakom en applikationsägd Agent Framework-agent.

Förutsättningar

  • Installera och konfigurera Claude Code CLI.
  • Välj en Claude-modell och ett behörighetsläge.
  • Kör agenten i en begränsad arbetskatalog när du aktiverar fil- eller gränssnittsverktyg.

Installera paketet

pip install agent-framework-claude --pre

Configuration

Variabel Purpose
CLAUDE_AGENT_MODEL Claude-modell som används av den hanterade runtime-miljön.
CLAUDE_AGENT_PERMISSION_MODE Standardbehörighetsläge för inbyggda verktyg och MCP-verktyg.
CLAUDE_AGENT_CLI_PATH Valfri explicit sökväg till Claude Code CLI.
CLAUDE_AGENT_CWD Arbetskatalog som är tillgänglig för körmiljön.
CLAUDE_AGENT_MAX_TURNS Valfritt maximalt antal agentvändningar.
CLAUDE_AGENT_MAX_BUDGET_USD Valfri kostnadsbudget för en körning.

Skapa en ClaudeAgent

ClaudeAgent stöder vanliga och strömmade körningar och kan tillhandahålla funktionsverktyg i 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")

Ytterligare exempel visar:

  • Claude inbyggda fil- och gränssnittsverktyg.
  • Interaktiv behörighetshantering.
  • Lokala och fjärranslutna MCP-servrar.
  • Sessionsbeständighet och återupptagande.
  • URL-hämtning och flera behörighetsregler.

Behörighetsöverväganden

  • Börja med det minst tillåtande Claude Agent SDK-behörighetsläget som stöder uppgiften.
  • Kräv uttryckligt godkännande för gränssnitt, fil, nätverk eller andra sidoåtgärder.
  • Exponera inte autentiseringsuppgifter via miljövariabler eller läsbara filer i agentens arbetskatalog.

Nästa steg