Loading...
    • Guia do Desenvolvedor
    • Referência da API
    • MCP
    • Recursos
    • Notas de lançamento
    Search...
    ⌘K
    Primeiros passos
    Introdução ao ClaudeInício rápido
    Modelos e preços
    Visão geral dos modelosEscolhendo um modeloNovidades no Claude 4.5Migrando para Claude 4.5Descontinuação de modelosPreços
    Construir com Claude
    Visão geral de recursosUsando a API MessagesJanelas de contextoMelhores práticas de prompting
    Capacidades
    Cache de promptsEdição de contextoPensamento estendidoEsforçoStreaming de mensagensProcessamento em loteCitaçõesSuporte multilíngueContagem de tokensEmbeddingsVisãoSuporte a PDFAPI de arquivosResultados de buscaSaídas estruturadas
    Ferramentas
    Visão geralComo implementar o uso de ferramentasStreaming de ferramentas granularFerramenta BashFerramenta de execução de códigoChamada de ferramentas programáticaFerramenta de uso de computadorFerramenta de editor de textoFerramenta de busca na webFerramenta de busca na webFerramenta de memóriaFerramenta de busca de ferramentas
    Habilidades de agente
    Visão geralInício rápidoMelhores práticasUsando habilidades com a API
    SDK de agente
    Visão geralInício rápidoSDK TypeScriptTypeScript V2 (prévia)SDK PythonGuia de migração
    MCP na API
    Conector MCPServidores MCP remotos
    Claude em plataformas de terceiros
    Amazon BedrockMicrosoft FoundryVertex AI
    Engenharia de prompts
    Visão geralGerador de promptsUsar modelos de promptsMelhorador de promptsSeja claro e diretoUse exemplos (prompting multishot)Deixe Claude pensar (CoT)Use tags XMLDê um papel ao Claude (prompts do sistema)Preencha previamente a resposta do ClaudeEncadeie prompts complexosDicas de contexto longoDicas de pensamento estendido
    Testar e avaliar
    Definir critérios de sucessoDesenvolver casos de testeUsando a ferramenta de avaliaçãoReduzindo latência
    Fortalecer proteções
    Reduzir alucinaçõesAumentar consistência de saídaMitigar jailbreaksRecusas de streamingReduzir vazamento de promptManter Claude em personagem
    Administração e monitoramento
    Visão geral da API de administraçãoAPI de uso e custoAPI de análise de código Claude
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    SDK de agente

    Guia de Início Rápido

    Comece com o Agent SDK Python ou TypeScript para construir agentes de IA que funcionam autonomamente

    Use o Agent SDK para construir um agente de IA que leia seu código, encontre bugs e os corrija, tudo sem intervenção manual.

    O que você fará:

    1. Configurar um projeto com o Agent SDK
    2. Criar um arquivo com código com bugs
    3. Executar um agente que encontra e corrige os bugs automaticamente

    Pré-requisitos

    • Node.js 18+ ou Python 3.10+
    • Uma conta Anthropic (inscreva-se aqui)

    Configuração

    1. 1

      Instalar Claude Code

      O Agent SDK usa Claude Code como seu tempo de execução. Instale-o para sua plataforma:

      Após instalar Claude Code em sua máquina, execute claude em seu terminal e siga os prompts para autenticar. O SDK usará essa autenticação automaticamente.

      Para mais informações sobre a instalação do Claude Code, consulte configuração do Claude Code.

    2. 2

      Criar uma pasta de projeto

      Crie um novo diretório para este guia de início rápido:

      mkdir my-agent && cd my-agent

      Para seus próprios projetos, você pode executar o SDK de qualquer pasta; ele terá acesso aos arquivos nesse diretório e seus subdiretórios por padrão.

    3. 3

      Instalar o SDK

      Instale o pacote Agent SDK para sua linguagem:

    4. 4

      Definir sua chave de API

      Se você já autenticou Claude Code (executando claude em seu terminal), o SDK usa essa autenticação automaticamente.

      Caso contrário, você precisa de uma chave de API, que pode obter no Console Anthropic.

      Crie um arquivo .env em seu diretório de projeto e armazene a chave de API lá:

      ANTHROPIC_API_KEY=your-api-key

      Usando Amazon Bedrock, Google Vertex AI ou Microsoft Azure? Consulte os guias de configuração para Bedrock, Vertex AI ou Azure AI Foundry.

      A menos que previamente aprovado, não permitimos que desenvolvedores terceirizados ofereçam login Claude.ai ou limites de taxa para seus produtos, incluindo agentes construídos no Agent SDK Claude. Use os métodos de autenticação de chave de API descritos neste documento.

    Criar um arquivo com bugs

    Este guia de início rápido o orienta na construção de um agente que pode encontrar e corrigir bugs no código. Primeiro, você precisa de um arquivo com alguns bugs intencionais para o agente corrigir. Crie utils.py no diretório my-agent e cole o seguinte código:

    def calculate_average(numbers):
        total = 0
        for num in numbers:
            total += num
        return total / len(numbers)
    
    def get_user_name(user):
        return user["name"].upper()

    Este código tem dois bugs:

    1. calculate_average([]) falha com divisão por zero
    2. get_user_name(None) falha com um TypeError

    Construir um agente que encontra e corrige bugs

    Crie agent.py se estiver usando o SDK Python, ou agent.ts para TypeScript:

    Este código tem três partes principais:

    1. query: o ponto de entrada principal que cria o loop agentic. Ele retorna um iterador assíncrono, então você usa async for para transmitir mensagens enquanto Claude trabalha. Consulte a API completa na referência do SDK Python ou TypeScript.

    2. prompt: o que você quer que Claude faça. Claude descobre quais ferramentas usar com base na tarefa.

    3. options: configuração para o agente. Este exemplo usa allowedTools para restringir Claude a Read, Edit e Glob, e permissionMode: "acceptEdits" para aprovar automaticamente alterações de arquivo. Outras opções incluem systemPrompt, mcpServers e muito mais. Consulte todas as opções para Python ou .

    O loop async for continua executando enquanto Claude pensa, chama ferramentas, observa resultados e decide o que fazer a seguir. Cada iteração produz uma mensagem: o raciocínio de Claude, uma chamada de ferramenta, um resultado de ferramenta ou o resultado final. O SDK lida com a orquestração (execução de ferramentas, gerenciamento de contexto, tentativas) para que você apenas consuma o fluxo. O loop termina quando Claude conclui a tarefa ou encontra um erro.

    O tratamento de mensagens dentro do loop filtra a saída legível por humanos. Sem filtragem, você veria objetos de mensagem brutos, incluindo inicialização do sistema e estado interno, o que é útil para depuração, mas barulhento caso contrário.

    Este exemplo usa streaming para mostrar o progresso em tempo real. Se você não precisar de saída ao vivo (por exemplo, para trabalhos em segundo plano ou pipelines de CI), você pode coletar todas as mensagens de uma vez. Consulte Streaming vs. modo de turno único para detalhes.

    Executar seu agente

    Seu agente está pronto. Execute-o com o seguinte comando:

    python3 agent.py

    Após executar, verifique utils.py. Você verá código defensivo tratando listas vazias e usuários nulos. Seu agente autonomamente:

    1. Leu utils.py para entender o código
    2. Analisou a lógica e identificou casos extremos que causariam falhas
    3. Editou o arquivo para adicionar tratamento de erros adequado

    Isto é o que torna o Agent SDK diferente: Claude executa ferramentas diretamente em vez de pedir que você as implemente.

    Se você vir "Claude Code not found", instale Claude Code e reinicie seu terminal. Para "API key not found", defina sua chave de API. Consulte o guia completo de solução de problemas para mais ajuda.

    Tente outros prompts

    Agora que seu agente está configurado, tente alguns prompts diferentes:

    • "Add docstrings to all functions in utils.py"
    • "Add type hints to all functions in utils.py"
    • "Create a README.md documenting the functions in utils.py"

    Personalizar seu agente

    Você pode modificar o comportamento do seu agente alterando as opções. Aqui estão alguns exemplos:

    Adicionar capacidade de busca na web:

    options=ClaudeAgentOptions(
        allowed_tools=["Read", "Edit", "Glob", "WebSearch"],
        permission_mode="acceptEdits"
    )

    Dar a Claude um prompt de sistema personalizado:

    options=ClaudeAgentOptions(
        allowed_tools=["Read", "Edit", "Glob"],
        permission_mode="acceptEdits",
        system_prompt="You are a senior Python developer. Always follow PEP 8 style guidelines."
    )

    Executar comandos no terminal:

    options=ClaudeAgentOptions(
        allowed_tools=["Read", "Edit", "Glob", "Bash"],
        permission_mode="acceptEdits"
    )

    Com Bash ativado, tente: "Write unit tests for utils.py, run them, and fix any failures"

    Conceitos-chave

    Ferramentas controlam o que seu agente pode fazer:

    FerramentasO que o agente pode fazer
    Read, Glob, GrepAnálise somente leitura
    Read, Edit, GlobAnalisar e modificar código
    Read, Edit, Bash, Glob, GrepAutomação completa

    Modos de permissão controlam quanto de supervisão humana você deseja:

    ModoComportamentoCaso de uso
    acceptEditsAprova automaticamente edições de arquivo, pede outras açõesFluxos de trabalho de desenvolvimento confiáveis
    bypassPermissionsExecuta sem promptsPipelines de CI/CD, automação
    defaultRequer um callback canUseTool para lidar com aprovaçãoFluxos de aprovação personalizados

    O exemplo acima usa o modo acceptEdits, que aprova automaticamente operações de arquivo para que o agente possa ser executado sem prompts interativos. Se você quiser solicitar aprovação aos usuários, use o modo default e forneça um callback canUseTool que coleta entrada do usuário. Para mais controle, consulte Permissões.

    Próximas etapas

    Agora que você criou seu primeiro agente, aprenda como estender suas capacidades e adaptá-lo ao seu caso de uso:

    • Permissões: controle o que seu agente pode fazer e quando precisa de aprovação
    • Hooks: execute código personalizado antes ou depois de chamadas de ferramenta
    • Sessões: construa agentes multi-turno que mantêm contexto
    • Servidores MCP: conecte-se a bancos de dados, navegadores, APIs e outros sistemas externos
    • Hospedagem: implante agentes no Docker, nuvem e CI/CD
    • Agentes de exemplo: veja exemplos completos: assistente de email, agente de pesquisa e muito mais
    • Pré-requisitos
    • Configuração
    • Criar um arquivo com bugs
    • Construir um agente que encontra e corrige bugs
    • Executar seu agente
    • Tente outros prompts
    • Personalizar seu agente
    • Conceitos-chave
    • Próximas etapas
    import asyncio
    from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ResultMessage
    
    async def main():
        # Agentic loop: streams messages as Claude works
        async for message in query(
            prompt="Review utils.py for bugs that would cause crashes. Fix any issues you find.",
            options=ClaudeAgentOptions(
                allowed_tools=["Read", "Edit", "Glob"],  # Tools Claude can use
                permission_mode="acceptEdits"            # Auto-approve file edits
            )
        ):
            # Print human-readable output
            if isinstance(message, AssistantMessage):
                for block in message.content:
                    if hasattr(block, "text"):
                        print(block.text)              # Claude's reasoning
                    elif hasattr(block, "name"):
                        print(f"Tool: {block.name}")   # Tool being called
            elif isinstance(message, ResultMessage):
                print(f"Done: {message.subtype}")      # Final result
    
    asyncio.run(main())
    TypeScript