J'ai conçu un générateur de messages de commit Git par IA
J'avais l'habitude d'écrire de mauvais messages de commit.
Des messages comme « fixed bug » ou « updated stuff » étaient courants. Cela rendait mes pull requests désordonnées. J'ai donc décidé de créer un outil d'IA pour automatiser cela. Je voulais générer des messages clairs et professionnels à partir de mes diffs de code.
C'était plus difficile que je ne le pensais. On ne peut pas se contenter d'un simple prompt.
Voici ce que j'ai appris durant ce processus :
Les échecs
- Les premières tentatives étaient trop verbeuses. L'IA écrivait des paragraphes au lieu de lignes courtes.
- L'IA ignorait les formats standards comme Conventional Commits.
- L'ajout d'instructions supplémentaires poussait l'IA à halluciner des changements qui n'existaient pas.
- Les modèles locaux étaient trop lents ou écrivaient dans un style étrange et poétique.
La solution
J'ai conçu un système hybride en Node.js en trois étapes :
- Classification du type : je force l'IA à choisir d'abord un type (feat, fix, chore, etc.).
- Troncation du contexte : je n'envoie que les 250 premières lignes du diff. Cela permet d'économiser de l'argent et de rester concentré.
- Validation : j'utilise une regex pour vérifier le résultat. Si elle échoue, le script réessaie.
Mes paramètres techniques
- Modèle : j'utilise GPT-4o-mini. Il est rapide et peu coûteux.
- Température : je l'ai réglée sur 0.2. Une température basse garantit des messages sobres et cohérents.
- Workflow : je ne fais pas d'auto-commit. J'utilise l'outil pour suggérer un message, puis je le révise et le colle manuellement.
Leçons pour les développeurs
- Les limites de tokens sont votre principal ennemi. Les diffs volumineux épuiseront votre budget ou feront échouer le prompt.
- La validation est indispensable. Sans vérification par regex, vous obtiendrez du texte inutile.
- La révision manuelle est une sécurité. L'IA fait des erreurs. Ne la laissez jamais commiter sans que vous ayez jeté un œil.
- La confidentialité est importante. N'envoyez pas de code sensible à une API externe si votre entreprise l'interdit.
Si vous voulez essayer cela, lancez-le en tant qu'alias Git. Cela rend le processus fluide.
Communauté d'apprentissage optionnelle: https://t.me/GyaanSetuAi
