Tutoriel

Statut éditorial : En attente de relecture

Créer un premier agent avec un outil Python dans Agno

Créer un agent Agno minimal, ajouter un outil typé et contrôler ses arguments, erreurs et effets de bord.

Classification du contenu

Types

  • Agents IA
  • Outils

Technologies

Niveau
Intermédiaire
Publié le
18 août 2026
Dernière relecture
Relecture en attente
Prochaine vérification
18 novembre 2026

Un outil donne à l’agent accès à une capacité contrôlée. Commençons par une fonction sans effet de bord, puis vérifions que le modèle l’appelle avec des arguments valides.

Installer

~~~bash python -m venv .venv source .venv/bin/activate pip install -U agno ~~~

Ajoutez ensuite le paquet du fournisseur de modèle utilisé et configurez sa clé dans l’environnement.

Définir l’outil

~~~python def convert_eur_to_usd(amount_eur: float, rate: float = 1.08) -> dict: """Convertit un montant positif en euros vers des dollars au taux fourni.""" if amount_eur < 0 or amount_eur > 100_000: raise ValueError('Montant hors limites') if not 0.5 <= rate <= 2: raise ValueError('Taux hors limites') return {'amount_eur': amount_eur, 'amount_usd': round(amount_eur * rate, 2)} ~~~

Dans une application financière, le taux doit venir d’une source fiable côté serveur, pas du modèle. Cet exemple garde le paramètre visible uniquement pour apprendre le schéma.

Créer l’agent

~~~python from agno.agent import Agent from agno.models.openai import OpenAIChat

agent = Agent( model=OpenAIChat(id='votre-modele-actif'), tools=[convert_eur_to_usd], instructions='Utilise l’outil pour tout calcul de conversion.', markdown=True, )

agent.print_response('Convertis 120 euros en dollars.', stream=True) ~~~

Adaptez l’import au provider installé et au modèle actif.

Tester

Vérifiez un montant normal, négatif, immense et ambigu. Inspectez l’appel d’outil, pas seulement la phrase finale. L’agent doit expliquer une erreur au lieu d’inventer un résultat.

Ajouter un outil réel

Pour une API, fixez base URL, timeout et credentials côté serveur. Retournez un objet minimal. Une action d’écriture exige identité, autorisation, confirmation et clé d’idempotence.

Production

Limitez appels et tours, tracez durée et erreurs, masquez les secrets et verrouillez les dépendances. La description de l’outil aide le modèle, mais elle ne remplace aucune règle de sécurité.

FAQ

Peut-on donner une fonction shell comme outil ?

Évitez un shell générique. Exposez des opérations précises avec arguments validés et environnement isolé.

Pourquoi typer les paramètres ?

Les types produisent un schéma plus clair et permettent de refuser les arguments invalides avant l’exécution.

Sources utilisées