#
Petit Quiz (non noté)

Il est temps de tester votre compréhension des sections sur `CodeAgent`, `ToolCalling Agent` et les Outils. Ce quiz est optionnel et non noté.

###
Q1 : Quelle est la différence clé entre créer un outil avec le décorateur @tool et créer une sous-classe de Tool dans smolagents ?

Quelle déclaration décrit le mieux la distinction entre ces deux approches pour définir des outils ?

L'utilisation du décorateur `@tool` est obligatoire pour les outils basés sur la récupération, tandis que les sous-classes de `Tool` sont uniquement pour les tâches de génération de texte Le décorateur `@tool` est recommandé pour les outils simples basés sur des fonctions, tandis que les sous-classes de `Tool` offrent plus de flexibilité pour des fonctionnalités complexes ou des métadonnées personnalisées `@tool` ne peut être utilisé que dans des systèmes multi-agents, tandis que créer une sous-classe de `Tool` est pour les scénarios à un seul agent Décorer une fonction avec `@tool` remplace le besoin d'une docstring, tandis que les sous-classes ne doivent pas inclure de docstring

###
Q2 : Comment un CodeAgent gère-t-il les tâches multi-étapes en utilisant l’approche ReAct ( Reason + Act ) ?

Quelle déclaration décrit correctement comment le `CodeAgent` exécute une série d’étapes pour résoudre une tâche ?

Il passe chaque étape à un agent différent dans un système multi-agents, puis combine les résultats Il stocke chaque action en JSON pour une analyse facile avant de les exécuter toutes en même temps Il alterne entre l'écriture de raisonnements internes, la génération de code Python, l'exécution du code et l'enregistrement des résultats jusqu'à arriver à une réponse finale Il s'appuie sur un module de vision pour valider la sortie du code avant de continuer à l'étape suivante

###
Q3 : Lequel des éléments suivants est un avantage principal du partage d’un outil sur le Hub d’Hugging Face ?

Sélectionnez la meilleure raison pour laquelle un développeur pourrait télécharger et partager son outil personnalisé.

Cela intègre automatiquement l'outil avec un `MultiStepAgent` pour la génération augmentée par récupération Cela permet aux autres de découvrir, réutiliser et intégrer votre outil dans leurs agent construit avec `smolagents` sans configuration supplémentaire Cela garantit que seuls les `CodeAgent` peuvent invoquer l'outil tandis que les `ToolCallingAgent` ne le peuvent pas Cela convertit votre outil en une fonction entièrement capable de vision pour le traitement d'images

###
Q4 : ToolCallingAgent diffère de CodeAgent dans la façon dont il exécute les actions. Quelle déclaration est correcte ?

Choisissez l’option qui décrit avec précision comment ToolCallingAgent fonctionne.

`ToolCallingAgent` est uniquement compatible avec un système multi-agents, tandis que `CodeAgent` peut fonctionner seul `ToolCallingAgent` délègue tout le raisonnement à un agent de récupération séparé, puis retourne une réponse finale `ToolCallingAgent` génère des instructions JSON spécifiant les appels d'outils et les arguments, qui sont ensuite analysés et exécutés `ToolCallingAgent` est uniquement destiné aux tâches à une seule étape et s'arrête automatiquement après avoir appelé un outil

###
Q5 : Qu’est-ce qui est inclus dans la boîte à outils par défaut de smolagents, et pourquoi pourriez-vous l’utiliser ?

Quelle déclaration capture le mieux l’objectif et le contenu de la boîte à outils par défaut dans smolagents ?

Elle fournit un ensemble d'outils couramment utilisés tels que la recherche DuckDuckGo, `PythonInterpreterTool` et un outil de réponse finale pour un prototypage rapide Elle ne supporte que les tâches basées sur la vision comme la classification d'images ou l'OCR par défaut Elle est destinée uniquement aux systèmes multi-agents et est incompatible avec un seul `CodeAgent` Elle ajoute des fonctionnalités avancées basées sur la récupération pour la réponse à des questions à grande échelle à partir d'un magasin de vecteurs

Félicitations pour avoir terminé ce quiz ! 🎉 Si des questions vous ont posé des difficultés, revisitez les sections `CodeAgent`, `ToolCalling Agent` ou Outils pour renforcer votre compréhension. Si vous l’avez réussi, vous êtes bien parti pour construire des applications robustes avec `smolagents` !

Update on GitHub