Al crear aplicaciones de IA con Claude, a menudo necesitarás darle acceso a información en tiempo real o la capacidad de realizar acciones. Aquí es donde entran las funciones de herramientas: son funciones de Python que Claude puede llamar cuando necesita datos adicionales para ayudar a los usuarios.

La imagen anterior muestra tres herramientas esenciales que implementaremos: obtener la fecha/hora actual, agregar duración a las fechas y configurar recordatorios. Comencemos con la primera.
¿Qué son las funciones de herramientas?
Una función de herramienta es una función de Python sencilla que se ejecuta automáticamente cuando Claude decide que necesita información adicional para ayudar a un usuario. Por ejemplo, si alguien pregunta "¿Qué hora es?", Claude llamaría a tu herramienta de fecha/hora para obtener la hora actual.

Aquí tienes un ejemplo de una función de herramienta del clima. Observa cómo valida las entradas y proporciona mensajes de error claros; estas son prácticas recomendadas importantes.
Prácticas recomendadas para las funciones de herramientas
Al escribir funciones de herramientas, sigue estas pautas:
- Usa nombres descriptivos: Tanto el nombre de tu función como los nombres de los parámetros deben indicar claramente su propósito
- Valida las entradas: Verifica que los parámetros requeridos no estén vacíos o sean inválidos, y genera errores cuando lo sean
- Proporciona mensajes de error significativos: Claude puede ver los mensajes de error y podría reintentar la llamada a la función con parámetros corregidos
La validación es particularmente importante porque Claude aprende de los errores. Si generas un error claro como "La ubicación no puede estar vacía", Claude podría intentar llamar a la función nuevamente con un valor de ubicación adecuado.
Creando tu primera función de herramienta
Creemos una función para obtener la fecha y hora actuales. Esta función aceptará un parámetro de formato de fecha para que Claude pueda solicitar la hora en diferentes formatos:
def get_current_datetime(date_format="%Y-%m-%d %H:%M:%S"):
if not date_format:
raise ValueError("date_format cannot be empty")
return datetime.now().strftime(date_format)Esta función usa el módulo datetime de Python para obtener la hora actual y formatearla según la cadena de formato proporcionada. El formato predeterminado nos da año-mes-día hora:minuto:segundo.
Puedes probarla con diferentes formatos:
# Formato predeterminado: "2024-01-15 14:30:25"
get_current_datetime()
# Solo hora y minuto: "14:30"
get_current_datetime("%H:%M")La verificación de validación garantiza que Claude no pueda pasar una cadena vacía para el formato de fecha. Aunque este error específico es poco probable, demuestra el patrón de validar entradas y proporcionar mensajes de error útiles de los que Claude puede aprender.
Próximos pasos
Crear la función es solo el primer paso. A continuación, deberás escribir un esquema JSON que describa la función a Claude, y luego integrarla en tu sistema de chat. Este enfoque de funciones de herramientas le da a Claude capacidades poderosas mientras mantiene tu código organizado y mantenible.