Ferramentas idempotentes e conscientes dos efeitos colaterais
Torne as chamadas repetidas seguras e previsíveis.
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. ♻️
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
- Arquitetura de servidor em camadas
- Configuração e segredos pelo ambiente
- Ferramentas idempotentes e conscientes dos efeitos colaterais
- Versionar ferramentas e esquemas