Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.