Loading...
    • Construir
    • Admin
    • Modelos e preços
    • SDKs de cliente
    • Referência da API
    Search...
    ⌘K
    Primeiros passos
    Introdução ao ClaudeInício rápido
    Construindo com Claude
    Visão geral dos recursosUsando a API de MensagensTratando razões de parada
    Capacidades do modelo
    Pensamento estendidoPensamento adaptativoEsforçoModo rápido (beta: prévia de pesquisa)Saídas estruturadasCitaçõesMensagens em streamingProcessamento em loteResultados de pesquisaRecusas em streamingSuporte multilíngueEmbeddings
    Ferramentas
    Visão geralComo o uso de ferramentas funcionaFerramenta de busca na webFerramenta de busca webFerramenta de execução de códigoFerramenta de memóriaFerramenta BashFerramenta de uso do computadorFerramenta de edição de texto
    Infraestrutura de ferramentas
    Busca de ferramentasChamada programática de ferramentasStreaming refinado de ferramentas
    Gerenciamento de contexto
    Janelas de contextoCompactaçãoEdição de contextoCache de promptContagem de tokens
    Trabalhando com arquivos
    Files APISuporte a PDFImagens e visão
    Skills
    Visão geralInício rápidoMelhores práticasSkills para empresasSkills na API
    MCP
    Servidores MCP remotosConector MCP
    Engenharia de prompt
    Visão geralMelhores práticas de promptingFerramentas de prompting no Console
    Testar e avaliar
    Definir sucesso e criar avaliaçõesUsando a Ferramenta de Avaliação no ConsoleReduzindo latência
    Fortalecer guardrails
    Reduzir alucinaçõesAumentar consistência de saídaMitigar jailbreaksReduzir vazamento de prompt
    Recursos
    Glossário
    Notas de versão
    Claude Platform
    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
    Delegar trabalho ao seu agente

    Usando memória

    Dê aos seus agentes memória persistente que sobrevive entre sessões usando armazenamentos de memória.

    Was this page helpful?

    • Visão geral
    • Criar um armazenamento de memória
    • Pré-carregar com conteúdo (opcional)
    • Anexar memória a uma sessão
    • Ferramentas de memória
    • Inspecionar e corrigir memória
    • Listar memórias
    • Ler uma memória
    • Escrever um documento
    • Criar somente se o caminho estiver livre
    • Atualizar
    • Excluir um documento
    • Versões de memória
    • Listar versões
    • Recuperar uma versão
    • Redigir uma versão

    A Memória de Agente é um recurso de Pré-visualização de Pesquisa. Solicite acesso para experimentá-la.

    As sessões da API de Agente são efêmeras por padrão. Quando uma sessão termina, tudo que o agente aprendeu é perdido. Os armazenamentos de memória permitem que o agente carregue aprendizados entre sessões: preferências do usuário, convenções de projeto, erros anteriores e contexto de domínio.

    Todas as solicitações da API de Agentes Gerenciados requerem o cabeçalho beta managed-agents-2026-04-01. Um cabeçalho beta adicional é necessário para recursos de pré-visualização de pesquisa. O SDK define esses cabeçalhos beta automaticamente.

    Visão geral

    Um armazenamento de memória é uma coleção de documentos de texto com escopo de workspace otimizada para Claude. Quando um ou mais armazenamentos de memória são anexados a uma sessão, o agente verifica automaticamente os armazenamentos antes de iniciar uma tarefa e registra aprendizados duráveis quando termina - nenhum prompt ou configuração adicional é necessário da sua parte.

    Cada memória em um armazenamento pode ser acessada e editada diretamente via API ou Console, permitindo ajuste, importação e exportação de memórias.

    Cada alteração em uma memória cria uma memory_version imutável para suportar auditoria e reversão de alterações de memória.

    Criar um armazenamento de memória

    Forneça ao armazenamento um name e uma description. A descrição é passada ao agente, informando o que o armazenamento contém.

    store=$(curl -fsS https://api.anthropic.com/v1/memory_stores \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      --data @- <<EOF
    {
      "name": "User Preferences",
      "description": "Per-user preferences and project context."
    }
    EOF
    )
    store_id=$(jq -r '.id' <<< "$store")
    echo "$store_id"  # memstore_01Hx...

    O id do armazenamento de memória (memstore_...) é o que você passa ao anexar o armazenamento a uma sessão.

    Pré-carregar com conteúdo (opcional)

    Pré-carregue um armazenamento com material de referência antes de qualquer execução do agente:

    Memórias individuais dentro do armazenamento são limitadas a 100KB (~25K tokens). Estruture a memória como muitos arquivos pequenos e focados, não como poucos arquivos grandes.

    Anexar memória a uma sessão

    Os armazenamentos de memória são anexados no array resources[] da sessão.

    Opcionalmente, inclua um prompt se quiser fornecer instruções específicas da sessão ao Claude sobre como usar este armazenamento de memória. Ele é fornecido ao Claude além do name e da description do armazenamento de memória, e é limitado a 4.096 caracteres.

    Você também pode configurar o access. O padrão é read_write, mas read_only também é suportado (mostrado explicitamente no exemplo abaixo).

    Um máximo de 8 armazenamentos de memória são suportados por sessão. Anexe múltiplos armazenamentos quando diferentes partes da memória têm diferentes proprietários ou regras de acesso. Razões comuns:

    • Material de referência compartilhado - um armazenamento somente leitura anexado a muitas sessões (padrões, convenções, conhecimento de domínio), mantido separado dos aprendizados de leitura e escrita de cada sessão.
    • Mapeamento para a estrutura do seu produto - um armazenamento por usuário final, por equipe ou por projeto, enquanto compartilha uma única configuração de agente.
    • Ciclos de vida diferentes - um armazenamento que sobrevive a qualquer sessão individual, ou um que você deseja arquivar em seu próprio cronograma.

    Ferramentas de memória

    Quando armazenamentos de memória são anexados a uma sessão, o agente ganha automaticamente acesso às ferramentas de memória. As interações do agente com os armazenamentos de memória são registradas como eventos agent.tool_use no fluxo de eventos.

    FerramentaDescrição
    memory_listLista documentos em um armazenamento, opcionalmente filtrados por prefixo de caminho.
    memory_searchPesquisa de texto completo no conteúdo dos documentos.
    memory_readLê o conteúdo de um documento.
    memory_writeCria ou substitui um documento em um caminho.
    memory_editModifica um documento existente.
    memory_deleteRemove um documento.

    Inspecionar e corrigir memória

    Os armazenamentos de memória podem ser gerenciados diretamente via API. Use isso para criar fluxos de trabalho de revisão, corrigir memórias incorretas ou pré-carregar armazenamentos antes de qualquer execução de sessão.

    Listar memórias

    A listagem não retorna o conteúdo da memória, apenas os metadados do objeto. Use path_prefix para listas com escopo de diretório (inclua uma barra final: /notes/ corresponde a /notes/a.md mas não a /notes_backup/old.md).

    Ler uma memória

    Buscar uma memória individual retorna o conteúdo completo do documento.

    Escrever um documento

    Use memories.write para fazer upsert de um documento por caminho. Se nada existir no caminho, ele é criado; se um documento já existir lá, seu conteúdo é substituído. Para modificar um documento existente pelo ID mem_... (por exemplo, para renomear seu caminho ou aplicar com segurança uma edição de conteúdo), use memories.update em vez disso (veja Atualizar abaixo).

    Criar somente se o caminho estiver livre

    Passe precondition={"type": "not_exists"} para memories.write para torná-lo um guarda somente de criação. Se um documento já existir no caminho, a escrita retorna 409 memory_precondition_failed em vez de substituí-lo. Use isso ao pré-carregar um armazenamento e você quiser evitar sobrescrever conteúdo existente.

    Para editar com segurança um documento existente (ler, modificar, escrever de volta sem sobrescrever uma alteração concorrente), use memories.update com uma precondição content_sha256 em vez disso. Veja Atualizar abaixo.

    Atualizar

    memories.update() modifica um documento existente pelo seu ID mem_.... Você pode alterar content, path (uma renomeação), ou ambos em uma única chamada.

    Renomear para um caminho ocupado retorna 409 conflict. O chamador deve excluir ou renomear o bloqueador primeiro, ou passar precondition={"type": "not_exists"} para tornar a renomeação uma operação sem efeito se algo já existir no destino.

    O exemplo abaixo renomeia um documento para um caminho de arquivo:

    Edições de conteúdo seguras (concorrência otimista)

    Para editar o conteúdo de um documento sem sobrescrever uma escrita concorrente, passe uma precondição content_sha256. A atualização só é aplicada se o hash armazenado ainda corresponder ao que você leu; em caso de incompatibilidade, retorna 409 memory_precondition_failed, momento em que você relê o documento e tenta novamente com o estado atualizado.

    Excluir um documento

    Opcionalmente, passe expected_content_sha256 para uma exclusão condicional.

    Versões de memória

    Cada mutação em uma memória cria uma versão de memória imutável (memver_...). As versões se acumulam durante o tempo de vida da memória pai e formam a superfície de auditoria e reversão subjacente. A chamada memories.retrieve ativa sempre retorna o cabeçalho atual; os endpoints de versão fornecem o histórico completo.

    Uma nova versão é criada em cada mutação:

    • O primeiro memories.write em um caminho cria uma versão com operation: "created".
    • memories.update que altera content, path, ou ambos cria uma versão com operation: "modified".
    • memories.delete cria uma versão com operation: "deleted".

    Use os endpoints de versão para auditar qual usuário ou agente alterou o quê e quando, para inspecionar ou restaurar um snapshot anterior, e para remover conteúdo sensível do histórico com redact.

    Listar versões

    Liste metadados de versão paginados para um armazenamento, do mais recente para o mais antigo. Filtre por memory_id, operation (created, modified ou deleted), session_id, api_key_id, ou um intervalo de tempo created_at_gte/created_at_lte. A resposta de lista não inclui o corpo content; busque versões individuais com retrieve quando precisar do conteúdo completo.

    Recuperar uma versão

    Buscar uma versão individual retorna os mesmos campos da resposta de lista mais o corpo content completo.

    Redigir uma versão

    Redigir apaga o conteúdo de uma versão histórica enquanto preserva a trilha de auditoria (quem fez o quê, quando). Use para fluxos de trabalho de conformidade, como remoção de segredos vazados, PII ou solicitações de exclusão de usuários. Redigir limpa permanentemente content, content_sha256, content_size_bytes e path; todos os outros campos, incluindo o ator e os carimbos de data/hora, são preservados.

    curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memories" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      --data @- > /dev/null <<EOF
    {
      "path": "/formatting_standards.md",
      "content": "All reports use GAAP formatting. Dates are ISO-8601..."
    }
    EOF
    session=$(curl -fsS https://api.anthropic.com/v1/sessions \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      --data @- <<EOF
    {
      "agent": "$agent_id",
      "environment_id": "$environment_id",
      "resources": [
        {
          "type": "memory_store",
          "memory_store_id": "$store_id",
          "access": "read_write",
          "prompt": "User preferences and project context. Check before starting any task."
        }
      ]
    }
    EOF
    )
    page=$(curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memories?path_prefix=/" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01")
    jq -r '.data[] | "\(.path)  (\(.size_bytes) bytes, sha=\(.content_sha256[0:8]))"' <<< "$page"
    mem=$(curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memories/$memory_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01")
    jq -r '.content' <<< "$mem"
    mem=$(curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memories" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      --data @- <<EOF
    {
      "path": "/preferences/formatting.md",
      "content": "Always use tabs, not spaces."
    }
    EOF
    )
    curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memories" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      --data @- > /dev/null <<EOF
    {
      "path": "/preferences/formatting.md",
      "content": "Always use 2-space indentation.",
      "precondition": {"type": "not_exists"}
    }
    EOF
    curl -fsS -X PATCH "https://api.anthropic.com/v1/memory_stores/$store_id/memories/$mem_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      -d '{"path": "/archive/2026_q1_formatting.md"}' > /dev/null
    curl -fsS -X PATCH "https://api.anthropic.com/v1/memory_stores/$store_id/memories/$mem_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      --data @- > /dev/null <<EOF
    {
      "content": "CORRECTED: Always use 2-space indentation.",
      "precondition": {"type": "content_sha256", "content_sha256": "$mem_sha"}
    }
    EOF
    curl -fsS -X DELETE "https://api.anthropic.com/v1/memory_stores/$store_id/memories/$mem_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" > /dev/null
    curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memory_versions?memory_id=$mem_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      | jq -r '.data[] | "\(.id): \(.operation)"'
    curl -fsS "https://api.anthropic.com/v1/memory_stores/$store_id/memory_versions/$version_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01"
    curl -fsS -X POST "https://api.anthropic.com/v1/memory_stores/$store_id/memory_versions/$version_id/redact" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01" \
      -H "content-type: application/json" \
      -d '{}'