Création d'un logiciel de transcription en Python
Alexis tente d'améliorer son outil de transcription Python existant en ajoutant l'enregistrement de la sortie système audio, mais rencontre des difficultés techniques liées à Linux et PulseAudio.
À propos de cette session
Alexis a commencé par présenter son outil de transcription vocale qu'il avait créé il y a un an avec le vibe coding. Cet outil permet d'enregistrer sa voix via un raccourci clavier (Ctrl+Alt+Q), de la transcrire avec l'API OpenAI GPT-4 Transcribe, et de mettre le résultat dans le presse-papier.
Il a ensuite voulu étendre cet outil pour pouvoir enregistrer non seulement son micro mais aussi la sortie audio de son ordinateur (comme lors de réunions), inspiré par une fonctionnalité de Notion. Il a ouvert son projet existant dans Windsurf et a demandé à l'agent Cascade d'analyser la faisabilité d'ajouter cette fonctionnalité.
L'IA a proposé d'utiliser PulseAudio sur Linux avec un paramètre "-b" pour activer l'enregistrement mixte. Cependant, Alexis a rencontré plusieurs obstacles techniques : problèmes de détection des périphériques audio système, difficultés avec PulseAudio Utils, erreurs de mixage audio, et finalement l'IA a commencé à partir en "boucle infernale" avec des corrections successives qui ont corrompu le code.
Malgré plusieurs tentatives de debugging et de rollbacks dans Windsurf, Alexis n'a pas réussi à faire fonctionner l'enregistrement de la sortie système. Les tests finaux montraient que seul le micro était enregistré, pas l'audio YouTube qu'il tentait de capturer. La session s'est terminée avec des problèmes d'API surchargée chez Anthropic.
Points clés
- Complexité des scripts système vs web - Les projets système impliquent des spécificités OS (Linux, PulseAudio) plus difficiles à déboguer que le développement web
- Limites des agents sur l'environnement système - Même les agents avancés comme Cascade peinent avec les configurations audio spécifiques à chaque machine
- Valeur de l'itération sur l'existant - Améliorer un outil fonctionnel est souvent plus complexe qu'en créer un nouveau from scratch
- Boucles infernales inévitables - Les IA peuvent s'auto-saboter en tentant de corriger des erreurs qu'elles ne comprennent pas vraiment
- Importance des rollbacks dans Windsurf - La fonctionnalité "revert to step" permet de revenir en arrière sans Git quand l'IA part en vrille
- Coût élevé des sessions de debugging - Les multiples appels API pour déboguer peuvent rapidement consommer des crédits (10-20€/jour mentionnés)
- Pertinence des modèles selon le contexte - Claude Opus trop cher et bridé, Sonnet 4 efficace mais limité, changement de modèle comme stratégie de déblocage
- Documentation automatique précieuse - L'IA met à jour automatiquement README et documentation, excellente pratique
- Autorisation système risquée - Le mode "autorun" de Windsurf peut installer des packages système automatiquement (potentiellement dangereux)
- Fallback gracieux essentiel - L'outil continue de fonctionner en mode micro seul même si le mixage système échoue
- Différence chat vs write - Utiliser le mode chat pour analyser avant d'implémenter évite les modifications prématurées
- Nécessité de compétences système - Les configurations audio Linux restent complexes même avec l'aide de l'IA
- Limites des API providers - Surcharge des serveurs Anthropic qui interrompt le développement