Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
agent-framework-claude envolve o Claude Agent SDK como ClaudeAgent. Utiliza o tempo de execução gerido do agente, sessões, modelo de permissões, ferramentas integradas e suporte a MCP do Claude, expondo as interfaces de execução e streaming do Agent Framework.
Esta integração é distinta do fornecedor de modelos da Anthropic, que utiliza Claude como modelo subjacente a um agente do Agent Framework pertencente à aplicação.
Pré-requisitos
- Instale e configure a CLI do Código Claude.
- Escolhe um modelo do Claude e um modo de permissão.
- Executa o agente num diretório de trabalho restrito ao ativar ferramentas de ficheiros ou shell.
Instale o pacote
pip install agent-framework-claude --pre
Configuration
| Variável | Purpose |
|---|---|
CLAUDE_AGENT_MODEL |
Modelo Claude usado pelo ambiente de execução gerido. |
CLAUDE_AGENT_PERMISSION_MODE |
Modo de permissões padrão para ferramentas integradas e MCP. |
CLAUDE_AGENT_CLI_PATH |
Caminho explícito opcional para a CLI do Claude Code. |
CLAUDE_AGENT_CWD |
Diretório de trabalho exposto ao runtime. |
CLAUDE_AGENT_MAX_TURNS |
Número máximo opcional de turnos de agente. |
CLAUDE_AGENT_MAX_BUDGET_USD |
Orçamento de custos opcional para uma execução. |
Criar um ClaudeAgent
ClaudeAgent suporta execuções regulares e em streaming e pode expor ferramentas funcionais do 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")
Exemplos adicionais demonstram:
- Ferramentas integradas de ficheiro e shell do Claude.
- Gestão interativa de permissões.
- Servidores MCP locais e remotos.
- Persistência e retomada da sessão.
- Obtenção de URL e múltiplas regras de permissões.
Considerações de permissão
- Comece pelo modo de permissão menos permissivo do Claude Agent SDK que suporte a tarefa.
- Exigir aprovação explícita para operações de shell, ficheiros, rede ou outras operações com efeitos secundários.
- Não exponhas credenciais através de variáveis de ambiente ou ficheiros legíveis no diretório de trabalho do agente.