MCP Academy · Aula

Falhar com segurança, sem nunca travar

Proteja-se contra tempos limite e exceções não tratadas.

Aula 4 de 413 etapas

Falhar com segurança, sem nunca travar é uma aula grátis de MCP Academy no CoddyKit. Esta é a aula 4 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.

Uma ferramenta travada é pior que uma ferramenta com falha

Uma ferramenta que informa claramente o erro permite que o modelo prossiga. Uma ferramenta que trava congela toda a chamada; portanto, sempre planeje uma saída rápida.

Capture o inesperado

Envolva o trabalho arriscado para que uma exceção inesperada se torne um erro limpo, não uma falha geral. O servidor continua ativo e o modelo aprende o que falhou.

try:
    data = parse(raw)
except Exception as e:
    raise ValueError("could not parse input")

Sempre defina um tempo limite

Qualquer chamada de rede ou externa precisa de um timeout. Sem ele, um serviço externo lento pode manter sua ferramenta aberta indefinidamente e bloquear o cliente.

import httpx
r = httpx.get(url, timeout=10.0)

Prefira Async para E/S

As ferramentas assíncronas permitem que uma solicitação lenta aguarde sem bloquear todo o restante, mantendo o servidor disponível para outras chamadas.

@mcp.tool()
async def fetch(url: str) -> str:
    async with httpx.AsyncClient() as c:
        r = await c.get(url, timeout=10)

Respeite o cancelamento

Se o cliente cancelar, pare prontamente. Respeitar o cancelamento libera recursos e evita trabalho pelo qual ninguém mais está esperando.

Limite os laços e as tentativas

Defina um limite para qualquer laço ou tentativa. Uma tentativa sem limite contra uma API que falha pode continuar para sempre; portanto, defina um máximo de tentativas e desista de forma adequada.

for attempt in range(3):
    if try_call():
        break

Libere o que você abrir

Use blocos with ou finally para que arquivos e conexões sempre sejam fechados, mesmo quando ocorrer um erro no meio da função.

with open(path) as f:
    return f.read()

Reduza a funcionalidade de forma adequada

Quando parte de um trabalho falhar, retorne o que você tiver com uma observação, em vez de não retornar nada. Um resultado parcial ainda ajuda o modelo a decidir.

Registre a falha no servidor

Registre todos os detalhes nos seus registros e envie ao modelo apenas um resumo seguro. Assim, você pode depurar sem expor detalhes internos.

Uma falha não deve encerrar o servidor

Uma única chamada incorreta não deve derrubar o processo. Isolar as falhas por ferramenta mantém todos os outros recursos disponíveis para os clientes.

Sempre retorne algo

Todo caminho de execução da sua ferramenta deve terminar em uma resposta, seja de sucesso ou de erro. O silêncio deixa o cliente esperando e mantém o modelo travado.

Verificação rápida

Qual é o principal motivo para adicionar um tempo limite a uma chamada externa em uma ferramenta?

Recapitulação

Falhe rapidamente, nunca trave: capture imprevistos, defina tempos limite, limite as tentativas, libere recursos, registre com segurança e sempre retorne uma resposta. ✅

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 “Falhar com segurança, sem nunca travar” é grátis?

Sim — o texto completo de “Falhar com segurança, sem nunca travar” é 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 “Falhar com segurança, sem nunca travar”?

Proteja-se contra tempos limite e exceções não tratadas. 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 4 de 4.

Quanto tempo leva a aula “Falhar com segurança, sem nunca travar”?

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. Erros de ferramentas visíveis para o modelo
  2. Erros de protocolo e falhas de ferramentas
  3. Validar entradas antes de agir
  4. Falhar com segurança, sem nunca travar
← Voltar para MCP Academy