Herramientas idempotentes y conscientes de sus efectos secundarios
Haga que las llamadas repetidas sean seguras y predecibles.
Herramientas idempotentes y conscientes de sus efectos secundarios es una lección gratuita de MCP Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de MCP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de MCP Academy incluye 4 lecciones en total.
Los modelos pueden llamar dos veces
Un cliente de IA puede volver a intentar una herramienta después de un tiempo de espera o de una conexión interrumpida. Su herramienta podría ejecutarse dos veces cuando el usuario solo pretendía hacerlo una.
Qué significa idempotente
Una herramienta es idempotente cuando volver a llamarla con la misma entrada no produce ningún cambio adicional. La segunda llamada es, de forma segura, una operación sin efecto.
Las lecturas son seguras por naturaleza
Las herramientas de lectura pura, como obtener un registro, ya son idempotentes. Repetirlas solo devuelve la misma respuesta sin causar daños.
@mcp.tool()
def get_user(id: int) -> dict:
return db.find(id)Las escrituras requieren cuidado
Una herramienta que crea algo o cobra dinero es peligrosa si se repite. Un reintento ciego podría añadir una fila duplicada o cobrar dos veces.
Use una clave proporcionada por el cliente
Solicite al llamador una clave de idempotencia. Si ya ha procesado esa clave, devuelva el resultado almacenado en lugar de actuar de nuevo.
if key in seen:
return seen[key]
seen[key] = do_work()Prefiera upsert a insert
Un upsert escribe o actualiza usando un identificador estable, de modo que ejecutarlo dos veces deja una sola fila, no dos. Así convierte los reintentos en un único estado.
INSERT ... ON CONFLICT (id)
DO UPDATE SET ...Declare claramente los efectos secundarios
Indique en la descripción de la herramienta si modifica datos. El modelo toma mejores decisiones cuando sabe que una llamada es destructiva.
Separe las herramientas de lectura y escritura
Mantenga diferenciadas una herramienta de consulta y otra de modificación, en lugar de una que a veces escriba. Unos límites claros reducen los cambios accidentales.
Haga que los resultados sean deterministas
Siempre que pueda, devuelva el mismo resultado para la misma entrada. Los resultados predecibles ayudan a los clientes a almacenar en caché y a razonar sobre su herramienta.
Compruebe antes de actuar
Antes de escribir, confirme el estado actual del objetivo. Si el cambio ya se aplicó, informe de que se realizó correctamente sin repetirlo.
if order.status == "shipped":
return "already shipped"Agrupe el trabajo de varios pasos en una transacción
Si una herramienta modifica varias filas, ejecútelo todo en una única transacción. Así, un reintento se aplica por completo o se revierte por completo, nunca a medias.
Comprobación rápida
¿Por qué es importante la idempotencia en una herramienta de MCP que crea registros?
Repaso: repeticiones seguras
Haga que las escrituras sean idempotentes mediante claves o upserts, declare los efectos secundarios, separe las lecturas de las escrituras y utilice transacciones. Siguiente tema: control de versiones. ♻️
Aprende Python con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 30
- Lecciones
- 120
Preguntas frecuentes
¿La lección «Herramientas idempotentes y conscientes de sus efectos secundarios» es gratis?
Sí — el texto completo de «Herramientas idempotentes y conscientes de sus efectos secundarios» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de MCP Academy, actualiza a CoddyKit PRO. El curso de MCP Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Herramientas idempotentes y conscientes de sus efectos secundarios»?
Haga que las llamadas repetidas sean seguras y predecibles. Practicas MCP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar MCP Academy?
No se requiere experiencia previa. MCP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Herramientas idempotentes y conscientes de sus efectos secundarios»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de MCP Academy?
Sí. Cada lección de MCP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Arquitectura de servidor por capas
- Configuración y secretos mediante el entorno
- Herramientas idempotentes y conscientes de sus efectos secundarios
- Versionar herramientas y esquemas