Passer au contenu principal
En résumé : Traitez Devin comme un ingénieur junior. Confiez à Devin des tâches qu’un ingénieur junior ou un stagiaire pourrait accomplir s’il recevait des instructions suffisamment claires et détaillées. N’oubliez pas de donner à Devin un niveau de détail similaire à celui que vous fourniriez à un collègue humain. Pour des conseils plus complets sur la manière de travailler efficacement avec des agents de codage, consultez notre guide Coding Agents 101.

Bonnes pratiques

 Commencez votre journée en mettant plusieurs Devin au travail en parallèle :
  • Réfléchissez à votre liste de tâches et découpez-la en petits éléments sur lesquels une équipe de stagiaires (les Devin) peut vous aider.
  • Revenez vers les PR en brouillon en attente de revue autour de l’heure du déjeuner.
 Mentionnez Devin dans les fils Slack pour des corrections rapides :
  • Devin est idéal pour les tâches qui prennent 30 minutes, mais qui se retrouvent souvent dans un gros backlog pendant des semaines.
 Concentrez-vous sur les tâches facilement vérifiables :
  • Idéalement, il suffit de vérifier que la CI passe ou de tester un déploiement automatique. Évitez les tâches ambiguës pour lesquelles il peut sembler que la tâche a été correctement effectuée alors qu’il se passe autre chose.
 Commencez modestement :
  • Lorsque vous débutez, lancez de nombreuses petites exécutions pour trouver les meilleurs cas d’utilisation de Devin.
  • Essayez de ne pas dépenser trop de crédits (>10 ACUs) sur une seule exécution. Les performances de Devin se dégradent lors des longues sessions.

Évaluer les tâches pour Devin

Pour décider si une tâche est adaptée à Devin, la première question à vous poser est : Un ingénieur junior pourrait-il y parvenir avec suffisamment de temps et de contexte ?

Liste de contrôle avant la tâche

Complexité de la tâche
  • Réfléchissez aux arbitrages et décisions difficiles qui seront nécessaires
  • Identifiez les scénarios d’échec potentiels auxquels un stagiaire pourrait se heurter
  • Pour les tâches nécessitant des connaissances avancées du domaine, décomposez-les davantage ou fournissez le contexte pertinent
Définition et périmètre de la tâche
  • De bonnes tâches ont un début et une fin clairs, ainsi que des critères de réussite (par exemple, des tests qui passent, le respect d’un modèle existant)
Références disponibles
  • Existe-t-il des exemples ou des modèles que Devin peut suivre ?
  • Pouvez-vous fournir des prototypes, du code partiel ou des modèles existants issus de la base de code ou de la documentation ?
  • Il est très utile de fournir des liens ou des noms de fichiers pour que Devin puisse les consulter.
Validation de la réussite
  • Les tâches avec suites de tests, contrôles lint ou étapes de compilation donnent de meilleurs résultats
  • Les tâches avec des critères subjectifs peuvent être plus délicates
Effort de revue
  • Idéalement, vous avez seulement besoin de vérifier que le CI passe, ou vous pouvez rapidement tester un déploiement automatique
Taille de la tâche
  • Pour les tâches de grande ampleur, envisagez de les décomposer en sous-tâches ou en plusieurs sessions
  • Scinder les grandes demandes en parties plus petites et gérables aide Devin à rester sur la bonne voie

Revue après la tâche

Surveiller le temps de session
  • Si Devin atteint à plusieurs reprises les limites d’utilisation de session, la tâche qui lui est assignée est peut-être trop complexe
  • Vous devrez peut-être fournir des instructions et des garde-fous plus détaillés
  • Envisagez d’analyser comment Devin passe son temps
  • Si Devin rencontre des difficultés avec son environnement de développement, revoyez la configuration de l’espace de travail
  • Terminer la tâche vous-même peut être plus rapide que d’essayer de remettre Devin sur les rails
Apprendre des erreurs de Devin
  • Dans vos futures sessions, fournissez plus de contexte ou d’instructions pour aider Devin à surmonter les obstacles rencontrés précédemment
  • Envisagez d’ajouter ou d’approuver des connaissances afin que Devin se souvienne de ce qu’il a appris lors des sessions précédentes