Hello, avec un pote on a prévu de se faire une petite session de coding pour explorer ce qu’on peut faire de nos jours avec un bon copilote IA et on se tâtait à le faire en streaming. Est-ce que ça intéresserait des gens ici?

Ces derniers mois on en arrive au point où écrire le code devient moins important que de savoir le spécifier et je voulais justement montrer à quel point mon boulot (dev) a changé en quelques mois. Si vous avez envie de faire des programmes mais que l’apprentissage d’un langage de prog vous rebute. c’est le bon moment pour jeter un nouvel œil au domaine.

Petit teaser: https://www.youtube.com/watch?v=n7kvydoo7zc (on aura un meilleur micro, je sais que mon son est pourri là)

  • lascapi@jlai.lu
    link
    fedilink
    Français
    arrow-up
    6
    ·
    18 days ago

    Salut, je trouve ça intéressant, j’aimerai bien voir ça. Vous envisagez de mettre le streaming en ligne ensuite ?

    • keepthepace@slrpnk.netOP
      link
      fedilink
      Français
      arrow-up
      4
      ·
      18 days ago

      Je pense oui. On est des libristes, si on a le temps j’aimerais bien qu’on arrive à mettre en place un truc sur peertube, mais sinon on fera ça sur twitch/youtube avec replay.

  • Sravoryk@jlai.lu
    link
    fedilink
    Français
    arrow-up
    4
    ·
    18 days ago

    Si vous le faites je serais dans le chat (pas l’animal). Ça a l’air amusant.

    • keepthepace@slrpnk.netOP
      link
      fedilink
      Français
      arrow-up
      4
      ·
      18 days ago

      On a pas totalement décidé de ce qu’on va essayer de coder mais une piste serait de tenter de faire les composantes de base d’un jeu en-ligne pour qu’à la fin de la session les utilisateurs du chat puissent au moins se logger, se voir les uns les autres et bouger. Et probablement plus, mais ça dépend justement d’à quel point ces outils boostent notre vitesse de codage.

      • Sravoryk@jlai.lu
        link
        fedilink
        Français
        arrow-up
        3
        ·
        18 days ago

        Je réitère, l’idée à l’air très amusante. Que vous y arriviez ou non dans le temps que vous prévoierez, d’ailleurs.

        • keepthepace@slrpnk.netOP
          link
          fedilink
          Français
          arrow-up
          3
          ·
          18 days ago

          Oui, j’ai aucune idée de jusqu’où on va arriver à aller :-) Dans ma vidéo je fais en 20 minutes ce que je pensais pouvoir faire en 10 mais qui avant m’avait pris plus d’une journée. C’est dur à évaluer, j’ai l’impression de réapprendre tout mon métier.

          • Sravoryk@jlai.lu
            link
            fedilink
            Français
            arrow-up
            1
            ·
            18 days ago

            Très franchement, je pense que si je devais utiliser un IAssistant pour mes algos, je serais complètement PAUMÉ x)

            Raison de plus, générer un prompt, évaluer le résultat et l’intégrer c’est tout sauf trivial. En temps normal, tout ça est implicite entre un cerveau et sa paire de mains. Faut savoir 1) coder 2) formaliser une problématique et exprimer sa solution. On laisse la production à l’IAssistant et on compose avec.

            Après, je dis ça, mais j’ai jamais utilisé d’IAssistant, j’ai encore des trucs à apprendre avant de m’y essayer.

            • keepthepace@slrpnk.netOP
              link
              fedilink
              Français
              arrow-up
              4
              ·
              18 days ago

              C’est clairement un tour de main à prendre. Je l’ai pas encore, mais ça fait bientôt un mois et je l’utilise beaucoup mieux maintenant. Le truc le plus déroutant c’est que là où autrefois ma journée c’était 20 minutes de “bon, qu’est ce que je dois faire là?” et plusieurs heures à le faire, maintenant c’est à 80% du “quelle est la prochaine étape”. Je passe beaucoup plus de temps à réfléchir à l’architecture, au design, aux algos et je me rends compte que c’est les parties que je préfère.

              Après, c’est sur que ça fait un peu drôle de se dire que mes 25 ans d’XP à coder dans différents langages sont en train de disparaître en fumée, mais c’est la bénédiction et la malédiction de la tech: ça bouge vite et on doit tout le temps se réinventer

              Je pense que ces outils vont changer pas mal de pratiques dans le milieu. Cette séance de streaming est aussi une tentative d’essayer d’en parler de façon un peu plus large.

              • Sravoryk@jlai.lu
                link
                fedilink
                Français
                arrow-up
                1
                ·
                18 days ago

                En fin de compte, c’est un outil qui te permet de te concentrer sur la théorie plutôt que la technique. C’est assez logique, t’as accès à une base de connaissance qui va appliquer ton raisonnement, pour « peu » qu’elle comprend ton objectif, et va produire ce que tu lui demandes peu importe la techno.

                Par contre, c’est vraiment sûr que ton expérience de code part en fumée ? Faut savoir coder pour review et corriger l’IAssistant ^^ Je me demande à quel point c’est traître de passer à côté d’un tout piti malloc() scélérat. En vrai je suis sûr qu’il en met pas si tu lui demandes pas.

                En tout cas j’ai hâte de voir le stream si vous en faîtes un !

                • keepthepace@slrpnk.netOP
                  link
                  fedilink
                  Français
                  arrow-up
                  2
                  ·
                  18 days ago

                  Mon expérience sert quand même, mais pas celle du “code”, plus celle de la programmation en général.

                  Pour te donner une idée, j’ai récemment ajouté une fonctionnalité dans une extension VScode, c’est du typescript, un langage que je ne connais pas du tout. Bon ben j’ai décodé un peu, mais je l’ai laissé générer son truc et je lui ai dit là où je pensais que des choses se passent mal et je le laisse “coder”.

  • mat@jlai.lu
    link
    fedilink
    Français
    arrow-up
    3
    ·
    18 days ago

    Pour avoir particuper à un atelir il n’y a pas longtemps, c’est terriblement bluffant. Juste à partir d’un nom de module en elixir, ça générait le code approprié pour débuter un interpréteur de lambda expression

    • keepthepace@slrpnk.netOP
      link
      fedilink
      Français
      arrow-up
      2
      ·
      18 days ago

      Oui, j’avais essayé de copilotes au début de la tendance et c’était pas terrible, mais on m’a forcé à réessayer récemment et c’est devenu impossoible de s’en passer.

      Je me suis également ajouté un module whisperX pour parler à l’IDE. C’est vraiment magique maintenant: je lui dis, en français, ce que je souhaite, et ça me le code. Je râle sur ce qui marche pas, ça le répare!

      • mat@jlai.lu
        link
        fedilink
        Français
        arrow-up
        2
        ·
        18 days ago

        Dans notre contexte c’était effrayant parce que le code généré était bon alors qu’on a fait quelques boulettes XD Après pour modérer un peu la chose, c’est comme le mec qui a fait générer un pacman à chatgpt en python. Bourriner des LLMs pour générer du python en le guidant fortement on est au niveau -1 de l’efficience énergétique et quand on regarde la conso des datacenters je sais pas si c’est vraiment pertinent comme utilusation.

        • keepthepace@slrpnk.netOP
          link
          fedilink
          Français
          arrow-up
          2
          ·
          edit-2
          18 days ago

          Je pense qu’un dev qui met un jour à coder sur son desktop avec son alim à 300W et son écran à 100W consomment probablement plus que quelques requêtes à des LLMs qui vont faire la chose en 5 minutes.

          On a testé des modèles locaux, ils sont pas mauvais mais clairement moins souvent corrects qu’un Claude-sonnet-3.5 par exemple, mais eux serait clairement plus efficaces énergétiquement.

          Après, je trouve qu’on en fait des caisses sur la conso énergétique de ces modèles. Quand on regarde les quantités en jeu, c’est franchement pas énorme. Les journalistes ont tendance à confondre l’énergie utilisée à l’entraînement et à l’inférence, à parler de la conso des datacenters pour parler de celle de l’IA (minoritaire aujourd’hui). Y a des critiques à faire, surtout sur le modèle centralisé que quelques boites poussent (OpenAI, Anthropic) mais la conso énergétique, je pense que c’est pas l’angle le plus raisonnable.

          • mat@jlai.lu
            link
            fedilink
            Français
            arrow-up
            1
            ·
            18 days ago

            Dans ce que j’entends sur l’aspect énergétique (et je me suis pas forcément bien exprimé dessus) c’est plus tout l’aspect autour des ressources matérielles et énergétiques de a à z : production du matériel, entrainement (en vrai comme beaucoup en informatique c’est pas l’exploitation qui consomme le plus mais bien le développement (dans un sens très large) (et encore, la boite d’evernote se vante de faire tourner 20k GPU pour un modèle d’amélioration des photos alors qu’en vrai, c’est pas essentiel). Et dans le cas que j’évoquais c’était surtout le fait de faire générer du python… quitte à avoir des IA pour faire le gros du travail, autant générer dans des langages plus efficients à l’exécution. In fine, je me suis lancé dans un tunnel mais ça dérivait un max sur du sociétal XD

            • keepthepace@slrpnk.netOP
              link
              fedilink
              Français
              arrow-up
              1
              ·
              18 days ago

              Alors sur le fait que Python soit pas efficace, je te rejoins totalement. Personnellement, on va le faire en Python parce que c’est un langage dans lequel on est à l’aise et qui est populaire en ce moment. Ça aurait été ça ou JavaScript, mais moi je suis moins à l’aise dans JavaScript.

              Mais par contre, un des trucs qui se passe avec ces générateurs, c’est qu’on peut justement plus facilement s’adresser à des langages plus ardus. Je pourrais faire des choses en C, j’ai déjà fait générer du C mais pour de l’arduino, pas des choses super compliquées. Mais une des choses qui est intéressante c’est que pour lui faire faire du Rust par exemple, pour parler d’un langage efficace et moderne mais bien ardu, il n’est pas mauvais et c’est quelque chose auquel je me remets doucement.

              Enfin, on est vraiment juste en train de gratter la surface du truc. Ce que je pense, c’est qu’à terme on va changer fondamentalement certains langages de programmation. Voir qu’on va inventer de nouveaux langages de programmation autour de ces technologies, autour de ce qu’ils sont capables de faire.

              • mat@jlai.lu
                link
                fedilink
                Français
                arrow-up
                2
                ·
                18 days ago

                Mon point de vue c’est que si on commence à inventer des langages dans lesquels on ne peut développer qu’avec des LLMs, c’est qu’on empire la pile de technologies douteuses qu’est l’informatique (cf un processeur moderne qui se fait passer via C et l’OS pour un processeur de pdp 11 ça donne des failles comme Spectre et Meltdown)… et que même pour générer le C, ça veut pas dire que le code généré n’a pas de fuite mémoire par exemple, ce qu’on cherche à éviter avec Rust et du coup, tu peux générer du code foireux plus vite. Je vois l’intérêt pour les ESN qui doivent vendre des bugs mais derrière si tu veux un paysage plus fiable c’est pas forcément si intéressant, d’autant que ça soulève énormément de questions non techniques et là-dessus, je pense que les ingénieurs et les développeurs devraient arrêter de se palucher sur le progrès technique peu importe le reste (comme a fait le créateur de Yolo qui a fini par arrêter la vision par ordinateur parce que l’usage qui s’est le plus démocratisé c’est la surveillance de masse)

                • keepthepace@slrpnk.netOP
                  link
                  fedilink
                  Français
                  arrow-up
                  1
                  ·
                  18 days ago

                  C’est un débat qui a lieu depuis qu’on a commencé à avoir des compilateurs et des langages en fait, sur le niveau de contrôle qu’on souhaite avoir. Rappelons que la baseline contre laquelle on se compare là, c’est pas un programme parfait, c’est un programme fait par un humain moyen.

                  Pour avoir du bon code, on fait comme on fait quand on emploie des stagiaires ou des mauvais programmeurs: on relit, on écrit des tests. Ça reste de l’ingénierie.

                  En fait je pense que l’approche de réécrire des langages pour les LLMs, ça permettrait de probablement augmenter le niveau de contrôle des humains sur le code en rendant plus de choses explicites, en imposant une certain verbosité. Par exemple, avec du code généré, l’inférence de type est moins nécessaire. Une autre tendance m’a surpris: plutôt que d’ajouter une dépendance, je peux beaucoup plus facilement lui dire de rajouter les quelques fonctionnalités dont j’ai besoin, diminuant la surface d’attaque.

                  l’usage qui s’est le plus démocratisé c’est la surveillance de masse

                  N’exagérons rien, ça sert aussi à guider des missiles.

  • wazoox@jlai.lu
    link
    fedilink
    Français
    arrow-up
    2
    ·
    18 days ago

    “Savoir définir et spécifier le code” a toujours été beaucoup, beaucoup plus important que “savoir pisser du code”, pour info :)

    • keepthepace@slrpnk.netOP
      link
      fedilink
      Français
      arrow-up
      2
      ·
      18 days ago

      En théorie, oui, en pratique, dans ma vie pro, savoir pisser du code sans attendre que le client arrive à comprendre assez ses besoin pour produire une spec, c’est extrêmement important!

      Mais ce que je veux surtout dire, c’est que si tu sais coder, t’auras des choses qui marchent. Si tu sais spécifier ton besoin, t’auras quand même besoin de quelqu’un pour les implémenter. On arrive au moment où cette dernière contrainte est en train de sauter.