Utilisation de l'IA #14
Labels
No milestone
No project
No assignees
5 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Construction_PA/PA_Communautaire#14
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Si l'utilisation de l'IA augmente la productivité , son usage peut conduire à certains inconvénients (documents verbeux, code complexe, ...). On peut également privilégier l'usage de certains outils vis à vis d'autres (LLM particuliers, cloud vs local) ou favoriser voir développer des skills adaptés à notre projet.
J'ouvre ce ticket pour recueillir l'avis de chacun pour identifier un ensemble de bonnes pratiques à suivre pour nos travaux.
J'en profite pour donner mon avis :
Cas d'usage ciblés :
Outils auxquels je peux accéder pour le projet :
https://mcpmarket.com/tools/skills/cucumber-gherkin-bddpour rédiger deux guides d'introduction à BDDSuggestions pour le projet :
https://www.open-notebook.ai/)Points d'attention :
Je propose de faire une synthèse des différentes contributions.
Quelques idées :
On peut espérer que l'ia soit capable de convertir un test BDD en langage clair vers le code python correspondant.
Si c'est possible, on pourrait :
Voir https://agents.md/
Voir https://docs.github.com/en/github-models/use-github-models/storing-prompts-in-github-repositories
Sur la partie production de test BDD: je pense qu'il faut rechercher dans l'IA plutôt une assistance qu'une substitution de tache. On aura tres difficilement un produit fini construit par l'IA (le prompt magique !). Et cela dépend des outils maitrisés par le contributeur qui ne sont pas interopérables bien sûr. Par contre initialiser du code en réutilisant les fonctions python existantes ou coder une fonction spécifique, cela peut etre intéressant.
On pourrait donc favoriser le partage entre contributeurs selon les outils utilisés (pour ce que je connais sur Claude CLI, le fichier CLAUDE.md et un skill adapté). D'autres partageront des fichiers agent.md, des modeles de prompt...
Cela pourrait se faire dans un "projet" Forgejo dédié.
Tout à fait d'accord. Je serais plutot favorable a mettre ces informations dans la doc développeur plutot que sur un autre projet.
On est parti sur un monorepo pour tout avoir sous la main. Si on le met dans la doc, cela enlèvera tout équivoque.
A voir:
un prompt pour lire la norme et faire le bdd correspondant
un prompt pour lire un bdd et faire le code correspondant
pensez à décrire dans la doc notre
usagede l'IA dans ce projetvoir par exemple comment il ont fait ça sur le projet ghostty
Mais très bon point de départ, je proposerai une rédaction.
Je pense que je peux faire produire par Claude un prompt "autoporteur" pour chaque UC. Si certains ont une pratique avancée de Mistral pour le code, je suis preneur. Et on pourra tester.
Proposition d'une pièce à casser pour la Politique d'utilisation de l'IA.
Je suis parti de l'exemple de Ghostty
J'ai traduit et simplifié. J'ai gardé le named and shamed à la fin en clin d'oeil.
Je rajoute @teddy.morel dans la boucle.
Politique d'utilisation de l'IA
Le projet PDPLibre pour la construction de la PA définit les règles suivantes pour l’usage de l’Intelligence Artificielle.
L'IA est bienvenue
Chaque développeur est libre d’intégrer dans sa pratique l’usage de l’IA. Il le fait sous sa responsabilité et selon ses compétences et expériences. Dans le cadre du projet de construction de la PA, l’IA est un vu comme un outil de productivité.
La définition d’une politique d’utilisation de l’IA permet de doter le projet de règles communes destinées à garantir la qualité des contributions permises par le recours à ces outils.
Chacun peut développer un usage de l’IA particulièrement adapté aux spécificités métier et technique du projet. Le partage de cet usage peut être réalisé par une documentation soumise à revue et acceptation (Ticket, PR) pour être intégrée au repo.
Des outils transversaux utilisant l’IA peuvent également être mise en place.
Règles communes
Qualité des outils utilisés
Chaque contributeur est responsable de la qualité des contenus produits par les outils qu’il utilise. Il doit s’assurer que les termes de propriété intellectuelle du contenu produit l’autorise à partager ce contenu en son nom.
Dans le mesure où le code du projet est ouvert, tout outil du marché dans le Cloud peut être utilisé.
Signalement de l’usage de l’IA
Toute utilisation de l'IA sous quelque forme que ce soit doit être annoncée. Vous devez indiquer l'outil que vous avez utilisé (par ex. Mistral, Claude Code, Cursor, Amp) ainsi que le cadre d’utilisation de cet outil.
Les PR générés par IA doivent être associées à un Ticket (question qui se pose d’abord indépendamment de l’IA)
Les Pull Request générées par IA de quelque manière que ce soit par l'IA ne peuvent être générées sans association avec un Ticket. Les PR qui ne référencent pas une solution acceptée décrite dans un Ticket seront seront fermées. Si l'IA n'est pas signalée mais qu'un mainteneur soupçonne son utilisation, la PR sera fermée. Si vous souhaitez partager un code pour un problème non recensé, ouvrez un Ticket ou joignez-la à un Ticket existant.
Qualité des PR générées par IA (sujet qui a un sens aussi hors IA)
Les PR créées par l'IA doivent avoir été entièrement vérifiées avec une utilisation humaine. L'IA ne doit pas créer un code hypothétiquement correct qui n'a pas été testé. Il est important de noter que vous ne devez pas utiliser l'IA pour un code non testé dans l’environnement de développement.
Utilisation de l’IA dans des Tickets ou discussion
Les Tickets et les discussions peuvent utiliser l'assistance de l'IA, mais doivent se faire sous le contrôle d’un humain. Cela signifie que tout contenu généré avec l'IA doit avoir été examiné et édité par un humain avant d'être soumis. L'IA génère du contenu verbeux qui ajoute du bruit au problème traité. Cela doit être maitrisé.
Utilisation de l’IA pour la génération de media
Aucun média généré par l'IA n'est autorisé (art, images, vidéos, audio, etc.). Le texte et le code sont le seul contenu acceptable généré par l'IA, selon les autres règles de cette politique.
Régulation des contributions par l’IA (à supprimer ?)
Les contributeurs faisant un usage de l’IA inapproprié seront interdits et ridiculisés en public. Vous avez été prévenu. Nous aimons aider les développeurs juniors à apprendre et à grandir, mais si cela vous intéresse, n'utilisez pas l'IA, et nous vous aiderons. Je suis désolé que les mauvais pilotes d'IA aient ruiné tout pour vous.
Je ne comprends pas cette phrase :
Il est important de noter que vous ne devez pas utiliser l'IA pour un code non testé dans l’environnement de développement.Pourquoi on ne pourrait pas générer les médias avec l'IA ?
Sur la phrase : cela fait référence à des contributeurs ayant cloné le repo et qui ferait tourner l'IA pour écrire du code et une PR sans l'avoir exécuté et tester. Mais la formulation est à revoir.
Ajustement :
Il est important de noter que vous ne devez pas proposer un code généré avec l'IA sans l'avoir exécuté et testé dans l’environnement de développement.Pour les médias, je l'ai repris de l'exemple. Mais oui on pourrait ne rien dire et l'autoriser. Après il peut y avoir un sujet de PI. De toute façon notre projet ne traite pas de cela.
@f.piccinali @philippe.entzmann : la salle n'est pas ouverte. Si vous allez sur l'ancien lien il est opérationnel
Bonjour @bruno.d2b @ha @f.piccinali @philippe.entzmann
deux suggestions :
1/
Utilisation de l’IA pour la génération de media à conserver en l'état d'après moi.
je pense que c'est la décision la plus sage pour le projet pour le moment.
Pour moi, le seul vrai média "IA" qui pourrait avoir une valeur ajoutée serait les image pour les schemas mais on peut déjà utiliser l'IA pour générer du code et généré un schema avec PlantUML (schema d'achitecture par exemple).
un autre media auquel je pense serait des vidéos explicative/formation générées par IA. ça pourrait être tentant pour la comm', mais c'est une vraie boîte de Pandore pour 2 raisons :
Le risque d'image : On n'est pas à l'abri qu'une IA nous ponde une vidéo super propre en apparence, mais avec un détail foireux en arrière-plan (un symbole politique, un truc déplacé ou hors contexte par rapport aux valeurs de l'asso).
L'impossibilité de tout checker : Honnêtement, je ne me sens pas assez "capé" (et on n'a sans doute pas le temps) pour screener chaque seconde d'une vidéo ou chaque pixel d'une image afin de garantir que tout est 100% "safe" et diffusable. Un petit détail qui passe entre les mailles du filet, et c'est la réputation de l'asso qui en prend un coup .
2/
Régulation des contributions par l’IA:
voici une proposition de reformulation.
L'utilisation de l'IA au sein de ce projet est soumise à des règles strictes pour garantir la qualité et la sécurité de notre code :
Tolérance zéro pour le code malveillant : Tout utilisateur générant ou tentant d'introduire du code malveillant (via l'IA ou non) sera immédiatement banni de la communauté de façon définitive.
Conformité sécuritaire : Chaque proposition de code doit être rigoureusement conforme aux politiques de sécurité établies dans le cadre de ce projet. L'utilisation d'un outil d'IA ne dédouane pas le contributeur de sa responsabilité quant à la dangerosité potentielle de sa soumission.
Priorité à l'apprentissage et à la maîtrise :
Nous encourageons l'utilisation de l'IA comme levier d'apprentissage, à condition qu'elle reste un outil et non un substitut à la réflexion.
Compréhension requise : Nous vous incitons à utiliser l'IA, mais vous devez impérativement comprendre le code produit et être capable de l'expliquer.
Soutien communautaire : Si vous rencontrez des difficultés pour résoudre une problématique de la construction PA ou pour comprendre comment l'IA est parvenue à un résultat sur une problématique de construction PA, ne restez pas bloqué. Sollicitez un membre de la communauté : nous sommes là pour vous aider à décortiquer les concepts et à maîtriser la logique derrière chaque solution.