Crear herramientas para Claude requiere resolver varios desafíos que no son inmediatamente obvios. Cuando quieres que Claude establezca recordatorios para fechas futuras, rápidamente descubres que, aunque Claude conoce la fecha actual, no siempre sabe la hora exacta, tiene dificultades con la aritmética de fechas compleja y no tiene una forma integrada de establecer recordatorios realmente.

La solución es crear herramientas personalizadas que manejen estas tareas específicas. Para un sistema de recordatorios, necesitarás tres herramientas separadas: una para obtener la fecha y hora actuales, otra para agregar duraciones a las fechas, y una tercera para establecer el recordatorio realmente.
Por qué esto es un desafío
Claude tiene algunas limitaciones cuando se trata de tareas basadas en el tiempo:
- Claude puede conocer la fecha actual, pero no la hora exacta
- Claude no siempre maneja bien la suma basada en el tiempo, especialmente cuando se trata de mirar muchos días hacia el futuro
- Claude no sabe cómo establecer un recordatorio

Las herramientas que necesitas
Para resolver estos problemas, crearás tres herramientas dedicadas:
- Obtener la fecha y hora actuales - Claude necesita conocer la fecha y hora actuales
- Agregar duración a fecha y hora - Claude no es perfecto con la suma de fecha y hora
- Establecer un recordatorio - Se necesita una forma de establecer un recordatorio

Cómo funcionan las funciones de herramientas
El sistema de herramientas sigue un flujo específico entre tu servidor y Claude. Escribes funciones que Claude puede llamar cuando necesita información adicional, y Claude recibe los resultados para ayudar a formular su respuesta.

El proceso involucra varios pasos: escribir la función de herramienta, crear una especificación de esquema JSON, llamar a Claude con ese esquema, ejecutar la herramienta cuando Claude la solicita, y proporcionar los resultados de vuelta a Claude.

Escribiendo funciones de herramientas
Las funciones de herramientas son funciones de Python simples que se ejecutan cuando Claude decide que necesita información adicional para ayudar al usuario. Así es como se escriben de manera efectiva:
Mejores prácticas
- Usa argumentos bien nombrados y descriptivos (esto se vuelve importante más adelante)
- Valida las entradas, generando un error si fallan la validación
- Devuelve errores significativos - Claude intentará llamar a tu función una segunda vez si recibe un error

Creando tu primera herramienta
Comencemos con la herramienta más simple: obtener la fecha y hora actuales. Esta función toma un parámetro de formato de fecha y devuelve la marca de tiempo actual:
from datetime import datetime, timedelta
def get_current_datetime(date_format="%Y-%m-%d %H:%M:%S"):
return datetime.now().strftime(date_format)Esta función es sencilla pero sigue los principios clave: tiene un nombre descriptivo, toma un parámetro bien nombrado con un valor predeterminado sensato, y devuelve exactamente lo que promete.
Especificación de esquema JSON
Una vez que tienes tu función, necesitas escribir un esquema JSON que la describa a Claude. Este esquema le indica a Claude qué argumentos requiere la función y le ayuda a entender cuándo y cómo usar la herramienta.

El esquema JSON cumple dos propósitos: ayuda a Claude a entender qué argumentos requiere tu función, y no es solo un concepto de LLM - el esquema JSON se usa comúnmente para la validación de datos en muchos contextos de programación. Hay muchas herramientas en línea que te ayudan a generar esquemas.
Mejores prácticas de esquema
- Explica qué hace la herramienta, cuándo usarla y qué devuelve
- Apunta a 3 o 4 oraciones en tus descripciones
- Proporciona descripciones detalladas para los parámetros
Con tu función de herramienta escrita y el esquema definido, estás listo para integrarla con Claude y comenzar a construir interacciones de IA más sofisticadas que puedan manejar tareas del mundo real como establecer recordatorios.