Skip to main content
Devin a besoin de connaître vos préférences et la façon de vérifier qu’il est sur la bonne voie. S’il n’est pas explicitement guidé, Devin prendra ses propres décisions. Nous vous recommandons de suivre une structure simple dans vos prompts pour vous assurer que Devin reste sur la bonne voie et vérifie lui-même son travail :

Quoi

Décrivez la tâche que vous voulez que Devin accomplisse.Exemple : Mettre à niveau mon projet de Java 7 vers Java 8.

Comment

Décrivez quelques consignes (à suivre et à éviter) pour Devin lors de l’exécution de la tâche (par exemple, déployer avec Modal, etc.)Exemple : Identifier et remplacer les API Java 7 obsolètes par leurs équivalents Java 8. Analyser la base de code pour déterminer les améliorations possibles liées au langage et aux API Java 8.

Résultat

Décrivez les résultats attendus ou les comportements que Devin doit tester pour savoir quand la tâche est terminée.Exemple : Exécuter la suite de tests et vérifier que tous les tests réussissent. Effectuer un build du projet en utilisant la configuration Java 8 mise à jour et vérifier que l’application est opérationnelle.

Choisir les bonnes tâches

Lorsque vous décidez quoi déléguer à Devin, privilégiez les tâches qui présentent :
  1. Des critères de réussite clairs
    • Tâches dont la réussite peut être validée automatiquement
    • Boucles de rétroaction intégrées (tests, compilation, lint checks)
    • Mesures objectives de qualité
  2. Un périmètre adapté
    • Complexité de niveau ingénieur junior
    • Limites bien définies
    • Schémas/patterns clairs à suivre
  3. Des éléments répétitifs
    • Tâches nécessitant d’appliquer des modifications similaires de nombreuses fois
    • Variations qui rendent l’écriture de simples scripts difficile
    • Exemples existants à suivre
  4. Exemples courants
    • Mises à jour de version sur plusieurs packages
    • Ajout de couverture de test à des modules non testés
    • Conversion de fichiers pour adopter de nouveaux modèles/normes
    • Implémentation de composants d’interface utilisateur standard

Divisez les tâches complexes en sous-tâches plus simples, au cours de plusieurs sessions

Comme pour tout ingénieur junior, Devin a plus de chances de réussir si les projets complexes sont décomposés en sous-tâches claires. Par exemple, plutôt que de demander à Devin de mettre à jour le code de votre application, votre suite de tests et votre configuration CI en une seule session, il peut être préférable de scinder ce travail en trois sessions distinctes. Pour les tâches particulièrement complexes, nous recommandons de collaborer avec Devin au cours de plusieurs sessions distinctes, car les performances de Devin peuvent parfois se dégrader à mesure que la session s’allonge.

Indiquez à Devin comment vérifier son avancement

Devin fonctionne au mieux lorsqu’il dispose d’étapes de vérification claires pour valider son travail. Cela permet de s’assurer que la tâche est réalisée correctement et aide Devin à détecter rapidement les problèmes potentiels. Voici une liste non exhaustive de moyens d’aider Devin à vérifier son travail :
  1. Spécifier les exigences de test
    • Demander à Devin d’exécuter des suites de tests spécifiques
    • Définir quels tests doivent réussir
    • Demander des métriques de couverture de code si pertinent
  2. Définir des jalons clairs et des sous-tâches
    • Décomposer les tâches complexes en sous-tâches vérifiables et lancer une session Devin pour chaque sous-tâche
    • Définir ce à quoi ressemble la réussite pour chaque sous-tâche, et éventuellement des jalons intermédiaires au sein de chaque sous-tâche
    • Demander à Devin de faire un compte rendu après chaque jalon/sous-tâche complété
  3. Indiquez à Devin comment vérifier son travail Précisez comment Devin peut s’assurer qu’il est sur la bonne voie. Par exemple :
    • Lors du travail avec des jeux de données : « Vérifie que le jeu de données contient au moins 500 lignes et les colonnes X, Y, Z »
    • Lors de la modification d’API : « Confirme que le point de terminaison renvoie le statut 200 et inclut tous les champs requis »
    • Lors de la mise à jour de l’UI : « Vérifie que le composant se rend sans erreurs dans la console et correspond aux spécifications de design »
Plus vous êtes précis sur les exigences de validation, plus Devin pourra avancer en toute confiance sur la tâche sans intervention.

Soyez clair et précis

Fournissez à Devin des instructions et des exigences claires et détaillées. Par exemple, essayez de :
  1. Préciser les étapes clés nécessaires pour mener une tâche à bien
  2. Nommer les dépôts, bibliothèques, branches spécifiques, etc. avec lesquels vous voulez que Devin travaille
Rien n’est « trop évident » pour Devin, mais il fera de son mieux pour demander des précisions et poser des questions au fur et à mesure.

Utiliser les Playbooks

Pour les tâches répétitives ou complexes, nous vous recommandons d’utiliser des Playbooks et de les améliorer au fil du temps. Les Playbooks sont des prompts facilement réutilisables et partageables. Par exemple, si vous voulez que Devin traite des échecs récurrents de builds CI, vous pouvez créer un Playbook qui inclut les étapes générales que Devin doit suivre à chaque fois pour résoudre le problème, sans avoir à les inclure dans chaque prompt.

Fournir des références ou des exemples

Lorsque c’est possible, ajoutez des liens vers la documentation ou des exemples pertinents pour la tâche. Si vous ne fournissez aucune ressource, Devin pourra rechercher la documentation de manière autonome.

Lancez-vous !

Posez des questions à Devin et donnez-lui des instructions pendant qu’il travaille, comme vous le feriez avec n’importe quel autre membre de votre équipe !