Aller au contenu principal

Fonctions outils

Construire des outils pour Claude necessite de resoudre des problemes qui ne sont pas immediatement evidents. Quand vous voulez que Claude gere des rappels pour des dates futures, vous decouvrez rapidement que Claude ne connait pas toujours l’heure exacte, a du mal avec l’arithmetique de dates complexe, et n’a aucun moyen integre de creer des rappels.

Les outils necessaires

Pour un systeme de rappels, vous avez besoin de trois outils :

  1. get_current_datetime : recuperer la date et l’heure actuelles
  2. add_duration_to_datetime : ajouter des durees aux dates
  3. set_reminder : creer un rappel

Ecrire les fonctions outils

Les fonctions outils sont de simples fonctions Python executees quand Claude decide qu’il a besoin d’informations supplementaires.

Bonnes pratiques

  • Utiliser des noms d’arguments descriptifs et bien nommes
  • Valider les entrees, lever une erreur en cas d’echec de validation
  • Renvoyer des erreurs significatives — Claude essaiera d’appeler votre fonction une seconde fois s’il recoit une erreur

Premier outil : date et heure actuelles

from datetime import datetime, timedelta

def get_current_datetime(date_format="%Y-%m-%d %H:%M:%S"):
    return datetime.now().strftime(date_format)

Cette fonction est simple mais respecte les principes cles : nom descriptif, parametre bien nomme avec une valeur par defaut sensee, retour exactement de ce qui est promis.

Schema JSON

Une fois votre fonction ecrite, vous devez rediger un schema JSON qui la decrit a Claude. Ce schema indique a Claude quels arguments la fonction requiert et l’aide a comprendre quand et comment utiliser l’outil.

Le schema JSON sert deux objectifs :

  • Aider Claude a comprendre quels arguments votre fonction requiert
  • Fournir un format de validation standard (JSON Schema est utilise bien au-dela du contexte IA)

Bonnes pratiques pour les schemas

  • Expliquer ce que l’outil fait, quand l’utiliser, et ce qu’il renvoie
  • Viser 3 a 4 phrases dans la description
  • Fournir des descriptions detaillees pour chaque parametre
  • En cas de doute, demander a Claude de rediger les descriptions pour vous