23 points par GN⁺ 2025-02-05 | 4 commentaires | Partager sur WhatsApp
  • Le chat est un mauvais modèle d’interface utilisateur pour un outil de développement

    • Il est utile que le code exige de la précision de la part des humains, car les ordinateurs ont besoin de précision
    • Mais cela force les humains à penser comme des machines
    • Depuis des décennies, on cherche à rendre la programmation plus adaptée aux humains. Les langages de haut niveau et les interfaces visuelles en sont des exemples
    • On attendait de l’IA qu’elle résolve ce problème. L’espoir était de pouvoir programmer en anglais
  • La première vague d’outils de codage IA

    • Les premiers outils de codage IA ont gaspillé cette opportunité. Ils produisent des démos spectaculaires, mais génèrent des logiciels inutiles
    • On les présente tout au plus comme des outils de “prototypage”, mais leur précision reste insuffisante pour un usage réel
    • Beaucoup blâment les modèles d’IA en affirmant qu’ils devraient être plus intelligents
    • Mais pour construire des logiciels importants, il faut une compréhension claire, pas des suppositions
  • Écrire du logiciel n’est pas une conversation

    • Écrire du logiciel ressemble à la rédaction du droit. On utilise l’anglais, mais on définit les termes, on établit des règles et on gère des interactions complexes
    • On ne peut pas rédiger un code fiscal avec des messages de chat. Il faut des documents
    • Les documents permettent d’organiser la complexité, de se référer à des points précis et de suivre systématiquement les modifications
  • L’importance de la programmation fondée sur des documents

    • Lorsque l’intention se trouve dans les documents, l’anglais devient un véritable langage de programmation
    • On peut voir l’ensemble du système d’un seul coup d’œil
    • On peut clarifier et améliorer l’intention
    • On peut suivre correctement les changements
    • L’équipe peut travailler ensemble sur le système
    • Les exigences deviennent leur propre contrôle qualité
    • Les changements commencent par une spécification claire
  • Le cœur de la prochaine étape des outils de développement IA

    • La manière d’exprimer et de gérer l’intention de l’utilisateur sur une base documentaire va devenir essentielle
    • Il faut des outils qui apportent la précision nécessaire au véritable développement logiciel, et non à un prototypage conversationnel
    • Les entreprises qui adopteront correctement cette approche dirigeront l’avenir des outils de développement IA

4 commentaires

 
softer 2025-02-06

J’ai aussi entendu dire qu’ils essaient d’intégrer des graphes de connaissances pour soutenir les LLM, et que ce serait efficace.

 
beoks 2025-02-05

Le titre affirme qu’une interface de chat n’est pas adaptée, mais le contenu explique plutôt que le vrai problème, ce sont les demandes ambiguës.
On dirait que cela pourrait être résolu en demandant à l’IA, via un format de chat, de clarifier immédiatement les ambiguïtés dans la requête de l’utilisateur.
Je ne vois pas pourquoi il faudrait s’en prendre spécifiquement à l’interface de chat.

 
jhj0517 2025-02-05

Oh, c’est un avis à la fois intéressant et assez parlant 😊

 
GN⁺ 2025-02-05
Avis Hacker News
  • Un utilisateur explique avoir mené un projet de génération de code avec o3-mini et o3-mini-high, en soulignant l’importance d’une approche de « pair programming »

    • Il insiste sur l’importance de la revue de code et du feedback, et précise qu’accepter simplement le code tel quel n’est pas une bonne pratique
    • Il mentionne l’importance de générer des tests unitaires, puis de demander des smoke tests après avoir cerné le cœur du code
    • Il conseille de démarrer une nouvelle conversation, car le modèle peut se perdre dans un contexte trop long
    • Il recommande de fournir des exemples de code et de ne pas écrire les prompts uniquement en anglais
  • Un autre utilisateur affirme que le chat est un mauvais pattern d’UI, en expliquant qu’il est utile comme archive, mais peu adapté à l’exécution de tâches

    • Il ajoute qu’une approche narrative n’est pas adaptée à la fabrication de choses
  • Un autre utilisateur se dit surpris que Cursor ne soit pas mentionné, expliquant que Cursor a considérablement accéléré sa vitesse d’écriture de code

    • Il précise que les sorties s’appliquent aux fichiers dans un style git-diff, ce qui permet d’approuver ou de rejeter les modifications
    • Il mentionne que l’outil comprend dans une certaine mesure le contexte de la base de code et fonctionne le mieux lorsqu’on tague explicitement les fichiers
    • Il explique qu’il est très pratique d’insérer directement les logs du terminal ou les erreurs de typage dans l’interface de chat
  • Un utilisateur affirme que « utiliser le chat comme UX » est une impasse, en prenant l’exemple de SQL

    • Il prédit que les interfaces de chat basées sur les LLM ne seront pas exposées directement aux utilisateurs
    • Il mentionne que les interfaces en langage naturel ne seront utilisées que dans des cas exceptionnels d’interaction avec les machines
  • Il est expliqué que le langage naturel n’a pas été conçu pour la précision et que, pour communiquer avec l’IA, un sous-ensemble de langage de programmation est nécessaire

  • À propos de l’avis de Daniel, il est précisé qu’il ne s’agit pas d’affirmer que le chat est en général une UI inconfortable, mais que spécifier complètement un programme informatique demande énormément de détails

    • Il est expliqué que les LLM comblent l’ambiguïté avec de bons choix par défaut et fournissent par exemple un écran de connexion générique
  • Il est mentionné qu’on attend avec intérêt une expérience de type Cursor implémentée en voix, permettant de discuter des modifications de code

  • Une approche visant à faire progresser le développement logiciel piloté par l’IA à partir d’un document d’exigences est décrite, avec un exemple consistant à transformer les exigences en checklist pour s’en servir comme instructions supplémentaires

  • Il est expliqué que la première vague n’était pas le chat, mais la complétion, le chat étant plus intuitif et demandant moins d’effort

    • Il est également précisé que les documents ne sont pas figés et peuvent être révisés de manière itérative via l’IA
  • Il est mentionné qu’on attend des modèles de langage structurés capables de décrire des programmes informatiques en inventant un nouveau langage