
mais la mise en œuvre de cette règle pourrait s'avérer être un défi majeur
Codeforces a introduit une nouvelle règle qui limite l'utilisation de systèmes d'IA tels que ChatGPT et Claude pour résoudre des tâches de programmation dans le cadre de concours. Le fondateur de Codeforces explique que cette mesure est nécessaire, car les systèmes d'IA ont fait des progrès significatifs récemment, atteignant « des sommets non négligeables ». La décision fait suite à la publication par OpenAI de son modèle o1, qui a obtenu des résultats impressionnants lors de concours de programmation simulés. La nouvelle règle ne s'applique qu'à la participation aux concours, mais pourrait être difficile à mettre en œuvre.
Codeforces interdit l'utilisation de l'IA lors des concours de programmation
Codeforces est une plateforme de programmation compétitive créée en 2009 par l'informaticien russe Mikhaïl Mirzayanov, qui enseigne les algorithmes et les structures de données à l'université d'État de Saratov. Selon la description du site, l'objectif est d'offrir aux utilisateurs une plateforme pratique pour organiser, gérer et discuter des concours de programmation. Codeforces est très populaire auprès des programmeurs sportifs et comptait plus de 600 000 utilisateurs enregistrés en 2019. Les participants aux concours organisés sur Codeforces sont évalués selon un système similaire au système de notation Elo.
Face aux capacités croissantes de l'IA en matière de programmation, Codeforces, qui est une plateforme centrée sur l'humain, a décidé la semaine dernière d'interdire l'utilisation de l'IA. Elle a introduit une nouvelle règle qui limite l'utilisation d’outils d'IA de génération de code tels que GPT, Gemini, Gemma, Llama et Claude pour résoudre des tâches de programmation dans le cadre de concours. Toutefois, l'application de cette interdiction pourrait s'avérer difficile.
Le créateur de Codeforces, Mik Mirzayanov, explique que cette mesure est nécessaire parce que les réseaux neuronaux ont fait des progrès significatifs récemment. « Il semble que les réseaux neuronaux fassent des merveilles technologiques. Il n'y a pas si longtemps, ils se débattaient avec les tâches les plus simples de nos concours, mais aujourd'hui, ils atteignent des sommets que l'on ne peut ignorer », a écrit Mirzayanov dans un billet de blogue sur Codeforces.

