Une IA a écrit une fonction plausible, mais vous n’en comprenez pas encore les valeurs de repli ou les cas d’échec. Sélectionnez-la dans Yenpo, interrogez le modèle de votre choix et confrontez chaque affirmation au code.

Il vous faut Yenpo, un projet local et un fournisseur avec une API compatible. Le modèle qui explique peut être différent de celui qui a écrit le code.

1. Connecter son modèle

Dans les réglages, ouvrez « Modèles », ajoutez un fournisseur avec le bouton plus et choisissez-le comme « Fournisseur actuel ». Renseignez le type d’API, « URL de base », « Méthode de connexion » et l’identifiant exact du modèle disponible.

Yenpo propose trois types d’API : « OpenAI Compatible » (OpenAI Chat Completions), « OpenAI Responses » et « Anthropic Messages ». Choisissez le protocole du service, sans le déduire du seul nom du modèle. « Récupérer la liste » est facultatif : entrez directement l’identifiant si aucune liste n’est publiée.

Saisissez les clés uniquement dans les réglages. Commencez par du code que vous avez le droit d’envoyer au fournisseur. La requête peut inclure du code pertinent trouvé hors de la sélection ; consultez données et permissions. Le guide de connexion détaille les chemins d’URL et les erreurs.

2. Joindre le code à expliquer

Ouvrez le fichier et sélectionnez une fonction ou un petit bloc. Créez une conversation AI Reader et choisissez « Expliquer la sélection ». Vérifiez le fichier et les lignes joints, puis modifiez le brouillon avant l’envoi. Laissez « Autoriser les modifications » désactivé.

Demandez des détails vérifiables :

Explique cette sélection dans l’ordre d’exécution. Pour chaque branche, donne l’entrée ou l’état qui y mène, la valeur renvoyée et les effets de bord. Cite les lignes exactes pour chaque affirmation. Lis les appelants ou les tests si nécessaire et sépare ce que montre le code des hypothèses sur les entrées réelles. Ne modifie aucun fichier.

La sélection sert de point de départ. Pour comprendre une ancienne modification, ouvrez la comparaison Git correspondante et interrogez-la : le fichier actuel peut avoir changé.

3. Contrôler chaque référence au code

Cliquez sur une référence pour afficher les lignes dans « Coup d’œil ». Utilisez « Ouvrir le fichier » pour lire la condition environnante ou l’appelant.

  1. Vérifiez chemin, plage de lignes et version.
  2. Lisez la condition avant l’opération citée.
  3. Suivez la valeur jusqu’à l’appelant si la réponse décrit ce que voit l’utilisateur.
  4. Laissez ouvertes les affirmations sans assez de code ou d’informations d’exécution.

Pour affirmer que « ce résultat l’emporte toujours », vérifiez quels chemins mènent à l’affectation citée et si une écriture peut encore suivre.

4. Essayer un petit exemple ligne par ligne

Supposons qu’une IA ait écrit cette fonction JavaScript dans un projet pédagogique :

function displayName(user) {
  if (!user) return 'Guest';
  const name = user.name?.trim();
  return name || 'Guest';
}

La numérotation part ici de la première ligne du bloc. Dans votre projet, utilisez les lignes réelles du fichier.

Affirmation Lignes Ce que le code confirme
Sans utilisateur, la valeur de repli est renvoyée 2 null, undefined ou toute autre valeur falsy renvoie "Guest" avant de lire le nom
Un nom composé d’espaces utilise la valeur de repli 3–4 trim produit "", puis la valeur de repli est renvoyée
Toute entrée mal formée est sans danger 3 Un nom tel que 42 lève une TypeError, faute de méthode trim

La dernière affirmation doit être corrigée. Le chaînage optionnel traite ici un nom null ou undefined, sans valider tous les types. Lisez l’appelant ou le validateur pour savoir si un nombre peut atteindre cette fonction.

5. Contester l’explication et exécuter un test

Si la réponse généralise trop, poursuivez :

Revérifie l’affirmation selon laquelle toute entrée mal formée est sans danger. Que se passe-t-il si le nom est un nombre ? Cite l’opération qui échouerait, puis cherche si un appelant ou validateur empêche cette entrée. Sans confirmation, laisse la question ouverte.

Vérifiez un utilisateur absent, un nom composé d’espaces, un nom normal entouré d’espaces et un nom numérique. Exécutez le plus petit test pertinent avec le système de test du projet et lisez le résultat.

Gardez le fichier stable pendant la vérification. S’il change, sélectionnez le code à jour et redemandez une explication pour ne pas associer un ancien texte à de nouvelles lignes.

6. Conserver ce qui est compris

Notez les hypothèses d’entrée, le comportement des branches, les emplacements vérifiés et les tests exécutés. Incluez les questions ouvertes, comme l’endroit où l’entrée est validée, pour les reprendre plus tard.

Appliquez la même méthode à un tour de Claude Code ou une branche Codex lorsqu’un bloc mérite une lecture approfondie.