Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
agent-framework-claude esegue il wrapping di Claude Agent SDK come ClaudeAgent. Usa il runtime dell'agente gestito di Claude, le sessioni, il modello di autorizzazione, gli strumenti predefiniti e il supporto MCP durante l'esposizione delle interfacce di esecuzione e streaming di Agent Framework.
Questa integrazione è diversa dal provider di modelli Anthropic, che usa Claude come modello dietro un agente agent Framework di proprietà dell'applicazione.
Prerequisiti
- Installare e configurare l'interfaccia della riga di comando di Claude Code.
- Scegliere un modello Claude e la modalità di autorizzazione.
- Eseguire l'agente in una directory di lavoro vincolata quando si abilitano gli strumenti di file o shell.
Installare il pacchetto
pip install agent-framework-claude --pre
Configuration
| Variabile | Purpose |
|---|---|
CLAUDE_AGENT_MODEL |
Modello Claude usato dal runtime gestito. |
CLAUDE_AGENT_PERMISSION_MODE |
Modalità di autorizzazione predefinita per gli strumenti predefiniti e MCP. |
CLAUDE_AGENT_CLI_PATH |
Percorso esplicito facoltativo dell'interfaccia della riga di comando di Claude Code. |
CLAUDE_AGENT_CWD |
Directory di lavoro esposta al runtime. |
CLAUDE_AGENT_MAX_TURNS |
Numero massimo facoltativo di turni dell'agente. |
CLAUDE_AGENT_MAX_BUDGET_USD |
Budget dei costi facoltativo per un'esecuzione. |
Crea un ClaudeAgent
ClaudeAgent supporta le esecuzioni regolari e di streaming e può esporre gli strumenti di funzione di 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")
Altri esempi illustrano:
- Strumenti di file e shell incorporati di Claude.
- Gestione interattiva delle autorizzazioni.
- Server MCP locali e remoti.
- Persistenza e ripresa della sessione.
- Recupero di URL e più regole di autorizzazione.
Considerazioni sulle autorizzazioni
- Iniziare con la modalità di autorizzazione di Claude Agent SDK meno permissiva che supporta l'attività.
- Richiedere l'approvazione esplicita per shell, file, rete o altre operazioni di effetto collaterale.
- Non esporre le credenziali tramite variabili di ambiente o file leggibili nella directory di lavoro dell'agente.