Mirzayanov a déclaré que Codeforces vise à établir des limites claires pour son utilisation. En d'autres termes, il ne s'agit pas d'une interdiction totale. Le billet de blogue de Mirzayanov définit explicitement les cas dans lesquels Codeforces autorise l'utilisation de l'IA et les cas dans lesquels son utilisation est interdite :
Application de cette règle
Cette règle s'applique à la participation au concours. Cela inclut à la fois les participants inscrits et les participants hors concours à toute épreuve de Codeforces classée. Si une épreuve n'est pas classée et que cela est explicitement indiqué dans l'annonce ou le règlement de l'épreuve, la règle s'applique également. En dehors de ces concours, les outils d'IA peuvent être utilisés librement à des fins d'entraînement, d'apprentissage ou de résolution de problèmes non compétitifs.
Utilisation autorisée de l'IA
- traduction d'énoncés de problèmes : vous pouvez utiliser des systèmes basés sur l'IA pour traduire des énoncés de problèmes, mais vous devez vous assurer que le système n'interprète pas ou ne résume pas l'énoncé. Seules les traductions directes sont autorisées.
- outils de complétion de code (par exemple, Copilot) : les systèmes de complétion de code basés sur l'IA peuvent être utilisés, mais uniquement pour la syntaxe et les suggestions de codage mineures. Il est interdit de les utiliser pour générer la logique ou les algorithmes de base nécessaires à la résolution des problèmes.
Utilisation interdite de l'IA
- il est interdit d'introduire l'énoncé du problème, son résumé, un extrait ou un sous-problème dans un système basé sur l'IA afin de recevoir un code prêt à l'emploi ou des descriptions de la solution en langage naturel.
- Il est interdit d'utiliser l'IA pour diagnostiquer ou résoudre des erreurs sur la base du retour d'information du système. L'utilisation d'outils d'IA qui aident à la compréhension des problèmes, à la création de logique ou à la prise de décision d'une manière qui se substitue à votre propre raisonnement est strictement interdite.
La mise en œuvre de cette règle pourrait s'avérer difficile pour Codeforces
La décision de Codeforces d'interdire l'utilisation de l'IA lors des concours de programmation a suscité des réactions mitigées. Certains utilisateurs sont satisfaits de cette décision, estimant que cela empêchera les tricheurs d'ajouter du code généré par l'IA, tandis que d'autres pensent qu'elle n'aura aucun impact sur les tricheurs. Certains utilisateurs ont exprimé leur mécontentement face à cette décision, arguant qu'il existe désormais plusieurs outils permettant aux tricheurs de modifier facilement le code généré par l'IA pour le faire apparaître comme unique sans vraiment comprendre l'essence du code.
Ces tricheurs obtiennent généralement le code de ChatGPT, puis le convertissent dans un autre langage de programmation ou le modifient légèrement pour éviter qu'il ne soit détecté. Selon les critiques, le futur des concours de programmation compétitive repose sur « la confiance des participants », et les efforts visant à contrecarrer l'IA pourraient être voués à l'échec. En outre, les outils de détection des contenus générés par l'IA n'ont pas encore fait leurs preuves.
L'IA a posé des défis similaires dans d'autres jeux intellectuels compétitifs comme les échecs et le Go, où l'IA a surpassé les capacités humaines. Toutefois, dans ces jeux, les joueurs humains s'affrontent en personne, ce qui préserve l'esprit de compétition. Dans les compétitions anonymes de programmation en ligne, cela est plus difficile à garantir. Codeforces a déclaré qu'il suivrait de près le développement de l'IA afin de garantir une concurrence loyale.
La question de la détection des tricheurs fait l'objet d'un débat intense. Mirzayanov a fait part de sa méthode de détection controversée : « cette règle nous permet de continuer à identifier les cas de tricherie comme nous le faisions avant l'ère de l'IA. Si les codes de deux concurrents correspondent et que le code correspondant n'existe pas publiquement sur Internet avant le tour de compétition, cela sera considéré comme une preuve de tricherie ».
Un critique a proposé une autre approche pour résoudre ce défi : « une solution pourrait consister à créer une nouvelle catégorie de concours pour les problèmes vraiment difficiles nécessitant l'assistance de l'IA. Il s'agit des problèmes multicouches et multilingues où il ne s'agit pas seulement de résoudre des algorithmes, mais de créer des architectures entières composées de différentes couches et de programmes réalisés dans différents langages et plateformes ».
Code généré par l'IA : les défis de sécurité et de gestion des vulnérabilités
L'augmentation du volume de code généré par les systèmes d'IA pose des défis importants en matière de sécurité et de gestion des vulnérabilités. Bien que les outils d'IA de génération de code puissent accélérer le processus de développement, ils introduisent également de nouveaux risques. Si les tests et les mesures de sécurité ne sont pas rigoureusement appliqués à chaque étape du cycle de vie du développement logiciel, il devient presque inévitable que des failles passent inaperçues et soient déployées en production. De nombreuses études ont démontré que ces outils génèrent un code informatique peu sûr.
La rapidité avec laquelle l'IA génère du code peut surpasser la capacité des humains à effectuer des tests approfondis et à assurer la sécurité de chaque ligne de code. Sans une infrastructure solide pour la détection et la correction des failles, les erreurs et les vulnérabilités peuvent s'accumuler. La complexité accrue et la vitesse du développement exigent des outils de tests automatisés et des processus de sécurité intégrés pour compenser les...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.