L'émergence d'assistants de programmation IA tels que Codex a fait réfléchir de nombreux développeurs : allons-nous être remplacés ? Pour être honnête, en tant que personne qui travaille régulièrement avec du code, je suis à la fois enthousiaste et un peu inquiet. Excité par le fait que ces outils peuvent vraiment nous aider à économiser beaucoup de travail répétitif, je suis inquiet quant à leur capacité à nous limiter à la fin. D'un point de vue actuel, l'IA est plus un "super assistant" qu'un "remplaçant" - elle peut prendre en charge les tâches claires et répétitives, mais lorsqu'il s'agit de travaux qui nécessitent une réflexion créative et la conception d'une architecture de système, nous devons toujours compter sur les humains. Mais lorsqu'il s'agit de tâches qui requièrent une réflexion créative et la conception d'une architecture de système, il faut encore compter sur les développeurs humains.
Points forts et limites des assistants de programmation IA
La chose la plus étonnante à propos de Codex est sa capacité à gérer des tâches de codage spécifiques. Des tâches telles que la correction de bogues, l'écriture de tests unitaires et le remaniement de code sont des tâches que l'IA accomplit vraiment vite et bien. J'ai essayé de lui demander de remanier un vieux module Python pour moi, et non seulement il a accompli la tâche parfaitement, mais il a également ajouté des annotations de docstring et de type en cours de route. Mais lorsqu'il s'agit de comprendre la logique commerciale et de peser les compromis architecturaux, l'IA n'est tout simplement pas à la hauteur de la tâche. La semaine dernière, je lui ai demandé de concevoir une architecture de microservices, et la solution obtenue, bien que techniquement réalisable, ne prenait pas en compte les capacités réelles d'exploitation et d'entretien de notre équipe.
Un autre phénomène intéressant est que le code généré par l'IA, bien que correct, manque souvent de considérations "humaines". Par exemple, il n'ajoute pas de commentaires explicatifs aux points clés comme le font les développeurs humains, et il ne s'adapte pas au style de codage de l'équipe. Cela me rappelle une étude de Google : les développeurs assistés par l'IA ont soumis un code avec un taux de réussite plus élevé, mais les coûts de maintenance ultérieurs ont augmenté de 15%.
Évolution du rôle du développeur
Plutôt que de remplacer les développeurs, l'IA redéfinit leur travail. De nos jours, les bons ingénieurs doivent non seulement être capables d'écrire du code, mais aussi de savoir comment utiliser efficacement les outils d'IA. Tout comme l'avènement des IDE n'a pas éliminé les programmeurs à l'époque, les assistants d'IA nous libèrent plutôt du travail mécanique pour que nous puissions nous concentrer sur les aspects les plus précieux du travail, tels que la conception de systèmes, l'optimisation des performances et la résolution créative de problèmes.
Un architecte chevronné que je connais m'a dit qu'il passait désormais moins de temps à écrire du code spécifique, mais plus de temps à réfléchir à la conception du système. C'est en fait un bon signe ; après tout, la partie la plus précieuse du développement de logiciels n'a jamais été la vitesse de frappe au clavier, mais la qualité des idées de résolution de problèmes et des décisions d'ingénierie.
Futurs modèles de collaboration
L'orientation la plus probable est un modèle de "collaboration homme-machine", dans lequel l'IA s'occupe des tâches claires et répétitives et l'homme se concentre sur le travail qui nécessite de la créativité et du jugement. Tout comme il existe cinq niveaux de conduite autonome, il pourrait y avoir une division similaire du travail de programmation : L1 est entièrement réalisé par l'IA, tandis que L5 doit être dirigé par des humains. Il est intéressant de noter que les statistiques de GitHub Copilot montrent que le pourcentage de développeurs acceptant les suggestions de l'IA atteint 401 TP3T pour les tâches simples, mais chute à moins de 51 TP3T pour les implémentations d'algorithmes complexes.
En fin de compte, l'assistant de programmation de l'IA ressemble davantage à un "super stagiaire" pour les développeurs - il peut exécuter rapidement des instructions claires, mais la réflexion stratégique et le travail créatif dépendent toujours de l'homme. Comme l'a déclaré Sam Altman, PDG d'OpenAI, "l'IA ne remplacera pas les développeurs, mais les développeurs qui peuvent utiliser l'IA remplaceront les développeurs qui ne le font pas". C'est une façon un peu détournée de présenter les choses, mais elle laisse entrevoir l'avenir.
评论列表 (0条):
加载更多评论 Chargement...