MCP Academy · Aula

Ferramentas idempotentes e conscientes dos efeitos colaterais

Torne as chamadas repetidas seguras e previsíveis.

Aula 3 de 413 etapas

Ferramentas idempotentes e conscientes dos efeitos colaterais é uma aula grátis de MCP Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de MCP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de MCP Academy inclui 4 aulas no total.

Os modelos podem chamar duas vezes

Um cliente de IA pode tentar novamente uma ferramenta após um tempo limite ou uma conexão interrompida. Sua ferramenta pode ser executada duas vezes quando o usuário pretendia apenas uma.

O que significa idempotente

Uma ferramenta é idempotente quando chamá-la novamente com a mesma entrada não altera mais nada. A segunda chamada é, com segurança, uma operação sem efeito.

Leituras são naturalmente seguras

Ferramentas puras de leitura, como buscar um registro, já são idempotentes. Repeti-las apenas retorna a mesma resposta, sem causar danos.

@mcp.tool()
def get_user(id: int) -> dict:
    return db.find(id)

Escritas exigem cuidado

Uma ferramenta que cria algo ou cobra dinheiro é perigosa para repetir. Uma nova tentativa cega pode adicionar uma linha duplicada ou cobrar duas vezes.

Use uma chave fornecida pelo cliente

Peça ao chamador uma chave de idempotência. Se essa chave já tiver sido processada, retorne o resultado armazenado em vez de agir novamente.

if key in seen:
    return seen[key]
seen[key] = do_work()

Prefira upsert a insert

Um upsert grava ou atualiza usando um identificador estável; portanto, executá-lo duas vezes deixa uma linha, não duas. Ele incorpora as novas tentativas a um único estado.

INSERT ... ON CONFLICT (id)
DO UPDATE SET ...

Declare claramente os efeitos colaterais

Informe na descrição da ferramenta se ela altera dados. O modelo toma decisões melhores quando sabe que uma chamada é destrutiva.

Separe ferramentas de leitura e escrita

Mantenha uma ferramenta de consulta e uma ferramenta de alteração distintas, em vez de uma que às vezes escreve. Limites claros reduzem alterações acidentais.

Torne os resultados determinísticos

Sempre que possível, retorne a mesma saída para a mesma entrada. Resultados previsíveis ajudam os clientes a armazenar em cache e a raciocinar sobre sua ferramenta.

Verifique antes de agir

Antes de uma escrita, confirme o estado atual do destino. Se a alteração já tiver sido aplicada, informe sucesso sem refazê-la.

if order.status == "shipped":
    return "already shipped"

Envolva o trabalho de várias etapas em uma transação

Se uma ferramenta tocar em várias linhas, execute-as em uma única transação. Assim, uma nova tentativa aplica tudo ou desfaz tudo, nunca apenas uma parte.

Verificação rápida

Por que a idempotência é importante para uma ferramenta MCP que cria registros?

Recapitulação: repetições seguras

Torne as escritas idempotentes usando chaves ou upserts, declare os efeitos colaterais, separe leituras de escritas e use transações. A seguir: versionamento. ♻️

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Ferramentas idempotentes e conscientes dos efeitos colaterais” é grátis?

Sim — o texto completo de “Ferramentas idempotentes e conscientes dos efeitos colaterais” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de MCP Academy, atualize para CoddyKit PRO. O curso de MCP Academy inclui 4 aulas no total.

O que vou aprender em “Ferramentas idempotentes e conscientes dos efeitos colaterais”?

Torne as chamadas repetidas seguras e previsíveis. Você pratica MCP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar MCP Academy?

Nenhuma experiência prévia é necessária. MCP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Ferramentas idempotentes e conscientes dos efeitos colaterais”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de MCP Academy?

Sim. Cada aula de MCP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Arquitetura de servidor em camadas
  2. Configuração e segredos pelo ambiente
  3. Ferramentas idempotentes e conscientes dos efeitos colaterais
  4. Versionar ferramentas e esquemas
← Voltar para MCP Academy