Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
agent-framework-claude verpakt de Claude Agent SDK als ClaudeAgent. Het maakt gebruik van de beheerde agentruntime van Claude, sessies, het machtigingsmodel, ingebouwde tools en MCP-ondersteuning, en stelt daarbij de interfaces voor uitvoeren en streamen van Agent Framework beschikbaar.
Deze integratie verschilt van de Anthropic modelprovider, die Claude gebruikt als model achter een Agent Framework-agent die eigendom is van een toepassing.
Prerequisites
- Installeer en configureer de Claude Code CLI.
- Kies een Claude-model en machtigingsmodus.
- Voer de agent uit in een beperkte werkmap bij het inschakelen van hulpprogramma's voor bestanden of shells.
Installeer het pakket
pip install agent-framework-claude --pre
Configuration
| Veranderlijk | Purpose |
|---|---|
CLAUDE_AGENT_MODEL |
Het Claude-model dat door de beheerde runtime wordt gebruikt. |
CLAUDE_AGENT_PERMISSION_MODE |
Standaardmachtigingsmodus voor ingebouwde en MCP-hulpprogramma's. |
CLAUDE_AGENT_CLI_PATH |
Optioneel expliciet pad naar de Claude Code CLI. |
CLAUDE_AGENT_CWD |
Werkmap die toegankelijk is voor de runtime. |
CLAUDE_AGENT_MAX_TURNS |
Optioneel maximum aantal beurten van de agent. |
CLAUDE_AGENT_MAX_BUDGET_USD |
Een optionele kostenlimiet voor een uitvoering. |
Een ClaudeAgent maken
ClaudeAgent biedt ondersteuning voor reguliere en streaming-uitvoeringen en kan hulpprogramma's voor Agent Framework-functies beschikbaar maken.
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")
Aanvullende voorbeelden laten zien:
- Bestands- en shellhulpmiddelen ingebouwd in Claude.
- Interactieve afhandeling van machtigingen.
- Lokale en externe MCP-servers.
- Sessiebehoud en hervatten.
- URL's ophalen en meerdere machtigingsregels.
Overwegingen met betrekking tot machtigingen
- Begin met de minst permissieve Claude Agent SDK-machtigingsmodus die ondersteuning biedt voor de taak.
- Expliciete goedkeuring vereisen voor shell-, bestands-, netwerk- of andere bewerkingen met side-effect.
- Stel referenties niet beschikbaar via omgevingsvariabelen of leesbare bestanden in de werkmap van de agent.