<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>LLM - Tag - Jordan Chapuy - Blog d'un développeur passionné ❤️</title><link>https://jordanchapuy.com/tags/llm/</link><description>LLM - Tag - Jordan Chapuy - Blog d'un développeur passionné ❤️</description><generator>Hugo -- gohugo.io</generator><language>fr</language><lastBuildDate>Sat, 18 Jul 2026 16:41:26 +0200</lastBuildDate><atom:link href="https://jordanchapuy.com/tags/llm/" rel="self" type="application/rss+xml"/><item><title>Kimi K3, le nouveau meilleur modèle IA de tous les temps (ou pas)</title><link>https://jordanchapuy.com/posts/2026/07/kimi-k3-le-nouveau-meilleur-modele-ia-llm-de-tous-les-temps-ou-pas/</link><pubDate>Sat, 18 Jul 2026 16:41:26 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/07/kimi-k3-le-nouveau-meilleur-modele-ia-llm-de-tous-les-temps-ou-pas/</guid><description><![CDATA[<p>Le mois dernier, j&rsquo;écrivais un article pour expliquer qu&rsquo;<a href="https://jordanchapuy.com/posts/2026/06/le-meilleur-modele-ia/" rel="">il n&rsquo;y a pas de &ldquo;meilleur&rdquo; modèle d&rsquo;intelligence artificielle</a>, que les classements changent constamment et qu&rsquo;il faut surtout revenir à une chose importante : <strong>notre besoin</strong>.</p>
<p>Il n&rsquo;a pas fallut attendre longtemps. Tout récemment (on parle de 48h à peine), un nouveau modèle a été dévoilé et la situation illustre bien ce que je disais. Souhaitons la bienvenue à Kimi K3, le nouveau nouveau meilleur.</p>
<p>Comme d&rsquo;habitude, ça fait sensation. Si on regarde les créateurs de contenu, les influenceurs et même certains médias (ce qui est ecnore plus triste), tout le monde lâche ses plus beaux superlatifs : <em>&ldquo;C&rsquo;est le meilleur&rdquo;</em>, <em>&ldquo;Ça va tout tuer&rdquo;</em>, <em>&ldquo;Fable 5 est déjà dépassé&rdquo;</em>. Bon, si on regarde dans le passé, c&rsquo;est systématiquement la même chanson à chaque sortie de grand modèle.</p>
<p>J&rsquo;ai envie d&rsquo;en profiter pour prendre tout ça à contrepied, apporter de la <strong>nuance</strong> et sortir de cette logique de faire du sensationnel pour avoir des vues.</p>
<h2 id="un-point-sur-les-benchmarks">Un point sur les benchmarks</h2>
<p>Qu&rsquo;est-ce que ça veut dire concrètement, <em>&ldquo;être meilleur&rdquo;</em> ?</p>
<p>Souvent, l&rsquo;élément phare cité dans les articles/vidéos/newsletter est un benchmark. <em>Un tel</em> est le nouveau meilleur parce qu&rsquo;il a gagné plus de points que <em>l&rsquo;autre</em>.</p>
<p>Mais rappellons quelques éléments :</p>
<ul>
<li>les benchmarks sont plus ou moins fiables, ils mesurent une fration des capacités et sont parfois purement subjectifs,</li>
<li>c&rsquo;est arrivé que certains modèles ont été (in)volontairement entraînés sur des benchmarks, ce qui fausse la donne,</li>
<li>on a vu plusieurs fois des modèles devenir &ldquo;moins bon&rdquo; un peu après la release,</li>
<li>le classement bouge sans cesse, pas de quoi se précipiter à changer.</li>
</ul>
<p>Donc le benchmark, oui c&rsquo;est un moyen de comparer, mais il ne faut pas rester dessus. Je pense qu&rsquo;il faudrait plutôt garder ça comme un moyen d&rsquo;avoir un <strong>aperçu</strong>, un <strong>tri</strong> rapide.</p>
<p>Là comme ça, j&rsquo;ai l&rsquo;idée de l&rsquo;atelier <strong>eXtreme quotation</strong> qui me traverse l&rsquo;esprit - <em>ce modèle fait partie da la famille du top top (XL), ou non plutôt basique (du M)</em>.</p>
<h2 id="kimi-k3-en-surface">Kimi K3, en surface</h2>
<p>Parlons maintenant de Kimi K3 pour donner du contexte. C&rsquo;est un modèle open-source de 2,8 billions de paramètres, qui rivalise avec les géants propriétaires sur certains tests de programmation, et qui occupe même la première place du classement Arena.ai pour le code front-end.</p>
<p>Il est devant Fable 5, qui était jusque-là le nouveau roi avec GPT 5.6 Sol, et tout ça, pour un prix bien inférieur.</p>
<table>
<thead>
<tr>
<th>Modèle</th>
<th>1M en Input</th>
<th>1M en Output</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Kimi K3</strong></td>
<td>3$</td>
<td>15$</td>
</tr>
<tr>
<td><strong>Claude Fable 5</strong></td>
<td>10$</td>
<td>50$</td>
</tr>
<tr>
<td><strong>GPT 5.6 Sol</strong></td>
<td>5$</td>
<td>30$</td>
</tr>
</tbody>
</table>
<p>Donc en résumé, on a mieux et moins chère. Que demander de plus ?</p>
<h2 id="en-profondeur">En profondeur</h2>
<p>Ce qui m&rsquo;a donné envie d&rsquo;écrire, c&rsquo;est <a href="https://www.youtube.com/watch?v=MeYdaNnXuHI" target="_blank" rel="noopener noreffer">une vidéo</a> du créateur Chase AI. Il a sorti une comparaison intéressante entre Kimi K3, Claude Fable 5 et GPT 5.6 (ou ChatGPT).</p>
<p>Déjà, on commence à voir de la nuance - il y a d&rsquo;autres aspects qui sont analysés. Par exemple, la rapidité, les hallucinations, l&rsquo;économie des tokens, etc. On ne reste pas juste sur le classement de quelques benchmarks. Et c&rsquo;est intéressant car on voit que ça pêche sur certains points.</p>
<p>Je ne vais pas tout détailler, car mon but n&rsquo;est pas de descendre Kimi K3 ou d&rsquo;encenser Fable 5, on s&rsquo;en fout. Mais plutôt de montrer que la réponse est plus complexe qu&rsquo;il n&rsquo;y paraît. Donc rapidement, quelques aspects :</p>
<ul>
<li>La <em><strong>&ldquo;consommation de token&rdquo;</strong></em> : Pour une même tâche, pour un même prompt, chaque modèle va consommer plus ou moins de tokens. Kimi est réputé pour en gaspiller beaucoup plus.</li>
<li>Le <em><strong>&ldquo;coût par tâche&rdquo;</strong></em> : Un comparaison du coût réel pour accomplir une tâche complexe. Kimmy K3 (0,95 $) est légèrement moins cher que GPT 5.6 (1,04 $), mais Fable 5 est beaucoup plus onéreux (2,75 $). Malgré le &ldquo;coût par token&rdquo; très faible de Kimi, le coût réel ne se démarque pas autant des autres à cause d&rsquo;une plus grande consommation d&rsquo;un côté / d&rsquo;un meilleur optimisation de l&rsquo;autre côté.</li>
<li>L&rsquo; <em><strong>&ldquo;index d&rsquo;omniscience&rdquo;</strong></em> : C&rsquo;est une mesure sur la fiabilité des réponses et la quantité d&rsquo;hallucinations. Fable score 40 points sur 100, GPT score 22, Kimi score 18.</li>
<li>La <em><strong>&ldquo;vitesse d&rsquo;exécution&rdquo;</strong></em> : Kimi est plus lent que ses copains Fable et GPT.</li>
</ul>
<p>On s&rsquo;éloigne finalement un peu de la hype qui entoure sa sortie et de tous les superlatifs. Finalement, il y a du bon et du moins bon, on nuance, on mitige. On n&rsquo;est plus trop sur le fameux &ldquo;<em>Fable-killer</em>&rdquo;.</p>
<h2 id="le-cas-pratique">Le cas pratique</h2>
<p>J&rsquo;aime bien aussi l&rsquo;expérience que montre Chase AI dans sa vidéo. Il a fait créer un dashboard de voyage avec la planète en 3D aux trois modèles, avec les mêmes instructions. On obtient des informations concrètes à analyser.</p>
<table>
<thead>
<tr>
<th>Modèle</th>
<th>Tokens consommés</th>
<th>Temps de réalisation</th>
<th>Coût réel</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Kimi K3</strong></td>
<td>21,5 millions</td>
<td>1 heure 33 minutes</td>
<td>8,66 $</td>
</tr>
<tr>
<td><strong>Claude Fable 5</strong></td>
<td>3,5 millions</td>
<td>17 minutes</td>
<td>11,64 $</td>
</tr>
<tr>
<td><strong>GPT 5.6 Sol</strong></td>
<td>5,6 millions</td>
<td>25 minutes</td>
<td>5,66 $</td>
</tr>
</tbody>
</table>
<p>Dans ce cadre là, Kimi K3 s&rsquo;avère être un énorme consommateur de tokens. Pour la même demande, il a englouti 21,5 millions de tokens là où Fable 5 n&rsquo;en a consommé que 3,5 millions. Donc oui, Fable coûte plus cher au token mais il a été drastiquement plus efficace. Le prix final ne reflète pas la simple grille tarifaire. GPT 5.6 s&rsquo;avère même être le moins cher des trois.</p>
<p>Le temps d&rsquo;exécution est un autre indicateur. Là où Kimi K3 a ramé pendant plus d&rsquo;une heure et demie, Fable 5 a plié l&rsquo;affaire en 17 minutes et ChatGPT en 25 minutes.</p>
<p>Attention, cette expérience est imparfaite et unique. Ça ne vaut aucune vérité. Il faut aussi voir la qualité du rendu (subjectif) et surtout avoir bien plus d&rsquo;expériences. Et probablement avoir une approche plus scientifique. Je m&rsquo;appuie simplement sur ces résultats pour démontrer qu&rsquo;il faut relativiser.</p>
<h2 id="retour-à-la-base">Retour à la base</h2>
<p>Tout ça pour rappeler quelque chose que j&rsquo;aime bien dire : <strong>quel est notre besoin</strong> ? Selon ce que l&rsquo;on souhaite entreprendre, on aura besoin d&rsquo;un outil moins cher, d&rsquo;un modèle qui hallucine moins, d&rsquo;une exécution plus rapide ou d&rsquo;une plus grande qualité. Et puis, il y a différents domaines - un modèle peut exceller en design frontend et être à la traîne sur des questions scientifiques ou de la rédaction pure.</p>
<p>Donc sortons du sensationnalisme facile. Apportons de la nuance et restons centrés sur nos besoins réels.</p>
]]></description></item><item><title>Ma première fois avec un agent IA - un guide accessible pour démarrer</title><link>https://jordanchapuy.com/posts/2026/07/ma-premiere-fois-avec-un-agent-ia-un-guide-accessible-pour-demarrer/</link><pubDate>Sat, 18 Jul 2026 08:30:00 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/07/ma-premiere-fois-avec-un-agent-ia-un-guide-accessible-pour-demarrer/</guid><description><![CDATA[<p>Vous utilisez déjà un chat (ChatGPT, Claude, Gemini) pour formuler un mail, débloquer un problème, rédiger une newsletter ? Très bien. C&rsquo;est probablement le point de départ le plus simple pour jouer avec une IA. Aujourd&rsquo;hui je vous propose de faire un pas en avant vers les agents.</p>
<p>Avec les agents IA, on ne demande plus seulement une réponse dans une conversation. On installe l&rsquo;agent quelque part avec des fichiers, du contexte, des règles, des pouvoirs. Et là, il peut commencer à travailler dans un environnement, pas seulement répondre dans une fenêtre de chat.</p>
<p>C&rsquo;est ce qui m&rsquo;intéresse dans cet article : <strong>faire un premier pas concret</strong>. Pas devenir expert en automatisation, gestion de la mémoire, ou autres concepts qui gravitent autour. Non, juste créer un premier workspace IA, lancer une vraie tâche, et comprendre pourquoi ça change autant de choses.</p>
<p>Derrière ce titre à double sens, je vous propose donc un début accessible pour tous. Pas besoin d&rsquo;être tech.</p>
<blockquote>
<p>Rappel important : les IA (agent ou chat) peuvent réutiliser vos données. Faites attention au service et type d&rsquo;abonnement que vous utilisez, et aux informations que vous communiquez.</p>
</blockquote>
<h2 id="du-chat-à-lagent-il-manque-surtout-un-espace-de-travail">Du chat à l&rsquo;agent, il manque surtout un espace de travail</h2>
<p>Dans <a href="https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/" rel="">l&rsquo;article précédent sur les agents IA</a>, je donnais l&rsquo;image d&rsquo;une boucle pour définir un agent : observer, décider, agir, observer à nouveau.</p>
<p>Un chat classique répond à ce qu&rsquo;on lui donne. Si on oublie un contexte, il ne l&rsquo;a pas. Si on veut qu&rsquo;il reformate un fichier, il faut lui donner, expliquer la structure, récupérer le résultat, et le ranger quelque part. Ça marche, mais <strong>on finit vite par être l&rsquo;assistant de notre propre assistant IA</strong>.</p>
<p>Un agent, lui, devient vraiment intéressant quand il a un endroit où travailler. Un dossier, des fichiers, des consignes, des exemples, du contexte, des notes, etc. Il devient davantage autonome pour atteindre un objectif.</p>
<p>Et c&rsquo;est là-dessus qu&rsquo;on va se concentrer. Notre premier pas avec les agents IA, ce ne sera pas d&rsquo;écrire le prompt parfait, ni de trouver le meilleur modèle ou plateforme. Ce sera de <strong>créer un espace où l&rsquo;agent peut comprendre notre contexte, poser les bonnes questions, puis produire quelque chose qui nous correspond.</strong></p>
<p>Ah, et bonne nouvelle, ce premier espace est très simple à préparer.</p>
<h2 id="choisir-une-application-sans-en-faire-une-religion">Choisir une application, sans en faire une religion</h2>
<p>Pour travailler avec un agent sur notre ordinateur, il faut généralement une application qui peut accéder à un dossier local, lire et manipuler des fichiers, lancer des commandes. C&rsquo;est ce qui permet de passer du &ldquo;chat&rdquo; à un &ldquo;agent qui travaille dans un projet&rdquo;.</p>
<p>Aujourd&rsquo;hui, on trouve plusieurs outils grand public dans cette famille : <a href="https://claude.com/fr/product/cowork" target="_blank" rel="noopener noreffer">Claude Cowork</a> côté Anthropic, <a href="https://chatgpt.com/fr-FR/codex/" target="_blank" rel="noopener noreffer">ChatGPT Codex</a> côté OpenAI, <a href="https://antigravity.google/" target="_blank" rel="noopener noreffer">Antigravity</a> côté Google, <a href="https://cursor.com/fr/home" target="_blank" rel="noopener noreffer">Cursor</a> en précuseur pour les devs, et sûrement d&rsquo;autres au moment où vous lirez ces lignes. Ce sont des applications à télécharger et installer sur un ordinateur.</p>
<p>Lequel choisir ? Honnêtement, pour commencer, je trouve que c&rsquo;est moins important que le système que vous mettez en place autour.</p>
<p>Les modèles progressent vite, les abonnements changent, les limites bougent, et chacun aura ses préférences selon ses usages. J&rsquo;en parlais déjà dans <a href="https://jordanchapuy.com/posts/2026/06/le-meilleur-modele-ia/" rel="">mon article sur le &ldquo;meilleur&rdquo; modèle IA</a> : la bonne réponse dépend du contexte. Pour mes besoins actuels, j&rsquo;ai une préférence pour Codex, avec Claude pas loin derrière. Mais ce n&rsquo;est pas une véritée absolue.</p>
<p>L&rsquo;important, pour ce premier exercice, c&rsquo;est surtout de choisir un outil capable d&rsquo;ouvrir un dossier de travail et d&rsquo;agir sur des fichiers. Faites votre choix puis installez l&rsquo;application sur votre ordinateur. Une fois que vous avez ça, on peut préparer l&rsquo;espace de travail.</p>
<h2 id="préparer-un-premier-workspace-ia">Préparer un premier workspace IA</h2>
<p>On va partir sur une structure volontairement simple pour notre espace de travail. Ce n&rsquo;est pas <em>la bonne structure</em>. C&rsquo;est une structure <strong>pour commencer</strong>, que vous adapterez ensuite à votre façon de travailler et au fil de vos découvertes.</p>
<blockquote>
<p>Une précision. Quand je parle d&rsquo;espace de travail ou workspace, c&rsquo;est tout simplement un dossier que vous ouvrirez avec votre application. L&rsquo;agent pourra jouer avec tout ce qu&rsquo;il y a à l&rsquo;intérieur.</p>
</blockquote>
<p>Vous allez donc devoir créer un dossier &ldquo;workspace&rdquo; où bon vous semble (sur votre bureau, dans vos documents) et avec le nom que vous souhaitez. Il faudra ensuite créer cet ensemble de dossiers et fichiers à l&rsquo;intérieur du dossier workspace, qui correspond à notre structure :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">workspace/
</span></span><span class="line"><span class="cl">├── 00-contexte/
</span></span><span class="line"><span class="cl">│   ├── a-propos-de-moi.md
</span></span><span class="line"><span class="cl">│   ├── mon-style.md
</span></span><span class="line"><span class="cl">│   └── regles.md
</span></span><span class="line"><span class="cl">├── 01-projets/
</span></span><span class="line"><span class="cl">│   └── premier-projet/
</span></span><span class="line"><span class="cl">│       └── ...
</span></span><span class="line"><span class="cl">├── 02-templates/
</span></span><span class="line"><span class="cl">│   └── modele-xyz.md
</span></span><span class="line"><span class="cl">└── 03-livrables/
</span></span></code></pre></div><p>Ici, plusieurs solutions. Via votre explorateur de fichier / Finder. Via Obsidian. Via un IDE ou en terminal. Peu importe. Ou sinon&hellip; pourquoi ne pas demander à un agent ? Après tout, on vient de dire qu&rsquo;il peut manipuler des fichiers dans son espace de travail, alors profitons-en.</p>
<p>Faisons notre toute première tâche avec un agent :</p>
<ul>
<li>Lancez donc votre application (pour rappel, il s&rsquo;agit de Claude Cowork, ChatGPT Codex, etc).</li>
<li>Ouvrez votre dossier &ldquo;workspace&rdquo; (selon l&rsquo;application, il faut créer un projet en ciblant le dossier).</li>
<li>Démarrez une nouvelle conversation (en ciblant bien le dossier/projet) et demandez lui de travailler durement !</li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">Crée l&#39;arborescence de dossiers et les fichiers vides suivants dans mon workspace actuel :
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">workspace/
</span></span><span class="line"><span class="cl">├── 00-contexte/
</span></span><span class="line"><span class="cl">│   ├── a-propos-de-moi.md
</span></span><span class="line"><span class="cl">│   ├── mon-style.md
</span></span><span class="line"><span class="cl">│   └── regles.md
</span></span><span class="line"><span class="cl">├── 01-projets/
</span></span><span class="line"><span class="cl">│   └── premier-projet/
</span></span><span class="line"><span class="cl">│       └── ...
</span></span><span class="line"><span class="cl">├── 02-templates/
</span></span><span class="line"><span class="cl">│   └── modele-xyz.md
</span></span><span class="line"><span class="cl">└── 03-livrables/
</span></span></code></pre></div><figure><a href="images/agent-creation-workspace.png"></a><figcaption>
            <p><em>Capture d&rsquo;écran d&rsquo;un agent qui a créé la structure.</em></p>
        </figcaption>
</figure>

<p><em>Et voilà</em>. J&rsquo;en profite pour une rapide explication, à quoi servent chacun de ces dossiers ?</p>
<ul>
<li><code>00-contexte</code> contient ce que vous ne voulez pas répéter à chaque fois : qui vous êtes, comment vous travaillez, votre style, vos règles.</li>
<li><code>01-projets</code> contient les informations et documents propres à chaque projet en cours. On peut imaginer des projets <code>ma newsletter jardinage</code> et <code>ma super entreprise de plomberie</code> par exemple.</li>
<li><code>02-templates</code> garde la définition de vos formats à réutiliser. Le template d&rsquo;une newsletter par exemple (les sections, la description de chaque section, etc), ou d&rsquo;un mail de prospection.</li>
<li><code>03-livrables</code> sert à ranger ce que l&rsquo;agent produit.</li>
</ul>
<p>Vous pouvez évidemment faire autrement. Ajouter un dossier <code>archives</code> pour les projets terminés. Un dossier <code>ressources</code> pour capturer des articles, posts, vidéos ou notes. On peut aussi définir des règles et styles par projet plutôt que pour tout le workspace. Ou partir sur une structure plus proche d&rsquo;un wiki, comme <a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f" target="_blank" rel="noopener noreffer">le wiki proposé par Andrej Karpathy</a>.</p>
<p>Ce qui compte, c&rsquo;est que ça corresponde à vos besoins et que l&rsquo;agent puisse se repérer sans que l&rsquo;on doive tout réexpliquer à chaque prompt.</p>
<h2 id="les-premières-informations-de-contexte">Les premières informations de contexte</h2>
<p>Dans le dossier <code>00-contexte</code>, on va créer trois fichiers Markdown.</p>
<blockquote>
<p>Petite parenthèse sur Markdown : c&rsquo;est un format de texte très simple, avec quelques symboles pour la mise en forme (gras, titre, liens). Vous pouvez <a href="https://jordanchapuy.com/posts/2026/07/apprendre-l-essentiel-du-markdown-en-5-minutes-guide" rel="">apprendre le Markdown en 5 minutes avec mon guide</a>. Au pire, vous écrivez du texte sans aucune mise en forme ou n&rsquo;utilisez que des titres avec <code>#</code> et des listes avec <code>-</code>.</p>
<p>Son gros avantage, c&rsquo;est qu&rsquo;il est lisible partout. C&rsquo;est du texte. On reste propriétaire de nos fichiers, et les modèles IA comprennent parfaitement ce format.</p>
</blockquote>
<h3 id="a-propos-de-moimd"><code>a-propos-de-moi.md</code></h3>
<p>Ce fichier sert à donner le contexte humain, perso et professionnel. Qui vous êtes, ce que vous faites, vos sujets, vos objectifs, vos contraintes, vos rôles, vos domaines, etc.</p>
<p>L&rsquo;idée n&rsquo;est pas d&rsquo;écrire une autobiographie complète. L&rsquo;idée est d&rsquo;éviter de répéter à chaque demande : &ldquo;je suis indépendant&rdquo;, &ldquo;je suis expert en&rdquo;, &ldquo;mes clients sont&rdquo;, etc. Pensez donc à <strong>tout ce qui sera utile à l&rsquo;agent pour réussir les objectifs</strong> que vous lui donneraient.</p>
<p>Commencez simplement, et <strong>améliorez-le au fil du temps</strong>.</p>
<p>Pour donner des exemples tout au long de cet article, imaginons un personnage fictif :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># À propos de moi
</span></span></span><span class="line"><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="cl">Je suis Arthur, président de l&#39;association &#34;La Table Ronde&#34;.
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Je gère une équipe de chercheurs sur le terrain (les &#34;chevaliers&#34;). 
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Mon rôle est de suivre leurs avancées et de valider l&#39;utilisation de notre budget annuel (financement de l&#39;association).
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">Mes priorités quotidiennes :
</span></span><span class="line"><span class="cl"><span class="k">1.</span> Cartographier précisément les zones explorées pour éviter les doublons.
</span></span><span class="line"><span class="cl"><span class="k">2.</span> Suivre les indices concrets (sources historiques, pistes archéologiques).
</span></span><span class="line"><span class="cl"><span class="k">3.</span> Surveiller les dépenses logistiques (frais de déplacement, tavernes, équipement).
</span></span></code></pre></div><h3 id="mon-stylemd"><code>mon-style.md</code></h3>
<p>Ce fichier décrit votre façon d&rsquo;écrire et communiquer. Le ton, niveau de détail, structure, mots à éviter. Ajoutez aussi des <strong>exemples</strong> et <strong>contre-exemples</strong> pour aider l&rsquo;agent à comprendre votre plume. Les exemples sont très puissant, mettez-en !</p>
<p>J&rsquo;en profite pour glisser une astuce : utilisez votre agent pour vous aider à remplir ce type de fichiers. Vous pouvez lui demander de vous aider avec une suite de questions/réponses par exemple. Ou vous pouvez lui fournir des textes que vous avez rédigés. À vous de voir.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># Mon style
</span></span></span><span class="line"><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Ton :** Direct, pragmatique, professionnel mais accessible.
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Structure :** Toujours utiliser des listes à puces et des tableaux pour les chiffres. Pas de longs paragraphes.
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Niveau de détail :** Synthétique.
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Formulations à éviter :** 
</span></span><span class="line"><span class="cl">    <span class="k">-</span> Supprimez toutes les formules de politesse excessives (pas de &#34;noble roi&#34;, &#34;Sire&#34;, &#34;seigneur&#34;) 
</span></span><span class="line"><span class="cl">    <span class="k">-</span> Aucune expression vague (&#34;on a cherché partout&#34;, &#34;pas mal d&#39;argent&#34;). Je veux des faits précis.
</span></span></code></pre></div><h3 id="reglesmd"><code>regles.md</code></h3>
<p>Ce fichier pose les règles de fonctionnement de l&rsquo;agent. Ce qu&rsquo;il doit faire, éviter, demander, où il doit écrire les résultats, comment nommer les fichiers. Et aussi comment fonctionne notre espace de travail.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl"><span class="gh"># Règles de fonctionnement de l&#39;agent
</span></span></span><span class="line"><span class="cl"><span class="gh"></span>
</span></span><span class="line"><span class="cl">Tu dois respecter strictement les règles suivantes :
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Limites de connaissances :** 
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Si une information importante manque, pose une question plutôt que de supposer.
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Dis explicitement quand tu n&#39;es pas sûr.
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Gestion du workspace :**
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Ne modifie jamais les fichiers du dossier <span class="sb">`00-contexte`</span> sans me demander.
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Mes projets en cours sont situés dans <span class="sb">`01-projets`</span>.
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Mes templates sont dans <span class="sb">`02-templates`</span>.
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Écris toutes les synthèses générées exclusivement dans le dossier <span class="sb">`03-livrables`</span>.
</span></span><span class="line"><span class="cl"><span class="k">-</span> **Traitement des données :** 
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Ignore systématiquement les anecdotes personnelles, les histoires de taverne, les plaintes sur la météo ou la nourriture.
</span></span><span class="line"><span class="cl">   <span class="k">-</span> Ne conserve que : la zone géographique explorée, les indices concrets, et le montant total des dépenses.
</span></span></code></pre></div><h2 id="ajouter-des-instructions-globales">Ajouter des instructions globales</h2>
<p>Il faut savoir que <strong>les agents ne lisent pas automatiquement nos fichiers</strong> - son contexte exploserait sinon. Il faut soit directement les mentionner dans un prompt, soit que l&rsquo;agent estime de lui-même qu&rsquo;il doit lire le contenu de nouveaux fichiers pour réaliser son objectif.</p>
<p>Il y a quelques exceptions. Il est possible de créer des <strong>instructions globales</strong>. On peut les ajouter dans les paramètres de l&rsquo;application, ou en créant un fichier spécial à la racine de notre workspace : <code>AGENTS.md</code> (pour la plupart) sinon <code>CLAUDE.md</code> (pour Claude).</p>
<p>C&rsquo;est comme un brief permanent pour l&rsquo;agent, il chargera ces instructions à chaque conversation. Et ça nous intéresse. On a au moins envie de lui indiquer de prendre en compte nos fichiers de contexte pour éviter de devoir lui rappeler à chaque fois.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">Avant chaque tâche, commence par lire les fichiers du dossier <span class="sb">`00-contexte`</span>.
</span></span></code></pre></div><p>Je conseille d&rsquo;utiliser les fichiers de type <code>AGENTS.md</code>/<code>CLAUDE.md</code> plutôt que les paramètres de l&rsquo;application. Si demain vous changez d&rsquo;outil, vos fichiers restent là. Vous n&rsquo;avez pas tout caché dans les réglages d&rsquo;un compte ou d&rsquo;une app.</p>
<p>Autre chose à savoir, vous pouvez être <strong>granulaire</strong>. Une instruction globale à la racine du workspace, puis des instructions locales dans un dossier projet. On a des informations, règles, styles qui ont du sens uniquement pour un projet.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">AGENTS.md
</span></span><span class="line"><span class="cl">01-projets/
</span></span><span class="line"><span class="cl">└── graal/
</span></span><span class="line"><span class="cl">    └── AGENTS.md
</span></span></code></pre></div><h2 id="première-mission">Première mission</h2>
<p>Ça y est, la base est prête. Vous pouvez commencez à utiliser un agent personnalisé avec votre contexte, dans votre projet.</p>
<p>Mettons-nous à la place d&rsquo;Arthur. Que pourrait-il faire ? Il reçoit de nombreux rapports de quêtes de la part de ses chevaliers. Des rapports très longs, bourrés de détails inutiles, de plaintes, d&rsquo;anecdotes de tavernes, etc.</p>
<ul>
<li><a href="https://gist.githubusercontent.com/chapuyj/234004d01540d2ff8ea8566b52fdc8f8/raw/c11be571ce2a1abbd927110de351e547d407daa6/gistfile1.txt" target="_blank" rel="noopener noreffer">Rapport de Perceval et Karadoc</a></li>
<li><a href="https://gist.githubusercontent.com/chapuyj/4a3ecef8ec14c84f5deaf42699edceb8/raw/5a39cd6b0ec54d17fd053a29b609b368654307c8/gistfile1.txt" target="_blank" rel="noopener noreffer">Rapport de Lancelot</a></li>
</ul>
<p>Il n&rsquo;a pas de temps à perdre, il a déjà beaucoup de responsabilités. Il aimerait bien avoir des synthèses avec les informations essentielles pour prendre des décisions. Et ça tombe bien, dans son contexte, il a déjà indiqué son style et ses règles.</p>
<p>Il lui suffirait de mettre les fichiers texte contenant les rapport dans le dossier <code>01-projets/graal/rapports</code> et de faire une simple demande à un agent :</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-markdown" data-lang="markdown"><span class="line"><span class="cl">Pour le projet Graal, je veux une synthèse des rapports des chevaliers.
</span></span></code></pre></div><p>Et ça suffit. On voit tout de suite la différence avec un chat. Ici, l&rsquo;agent possède tout le contexte utile. Il peut décider d&rsquo;aller chercher d&rsquo;autres informations (les rapports). Puis il va réaliser la tâche demandée à l&rsquo;origine : faire une synthèse. Le prompt est d&rsquo;ailleurs assez court, car l&rsquo;espace de travail a été préparé en amont.</p>
<ul>
<li><a href="https://gist.githubusercontent.com/chapuyj/d95b4b495e510c3118d7d9da75c4690b/raw/6f10b3b781d4c2f2b9b8a9c3ce1a902688025422/gistfile1.txt" target="_blank" rel="noopener noreffer">Synthèse générée par l&rsquo;agent</a></li>
</ul>
<p>C&rsquo;est un cas d&rsquo;usage simple, mais il permet de voir la puissance des agents. On pourrait lui demander de générer des slides sur Google Sheet pour faire une présentation des avancées. Ou de tenir à jour notre fichier Excel des dépenses.</p>
<p>Ce qu&rsquo;il vous faut maintenant, c&rsquo;est détecter quels sont tout vos process, ceux que vous répétez le plus et qui pourraient vous apporter rapidement de la valeur.</p>
<h2 id="les-vérifications-restantes">Les vérifications restantes</h2>
<p>Une ia peut toujours se tromper, haluciner, mal interpréter une note, oublier une contrainte, etc. Vérifiez toujours le résultat. Puis, éventuellement, améliorez votre espace de travail.</p>
<p>Par exemple, si l&rsquo;agent écrit toujours trop long, améliorez <code>mon-style.md</code>. S&rsquo;il modifie des fichiers qu&rsquo;il ne devrait pas toucher, précisez <code>regles.md</code>. S&rsquo;il oublie une section dans chaque livrable, modifiez votre template.</p>
<p>C&rsquo;est là que le workspace devient intéressant. <strong>Il s&rsquo;améliore avec l&rsquo;usage</strong>.</p>
<h2 id="pour-aller-plus-loin">Pour aller plus loin</h2>
<p>Nous voilà avec une bonne base de départ. Avec le temps, vous pourrez l&rsquo;améliorer de nombreuses manières :</p>
<ul>
<li>en retravaillant le workspace, la structure,</li>
<li>en ajoutant du contexte sur vous et vos projets,</li>
<li>en connectant l&rsquo;agent à d&rsquo;autres outils et services (mails, drive, calendrier, slack, notion, &hellip;),</li>
<li>en créant des SKILLS pour rendre réutilisable des process que vous faites régulièrement,</li>
<li>en créant des tâches récurrentes,</li>
<li>en creusant des concepts comme la mémoire, la gestion ducontexte, les tokens, etc.</li>
</ul>
<p>Mais d&rsquo;ici là, pratiquez, jouez avec votre nouvel espace de travail !</p>
]]></description></item><item><title>Le meilleur modèle IA</title><link>https://jordanchapuy.com/posts/2026/06/le-meilleur-modele-ia/</link><pubDate>Thu, 04 Jun 2026 08:30:00 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/06/le-meilleur-modele-ia/</guid><description><![CDATA[<p>Quel est le meilleur LLM aujourd&rsquo;hui ? La question revient souvent. La réponse aussi. Qui ne voit pas passer dans son flux (Youtube, LinkedIn, Reddit, &hellip;) une n-ième personne qui nous offre la vérité absolue ? <em>&ldquo;Machin 17.2 vient de sortir, les autres sont obsolètes !&rdquo; - insérer une photo bouche ouverte</em>.</p>
<p>Sauf que non. C&rsquo;est une mauvaise question. Ou plutôt, c&rsquo;est une <strong>question trop large</strong> pour donner une réponse utile. Le meilleur modèle pour écrire du code n&rsquo;est pas forcément le meilleur pour analyser une image. Le meilleur pour raisonner longuement sur un problème complexe n&rsquo;est pas forcément celui qu&rsquo;on veut appeler 200 fois par jour dans une automatisation de tri et résumé d&rsquo;emails.</p>
<p>Ça ne veut pas dire qu&rsquo;il ne faut pas comparer. Au contraire. Mais il faut comparer pour un usage, avec des contraintes, et en acceptant que la réponse soit temporaire.</p>
<h2 id="le-meilleur-quand-">Le meilleur&hellip; quand ?</h2>
<p>Le premier problème avec la quête du <del>graal</del> meilleur modèle, c&rsquo;est que <strong>la réponse bouge sans arrêt</strong>. Pas seulement dans les benchmarks. Aussi dans les usages, au sein des communautés, des développeurs qui testent des agents toute la journée, des créateurs, etc.</p>
<p>On le voit très bien dans les conversations autour de l&rsquo;IA. Pendant plusieurs semaines, tout le monde ne jure que par Claude Code. Puis des restrictions s&rsquo;ajoutent, un nouveau modèle GPT arrive avec une mise à jour de Codex et les retours changent. Puis Gemini redevient très présent. Les évolutions des modèles vont très vite en ce moment, la concurrence est féroce, tous se battent à coup de milliards pour essayer d&rsquo;être le grand gagnant à la fin. C&rsquo;est parfois dur à suivre si on y passe pas plusieurs heures chaque semaine.</p>
<p>Et puis, ce n&rsquo;est pas toujours très objectif. Dans le tas, il y a les effets mode, des personnes qui montrent un cas impressionnant mais très ciblé pour un usage, des influenceurs qui montrent un système hyper complexe et impressionant à voir mais sans réel valeur dans la vraie vie. Un peu comme si on achetait une machine chirurgicale révolutionnaire à un million d&rsquo;euros avec des nanos robots pour couper une pomme en deux. C&rsquo;est à la fois <em>over-engineered</em>, et extrêmement cher pour le besoin. Et as-t-on vraiment besoin de quelque chose pour ça ?</p>
<p>Au moment où j&rsquo;écris ces lignes, Anthropic a le vent en poupe avec ses modèles, notamment Opus. Mais c&rsquo;est la photo du jour, elle changera très probablement. Et puis, c&rsquo;est un ressenti global, ça ne concerne pas tous les usages.</p>
<h2 id="le-meilleur-pour-quoi-faire-">Le meilleur&hellip; pour quoi faire ?</h2>
<p>La vraie question commence ici : pour quoi faire ?</p>
<p>Pour un simple chatbot du <strong>quotidien</strong>, je veux surtout un modèle agréable, rapide, pas trop cher, capable de répondre correctement, rapidement, sans trop se tromper et sans faire de thèse. Dans ce cas, les modèles &ldquo;<em><strong>basiques</strong></em>&rdquo; de chacun des labs fait très bien le café - <strong>GPT-5.5 Instant</strong>, <strong>Claude Sonnet</strong> voire <strong>Haiku</strong> ou <strong>Gemini Flash 2.5</strong>. Le &ldquo;meilleur&rdquo; ici, ce n&rsquo;est pas forcément le plus intelligent. C&rsquo;est celui qui répond bien, vite, et sans coûter un bras pour résumer une recette de tarte à la myrtille. Les versions gratuites ou le premeir tier payant suffisent amplement.</p>
<p>Pour le <strong>code</strong>, on a besoin de quelque chose d&rsquo;assez pointu. Une bonne maîtrise technique certes mais aussi un bon contexte, du raisonnement, de l&rsquo;itération, etc. Aujourd&rsquo;hui, <strong>Anthropic</strong> est très fort sur ce terrain, notamment avec les modèles <strong>Opus</strong>. C&rsquo;est le chouchou des développeurs. <strong>Claude Code</strong>, qui vient avec l&rsquo;abonnement payant, est un très bon plus. À côté, il y a toujours Codex, Copilot, et Cursor qui restent très pertinent.</p>
<p>Pour la <strong>recherche web</strong>, je mettrais plutôt <strong>Perplexity</strong> (même si je commence à moins aimer) et <strong>Gemini</strong> avec Deep Research dans la discussion. Là, le modèle compte, mais la capacité et l&rsquo;outillage de recherche compte également beaucoup dans la balance : quelles sources sont trouvées, leurs fraicheurs, comment elles sont citées, etc.</p>
<p>Pour la <strong>rédaction</strong> et l&rsquo;<strong>idéation</strong>, c&rsquo;est encore une autre sensibilité. Certaines personnes préfèrent <strong>Claude</strong> pour le ton, d&rsquo;autres <strong>GPT</strong> pour la structure. Et puis il y a aussi <strong>Google</strong> avec Gemini + <a href="https://jordanchapuy.com/posts/2026/05/notebooklm-ou-comment-apprendre-et-discuter-avec-ses-propres-sources/" rel="">NotebookLM</a> + la suite Drive qui offre une immense contexte et capacité à absorber beaucoup de matière.</p>
<p>Pour l&rsquo;<strong>image</strong> et la <strong>vidéo</strong>, on s&rsquo;éloigne de la matière première textuelle. <strong>GPT Image 2</strong> (OpenAI) et <strong>Nano banana 2</strong> (Google) sont le top &ldquo;grand publics&rdquo; à mon avis, et puis il y a les très bons <strong>Flux</strong> et <strong>Midjourney</strong>. Côté vidéo, <strong>Veo</strong> (Google), <strong>Sora</strong> (OpenAI), <strong>Seedance</strong>, <strong>Kilng</strong>, reviennent souvent dans les discussions selon ce que l&rsquo;on cherche à produire. Même là il faut encore diviser pour trouver le &ldquo;meilleur&rdquo;.</p>
<p>Et dans les <strong>automatisations</strong> ? Pareil, il faut encore découper plus fin. Je ne vais pas utiliser le même modèle pour résumer un article, classer un ticket support, extraire trois champs d&rsquo;un email, &hellip; ou raisonner pendant dix minutes sur un incident de production. Pour des <strong>tâches simples</strong>, les modèles légers comme <strong>Claude Haiku</strong> ou <strong>Gemini 2.5 Flash</strong> me semble plus pertinents que les monstres de raisonnement. On pourrait même utiliser <strong>des petits modèles open-source en local</strong> (Llamma, Mistral). Pour une décision complexe, on prendra du plus haut de gamme avec les <em>frontier models</em>.</p>
<h2 id="le-meilleur-à-quel-prix-">Le meilleur&hellip; à quel prix ?</h2>
<p>Deuxième question intéressante, qui pique un peu : combien ça coûte ?</p>
<p>Il y a <strong>le prix par token</strong>, bien sûr. Un modèle très <em>intelligent</em> peut être pertinent pour débloquer un problème compliqué, mais disproportionné pour reformater un JSON ou résumer trois paragraphes. Utiliser Opus pour une tâche simple à la place de Haiku par exemple, c&rsquo;est un peu comme sortir le bazooka contre ces foutus moustiques tigres (ça y est, ils commencent à repointer leur nez). Ça va coûter très cher en munitions.</p>
<p>Qu&rsquo;on soit au sein d&rsquo;un abonnement officiel, ou par API, ou via un aggrégateur (Mammouth, Abacus, &hellip;), utiliser un modèle haut de gamme va coûter beaucoup plus d&rsquo;argent ou de quota.</p>
<p>Et justement, il y a ces fameuses <strong>limites</strong>. Quotas, fenêtres de contexte, nombre de requêtes, accès aux outils, restrictions selon les abonnements. C&rsquo;est différent de partout, et ça bouge très très vite. Ces dernières semaines par exemple, je vois beaucoup critique envers Anthropic qui a durci un peu fort les conditions d&rsquo;utilisations et réduit les limites. De l&rsquo;autre côté, OpenAI donne l&rsquo;impression d&rsquo;avoir un peu plus d&rsquo;air pour un abonnement équivalent.</p>
<h2 id="le-meilleur-mais-bien-accompagné">Le meilleur&hellip; mais bien accompagné</h2>
<p>On parle beaucoup du modèle parce que c&rsquo;est la partie visible. La porte d&rsquo;entrée. C&rsquo;est avec lui qu&rsquo;on discute au final. Mais aujourd&rsquo;hui, dans un usage avancé, le modèle n&rsquo;est qu&rsquo;une partie du système. On dit que c&rsquo;est le <strong>cerveau</strong>. Autour, il y a le reste : outils, instructions, mémoire, RAG, permissions, MCP, fichiers accessibles, et bien d&rsquo;autres. Ça forme le <strong>corps</strong>.</p>
<p>C&rsquo;est aussi appelé <em><strong>harness</strong></em>, c&rsquo;est un des sujets chaud du moment je trouve - <strong>comment bien équiper notre modèle pour répondre à nos besoins spécifiques</strong> ?</p>
<p>Un bon modèle accompagné d&rsquo;un bon harness devient beaucoup plus utile qu&rsquo;un très bon modèle mal branché. Si mon agent a accès au repository, sait lancer les tests, connaît les conventions, se rappelle des décisions prises et peut lancer des commandes, il part avec un énorme avantage. À l&rsquo;inverse, un excellent modèle isolé dans sa fenêtre de chat avec peu de contexte et outils va plus facilement haluciner en plus d&rsquo;être limité en capacités.</p>
<p>On le voit très bien avec les agents de code. Le modèle compte beaucoup, mais les capacités de l&rsquo;agent aussi : comment il explore le projet, relance les tests, se connecte à d&rsquo;autres outils, sa gestion de la mémoire, etc. Deux environnements utilisant le même modèle peuvent donner une expérience très différente.</p>
<p>C&rsquo;est pour ça que je trouve nul de réduire le choix à un simple &ldquo;alors, Claude ou GPT ? c&rsquo;est qui le dieu absolu ?&rdquo;.</p>
<h2 id="choisir-cest-renoncer">Choisir, c&rsquo;est renoncer</h2>
<p>Au final, je pense qu&rsquo;il ne faut pas être loyal à un modèle ou entreprise. Parce que ça change trop vite, parce que ça dépend trop de nos usages et besoins. Et aussi parce que pour le moment, on a la chance de pouvoir facilement passer de l&rsquo;un à l&rsquo;autre. On ne se retrouver pas enfermé chez l&rsquo;un si on commence à l&rsquo;utiliser pour nos projets. On a encore un peu de chances de voir des concepts se retrouver en commun voire open-source (MCP, Agents.md, &hellip;).</p>
<p>La bonne stratégie, c&rsquo;est plutôt de rester agile et de s&rsquo;adapter quand ça change. Et de choisir ce qui se trouvera le plus adapté pour notre contexte. Probablement même d&rsquo;en avoir plusieurs dans notre sac - un modèle rapide pour les tâches simples, un modèle très solide pour les raisonnements difficiles. Un bon outil de code. Peut-être que selon les mois on change d&rsquo;abonnement. Ou qu&rsquo;on en cumule deux petits plutôt qu&rsquo;un Max.</p>
<p>Donc, la prochaine fois qu&rsquo;on vous demande &ldquo;c&rsquo;est quoi le meilleur modèle IA ?&rdquo;, vous pouvez répondre : ça dépend. Pas pour esquiver. Pour poser les vraies questions. Qu&rsquo;est-ce que tu veux faire ? Quel budget ? Quelle confidentialité ? Avec quels outils ?</p>
<hr>
<blockquote>
<p>Un mois après cet article, un nouveau &ldquo;meilleur modèle&rdquo; a été dévoilé : Kimi K3. J&rsquo;en ai profité pour aller plus en profondeur et m&rsquo;en servir comme exemple et suite ce que j&rsquo;ai raconté ici -&gt; <a href="https://jordanchapuy.com/posts/2026/07/kimi-k3-le-nouveau-meilleur-modele-ia-llm-de-tous-les-temps-ou-pas/" rel="">Kimi K3, le nouveau meilleur modèle IA de tous les temps (ou pas)</a>.</p>
</blockquote>
]]></description></item><item><title>C’est quoi, un agent IA ?</title><link>https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/</link><pubDate>Wed, 20 May 2026 08:30:00 +0200</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2026/05/c-est-quoi-un-agent-ia/</guid><description><![CDATA[<p>On voit passer beaucoup de promesses autour des agents IA. Le genre de discours qui raconte que &ldquo;l&rsquo;agent va faire tourner toute votre entreprise tout seul&rdquo; et &ldquo;remplacer dix personnes dans l&rsquo;équipe&rdquo;. Et évidemment, si vous ne l&rsquo;utilisez pas dès demain matin, vous allez même perdre votre emploi la semaine prochaine. <em>Influenceur, sors de ce corps.</em></p>
<p>Je force un peu le trait, mais il faut bien compenser un peu le discours de certains :). Le mot <strong>agent</strong> est devenu un mot magique. On le colle sur un produit, un workflow, une démo, un chatbot un peu amélioré, et hop, ça donne l&rsquo;impression qu&rsquo;on a remplacé un humain.</p>
<p>Sauf que si on veut comprendre ce que c&rsquo;est, il faut retirer vernis marketing et influenceur. Un agent IA, ce n&rsquo;est pas une usine autonome qui tourne 24h/24 dans un coin. Je le définirais plutôt comme ça : <strong>un agent est un système qui utilise un modèle d&rsquo;IA pour observer une situation, décider des prochaines étapes, utiliser des outils si besoin, puis recommencer en fonction du résultat obtenu</strong>.</p>
<p>Observer, décider, agir, observer à nouveau. C&rsquo;est cette boucle qui change beaucoup de choses. On ne demande plus seulement une réponse à un chat. On demande d&rsquo;avancer dans une tâche, d&rsquo;atteindre un objectif.</p>
<h2 id="revenons-un-peu-en-arrière">Revenons un peu en arrière</h2>
<p>Au départ, il y a les modèles de langage (LLM). Les modèles GPT permettaient de &ldquo;prédir la suite probable d&rsquo;un texte&rdquo; (je prends un raccourci, mais l&rsquo;idée de base est là). Ça marchait bien, et on s&rsquo;est aperçu qu&rsquo;en ajoutant un peu de contexte avant, ça permettait d&rsquo;influencer le fond et la forme de la réponse.</p>
<p>À partir de là, il n&rsquo;a pas fallu longtemps pour voir arriver la naissance de ChatGPT. C&rsquo;est encore un modèle GPT dans l&rsquo;arrière-boutique, mais cette fois avec une interface web par-dessus et un gros prompt système pour créer ce semblant de conversation. Et c&rsquo;était déjà impressionnant. On pouvait demander une explication, reformuler un texte, générer du code, résumer un document, etc. Mais le fonctionnement restait assez simple : <strong>une demande, une réponse. Puis une autre demande, une autre réponse</strong>.</p>
<p>Plus tard, on voit apparaitre de premières connexions avec des outils, et même un protocole pour standariser cela (MCP). Les agents arrivent.</p>
<h2 id="ce-qui-change-avec-un-agent">Ce qui change avec un agent</h2>
<p>Un agent IA ajoute trois choses fondamentales. La première, c&rsquo;est la capacité à <strong>utiliser des outils</strong>. L&rsquo;agent peut lire des fichiers, les modifier, lancer une commande, chercher une information, suivre une todo-list, &hellip; Ça dépend évidemment de l&rsquo;environnement qu&rsquo;on lui donne, mais l&rsquo;idée est là : il ne produit plus seulement une réponse directe, il peut agir dans cet environnement.</p>
<blockquote>
<p>Agent : Je vais récupérer tes rendez-vous de la journée sur ton Google Calendar.</p>
</blockquote>
<p>La deuxième, c&rsquo;est la capacité à <strong>enchaîner plusieurs étapes</strong>. On ne lui demande plus uniquement &ldquo;réponds à cette question&rdquo;, mais plutôt &ldquo;atteins ce résultat&rdquo;. Il peut inspecter un fichier, constater qu&rsquo;il manque une information, lire un autre fichier, lancer un test, corriger une erreur, puis revenir avec le résultat.</p>
<blockquote>
<p>Agent : Je met à jour l&rsquo;outil que tu m&rsquo;a demandé. C&rsquo;est fait. Oh, ça ne compile plus. Ok je viens de voir qu&rsquo;il faut modifier ce fichier pour l&rsquo;adapter avec la nouvelle façon de faire. Cette fois, c&rsquo;est bon.</p>
</blockquote>
<p>La troisième, c&rsquo;est une forme de <strong>mémoire de travail</strong>. Parfois, c&rsquo;est simplement l&rsquo;état de la tâche en cours : à quelle étape il est, ce qu&rsquo;il a déjà essayé, ce qu&rsquo;il a observé, les erreurs rencontrées. Mais cette mémoire suffit déjà à créer une différence importante avec un simple prompt isolé. L&rsquo;agent peut suivre un plan.</p>
<blockquote>
<p>Agent : Je viens de comparer trois sources, j’ai gardé les points communs en tête, je vais maintenant pour voir générer un résumé.</p>
</blockquote>
<p>Dans un usage technique, c&rsquo;est très parlant. On peut demander &ldquo;corrige ce bug&rdquo;. Un chat classique va souvent répondre avec des hypothèses et du code à copier. Un agent, lui, peut lire le code existant, modifier un fichier, exécuter les tests, voir que ça casse ailleurs, ajuster, recommencer cette boucle trois fois jusqu&rsquo;à avoir des tests OK, puis expliquer ce qu&rsquo;il a fait.</p>
<p>On passe de &ldquo;je te réponds&rdquo; à &ldquo;je peux avancer dans la tâche avec toi&rdquo;. L&rsquo;agent <strong>décide quoi faire en fonction de l&rsquo;état, et il agit</strong>.</p>
<h2 id="comment-on-utilise-un-agent-concrètement-">Comment on utilise un agent, concrètement ?</h2>
<p>Le premier contact, pour beaucoup de monde, peut venir des chats web comme ChatGPT, Claude, Perplexity et bien d&rsquo;autres. Aujourd&rsquo;hui, ils ne cherchent plus à seulement répondre tout de suite. Ils ont beaucoup plus d&rsquo;outils et de capacités - des connecteurs, du raisonnement, de la recherche profonde, etc. Ils peuvent analyser un document, faire une multitude de recherches sur le web, puis produire une analyse détaillée.</p>
<p>La frontière entre un agent et un chat devient un peu plus floue d&rsquo;ailleurs. Ce qui est intéressant à observer maintenant, c&rsquo;est si le chat / le service permet de réaliser des tâches, d&rsquo;atteindre des objectifs. Et dans quel environnement.</p>
<p>Là où ça prend davantage forme, à mon sens, c&rsquo;est avec les outils qui ont <strong>accès à un environnement</strong> permettant une plus grande liberté. Cursor, Claude Code, OpenAI Codex, et d&rsquo;autres outils du même genre peuvent lire un projet sur notre machine, chercher dans les fichiers, créer ou modifier du code, lancer des commandes, puis se corriger selon le résultat.</p>
<p>La différence est assez marquante. Dans un chat web classique, on peut demander : &ldquo;explique-moi comment réorganiser ce projet&rdquo; ou &ldquo;écris-moi un script pour faire ça&rdquo;, et on devra ensuite le faire manuellement. En espérant avoir donné tous les bons détails et fichiers. Avec un agent lancé dans le dossier du projet, on va directement lui demander d&rsquo;<strong>effectuer l&rsquo;action</strong>, et il cherchera les informations lui-même. Il ne travaille plus seulement sur une description du problème, <strong>il travaille dans le contexte réel</strong>.</p>
<p>Note : j&rsquo;ai pris l&rsquo;exemple d&rsquo;un projet de code, mais on peut également imaginer un dossier avec un ensemble de fichiers de comptabilité, d&rsquo;idées pour une chaîne YouTube, etc. Cela reste des fichiers et du texte, c&rsquo;est très facilement manipulable par un agent.</p>
<h2 id="les-avantages-dun-agent">Les avantages d&rsquo;un agent</h2>
<p>On a vu qu&rsquo;un agent peut utiliser des outils, premier bon avantage. On pourra lui demander de lire ou envoyer des mails, chercher une information sur le web, lister les retours clients sur Zendesk, etc. A priori tout ce qu&rsquo;on pouvait faire à la main et qui contient une interface web / api / cli.</p>
<p>Autre gros avantage que l&rsquo;on a aussi vu, c&rsquo;est la possibilité d&rsquo;enchaîner des étapes. Même si elles ne sont pas très complexes, c&rsquo;est un gain d&rsquo;autonomie. On n&rsquo;est plus obligé de <em>micro-manager</em> un chat en lui disant étape par étape quoi faire. Ici, l&rsquo;agent peut atteindre un objectif en trouvant lui-même le chemin.</p>
<p>Dit autrement, on pourrait parler de travailler dans l&rsquo;incertitude. Si on veut créer un script ou une automatisation, on doit connaitre chaque étape au moment de créer cette automatisation, et il faudra que ça se passe bien comme on l&rsquo;a prévu, sinon ça casse. L&rsquo;agent, lui, peut réussir à s&rsquo;adapter en cours de route.</p>
<p>Au final, l&rsquo;agent a cette capacité de s&rsquo;<strong>adapter</strong>. Et c&rsquo;est peut-être là son plus gros avantage. On en revient à la boucle : observer, décider, agir, observer à nouveau.</p>
<h2 id="les-limites-à-garder-en-tête">Les limites à garder en tête</h2>
<p>Un agent peut coûter plus cher à utiliser, même si ce n&rsquo;est pas une règle absolue. Un agent léger, avec peu d&rsquo;outils et peu d&rsquo;allers-retours, peut rester raisonnable. Mais dans l&rsquo;idée, un agent est plus autonome, il décide quoi faire, il explore, utilise une commande, lit un fichier ou un résultat, etc. Et tout ça, eh bien <strong>ça consomme plus de tokens</strong>. Avant, une partie de ces actions étaient du côté de l&rsquo;humain alors que maintenant, l&rsquo;agent doit le verbaliser.</p>
<p>Il y a aussi un côté <strong>moins prévisible</strong>. Un agent peut décider de faire dix étapes au lieu de trois. De charger un énorme fichier que l&rsquo;on avait pas prévu. De reboucler car il n&rsquo;est pas encore satisfait d&rsquo;après sa compréhension du succès. On n&rsquo;est plus sur un simple une demande, une réponse.</p>
<p>Il faut donc surveiller le contexte, les quotas, les tokens, et parfois simplement la pertinence de le lancer pour une petite tâche. Sinon, à la fin on obtient une facture salée (si on passe par l&rsquo;API) ou une limite atteinte prématurément (paie-t-on l&rsquo;abonnement supérieur pour continuer ?). Sachant qu&rsquo;en plus, tout ça bouge beaucoup. C&rsquo;est par exemple au tour d&rsquo;Anthropic de mettre le feu à la communauté en ce moment avec un abaissement des limites et des nouvelles contraintes autour l&rsquo;exécution autonome des agents (<code>claude -p</code> pour ceux qui suivent).</p>
<p>À côté de cela, il y a également la question du contrôle. Plus on donne d&rsquo;outils à un agent, plus il peut faire de choses utiles et plus il peut faire de bêtises : modifier le mauvais fichier, envoyer une requête au mauvais endroit, mal comprendre une consigne, ou bien pire. <a href="https://www.theguardian.com/technology/2026/apr/29/claude-ai-deletes-firm-database" target="_blank" rel="noopener noreffer">La suppression de la base de données de production et des backups d&rsquo;une entreprise</a> par exemple ?</p>
<h2 id="ce-quun-agent-nest-pas">Ce qu&rsquo;un agent n&rsquo;est pas</h2>
<p>Un agent IA, en lui-même, ce n&rsquo;est pas forcément un système qui tourne tout seul 24 h/24. Si vous voulez quelque chose qui se réveille tous les matins, surveille une boîte mail, lance une analyse, envoie un rapport et recommence demain, il faut quelque chose autour.</p>
<p>Ça peut être un serveur. Un cron. Un outil comme n8n. Un outil d&rsquo;orchestration. Un setup avec OpenClaw. Un <em>Agentic OS</em> (sûrement le prochain mot à la mode). Peu importe la forme exacte, mais il faut un mécanisme qui déclenche le travail, garde l&rsquo;état, gère les erreurs, relance si besoin, stocke les résultats.</p>
<p>L&rsquo;agent peut être une brique dans ce système. Par exemple, n8n peut déclencher un workflow toutes les heures ou selon un événement, récupérer des données, puis appeler un modèle d&rsquo;IA pour analyser. Là, l&rsquo;agent ou le modèle intervient à une étape précise. Mais l&rsquo;autonomie globale vient surtout de l&rsquo;orchestration qu&rsquo;il y a autour. Autre exemple avec OpenClaw, c&rsquo;est lui qui maintient en vie les agents avec un système de <em>heartbeat</em> et une communication par les messageries type Telegram, Discord, etc.</p>
<p>C&rsquo;est une distinction importante. Sinon on finit par appeler &ldquo;agent&rdquo; n&rsquo;importe quel automatisme un peu sexy.</p>
<h2 id="est-ce-quon-en-a-vraiment-besoin-">Est-ce qu&rsquo;on en a vraiment besoin ?</h2>
<p>Pas toujours. Justement parce que parfois on a besoin d&rsquo;une <strong>automatisation</strong> plus que d&rsquo;un agent IA. Un truc prédictif qui est un enchainement de tâches définies et d&rsquo;outils selon un déclencheur, par exemple. C&rsquo;est &ldquo;moins vendeur&rdquo;, &ldquo;moins à la mode&rdquo;, mais c&rsquo;est ce qui réponds au besoin.</p>
<blockquote>
<p>&ldquo;À chaque fois qu&rsquo;un retour client arrive sur notre outil de support, on veut répondre automatiquement qu&rsquo;on s&rsquo;en occupe, puis l&rsquo;ajouter dans sur notre board d&rsquo;équipe et nous notifier sur Teams&rdquo;.</p>
</blockquote>
<p>Nul besoin d&rsquo;un agent ici, un workflow sur n8n ou similaire fera l&rsquo;affaire. Et vraiment si besoin, on peut y glisser un noeud IA (pour analyser le message par exemple), ce qui coûtera moins cher que si un agent faisait tout.</p>
<p>Et je pense que c&rsquo;est le point le plus pratique à garder en tête. Un agent IA est intéressant quand la tâche est moins prédictible, demande plus d&rsquo;adaptation ou d&rsquo;autonomie. Qu&rsquo;on ne connait pas le chemin. L&rsquo;exploration pour corriger un bug est un bon exemple qu&rsquo;on a vu précédemment, une boucle d&rsquo;écriture/critique/réécriture d&rsquo;un script de vidéo YouTube pourrait en être un autre.</p>
<p>Et puis parfois, peut-être même qu&rsquo;un <strong>simple prompt</strong> pourrait suffire. Si on garde une bibliothèque de côté et/ou quelques fichiers d&rsquo;instructions, on pourrait dans certains cas revenir à un mode de chat demande/réponse plus classique quand il n&rsquo;y a pas un long chemin à parcourir.</p>
<p><strong>Plusieurs questions à se poser</strong> donc, sauf si on n&rsquo;a aucun problème avec l&rsquo;argent et l&rsquo;énergie :</p>
<ul>
<li>est-ce qu&rsquo;on connait le chemin ? est-ce qu&rsquo;il faudra s&rsquo;adapter ?</li>
<li>est-ce qu&rsquo;on est sur une boucle d&rsquo;actions / observations ?</li>
<li>est-ce qu&rsquo;on veut de la reproductibilité ?</li>
<li>est-ce qu&rsquo;une simple demande sur un chat suffirait ?</li>
</ul>
<h2 id="bref">Bref</h2>
<p>Un agent IA, ce n&rsquo;est pas un nouveau collègue virtuel totalement autonome. C&rsquo;est d&rsquo;abord un modèle d&rsquo;IA placé dans un système qui lui permet d&rsquo;observer, de décider, d&rsquo;utiliser des outils, puis de réagir au résultat pour continuer.</p>
<p>C&rsquo;est puissant, surtout quand la tâche dépasse le simple échange question-réponse. Mais ce n&rsquo;est pas magiquement autonome, fiable, économique ou nécessaire. Il faut encore un cadre, des permissions, dans certains cas une orchestration, et surtout un peu de jugement.</p>
<p>Donc avant de mettre un agent partout, je trouve plus sain de <strong>comprendre</strong> ce que c&rsquo;est, puis partir du <strong>besoin</strong>. C&rsquo;est ma culture produit qui parle. Parfois, l&rsquo;agent est exactement la bonne brique. Parfois, un prompt suffit. Parfois, un script ou workflow fera mieux le travail. Le besoin avant la solution.</p>
]]></description></item><item><title>Créer des fonctionnalités augmentées par l'IA dans une application mobile</title><link>https://jordanchapuy.com/posts/2025/02/creer-des-fonctionnalites-augmentees-par-ia-dans-une-application-mobile-llm-intelligence-artificielle/</link><pubDate>Tue, 04 Feb 2025 15:23:00 +0100</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2025/02/creer-des-fonctionnalites-augmentees-par-ia-dans-une-application-mobile-llm-intelligence-artificielle/</guid><description><![CDATA[<p>Bienvenue en 2025. L&rsquo;IA est toujours à la mode et elle s&rsquo;intègre de plus en plus dans notre quotidien. Mais qu&rsquo;en est-il de notre poche ? Oui, vous savez, on y glisse nos smartphones - un autre truc qui a eu son moment de gloire il y a quelques années, et avec lequel on est maintenant inséparable.</p>
<p>On a envie d&rsquo;associer les deux, d&rsquo;avoir notre IA de poche. En tant que créateur d&rsquo;applications mobiles (Product Owner, Développeur, Designer), on peut y participer !</p>
<p>J&rsquo;en profite pour expliciter les différentes interactions qu&rsquo;il peut y avoir avec l&rsquo;IA sur un smartphone :</p>
<ul>
<li>Un utilisateur peut jouer avec l&rsquo;IA du système qui est intégré dans divers composants pour par exemple reformuler une phrase, générer une image, faire une action, etc. Le développeur n&rsquo;a pas la main dessus, c&rsquo;est le système qui gère.</li>
<li>Le développeur peut apprendre à l&rsquo;IA du système comment interagir avec son application, en exposant certaines données et intentions. L&rsquo;utilisateur pourra par exemple lancer une action réalisée par l&rsquo;application via Siri.</li>
<li>Le développeur peut créer des fonctionnalités boostées à l&rsquo;IA au sein de son application. L&rsquo;utilisateur pourra s&rsquo;en servir depuis l&rsquo;application.</li>
</ul>
<p>Aujourd&rsquo;hui, on va se concentrer sur le dernier cas : créer des fonctionnalités augmentées par l&rsquo;IA. On va se donner un aperçu de ce que l&rsquo;on pourrait faire dans nos applications et des options pour y arriver.</p>
<h1 id="quelques-exemples-dusages">Quelques exemples d&rsquo;usages</h1>
<p>Ce que l&rsquo;on voit le plus souvent, ce sont des fonctionnalités qui <strong>manipulent un contenu textuel</strong> déjà présent. On propose de résumer l&rsquo;article actuellement affiché dans une application de news, par exemple. On pourrait aussi sélectionner un paragraphe et demander plus d&rsquo;explications. Ou même traduire. On peut également proposer à l&rsquo;utilisateur d&rsquo;améliorer le contenu qu&rsquo;il a créé - il pourrait reformuler, corriger, compléter.</p>
<p><strong>Générer du contenu</strong> grâce aux données personnalisées est un autre usage intéressant. Une application de liste de courses pourrait par exemple proposer des idées de recette en fonction des aliments ajoutés par l&rsquo;utilisateur. Peut-être même que des recommandations pourraient apparaître autour de la nutrition.</p>
<p>Et pourquoi pas un champ de texte voire un chat pour <strong>trouver et utiliser des fonctionnalités existantes</strong> dans l&rsquo;application ? Sur une application complexe avec beaucoup de pages et de profondeur, ce pourrait être pratique. L&rsquo;utilisateur pourrait demander de &ldquo;réserver un aller-retour à Valence pour demain&rdquo; ou &ldquo;envoyer 100€ à ma mère&rdquo; avec ses propres mots.</p>
<p>De nombreuses possibilités existent aussi du côté des jeux. En faisant varier des dialogues, ou en les créant pleinement. En <strong>générant des niveaux</strong>, des parties, des quiz. Peut-être même que l&rsquo;utilisateur pourrait <strong>indiquer un thème</strong>, non prévu initialement, et le modèle d&rsquo;IA ferait le reste. On commence tout juste à gratter la surface, à imaginer de nouveaux usages.</p>
<h1 id="état-des-lieux">État des lieux</h1>
<p>Les innovations et les possibilités qui tournent autour de l&rsquo;IA vont vite (sauf chez Apple, qui a à la fois du retard et un cycle de release long - petite balle perdue gratuite :)). Où en est-on aujourd&rsquo;hui ?</p>
<p>Commençons du côté de la pomme. Le flagship actuel est l&rsquo;iPhone 16 Pro. iOS est en version 18.2.1. Apple Intelligence est disponible à partir de iOS 18.1 sur l&rsquo;ensemble des modèles d&rsquo;iPhone 16, ainsi que le 15 Pro et le 15 Pro Max. En Europe, on doit cependant attendre le mois d&rsquo;avril pour accéder au système Apple Intelligence.</p>
<p>Sur Android, la dernière version est actuellement la 15 (API 35). Gemini est l&rsquo;actuel modèle d&rsquo;IA de Google, et d&rsquo;autres constructeurs comme Samsung ajoutent aussi leur propre couche d&rsquo;<em>intelligence</em> (Galaxy IA). Certains smartphones récents ont le droit à <a href="https://ai.google.dev/gemini-api/docs/get-started/android_aicore" target="_blank" rel="noopener noreffer">Gemini nano</a> pour une exécution locale : c&rsquo;est à partir du Google Pixel 8 Pro et Samsung S24, et d&rsquo;autres appareils s&rsquo;ajoutent progressivement.</p>
<p>Les deux systèmes proposent bien aux utilisateurs des fonctionnalités augmentées par l&rsquo;IA. Mais côté développement, <strong>on est très limité pour créer</strong>. iOS ne propose que les <a href="https://developer.apple.com/documentation/appintents" target="_blank" rel="noopener noreffer">App Intents</a> pour faire découvrir nos applications à Siri et Spotlight. Et sur Android, Gemini nano est au stade expérimental. Il y a <strong>très peu d&rsquo;appareils compatibles</strong> et <a href="https://developer.android.com/ai/gemini-nano#supported-functionality" target="_blank" rel="noopener noreffer">les possibilités sont <strong>limitées</strong></a>.</p>
<p>À côté de cela, on voit d&rsquo;autres solutions légères qui émergent pour être <strong>exécutées sur un smartphone</strong>. On trouve par exemple les ensembles de modèles <a href="https://ai.google.dev/gemma" target="_blank" rel="noopener noreffer">Gemma</a> de Google, <a href="https://azure.microsoft.com/en-us/products/phi" target="_blank" rel="noopener noreffer">Phi</a> de Microsoft ou encore <a href="https://www.llama.com/" target="_blank" rel="noopener noreffer">Llama</a> de Meta. Ces trois familles de modèles sont d&rsquo;ailleurs <strong>open-source</strong>. Plus étonnant, on trouve également des outils comme <a href="https://picovoice.ai/picollm/" target="_blank" rel="noopener noreffer">PicoLLM</a> qui permettent de compresser les modèles !</p>
<p>Évidemment, tout ce que je raconte au-dessus changera avec le temps. Il y aura de nouveaux appareils, des nouvelles versions d&rsquo;OS, des LLMs, etc. Un prochain rendez-vous que l&rsquo;on peut prévoir : mai et juin pour les keynotes d&rsquo;Apple et de Google, puis quelques temps après la sortie des nouvelles majeures d&rsquo;OS.</p>
<h1 id="comment-avoir-accès-à-un-modèle-">Comment avoir accès à un modèle ?</h1>
<p>Actuellement, pour créer des fonctionnalités augmentées par l&rsquo;IA dans une application mobile, il faut interagir avec un modèle. On va créer des prompts adaptés à nos cas d&rsquo;utilisations puis interpréter la réponse. Une réponse que l&rsquo;on aura forcée dans un standard (du JSON par exemple).</p>
<p>Pour que notre application communique avec un modèle, nous avons plusieurs options.</p>
<h2 id="via-notre-serveur-et-une-api-tierce">Via notre serveur et une API tierce</h2>
<p>C&rsquo;est actuellement un des choix <strong>les plus répandus et les plus efficaces</strong>. Les applications mobiles ont déjà l&rsquo;habitude de discuter avec des serveurs - on aura simplement de nouvelles routes pour obtenir des inférences. Notre serveur fait la passerelle vers OpenAI par exemple, et ce sont ces derniers qui hébergent le modèle.</p>
<p>Les intérêts sont multiples. On peut <strong>cibler tous les appareils</strong> (puissant ou entrée de gamme, récent ou vieux) et tous les systèmes (Android, iOS) peu importe la version (la toute dernière comme la plus vieille). Eh oui, il ne s&rsquo;agit là que de requêtes HTTP et de stream de données.</p>
<p>On s&rsquo;assure au passage d&rsquo;avoir le même comportement entre les différents appareils et systèmes, puisque c&rsquo;est <strong>le même modèle</strong> qui est utilisé en bout de chaîne. Les règles métiers et prompts sont aussi partagées. On pourra facilement et rapidement les <a href="https://jordanchapuy.com/posts/2023/08/mettre-a-jour-une-application-mobile-sans-passer-par-les-stores-1-pourquoi" rel="">modifier à distance sans mettre à jour les applications mobiles</a>.</p>
<p>D’ailleurs, on peut aussi changer le modèle utilisé par un autre (une nouvelle version ou un concurrent) sans devoir redéployer notre application. Tout comme on pourrait utiliser plusieurs modèles en parallèle.</p>
<p>Le <strong>coût</strong> sera cependant <strong>élevé</strong>. La charge principale viendra de l&rsquo;utilisation d&rsquo;un service tiers comme OpenAI. Le coût augmentera selon deux vecteurs : le nombre d&rsquo;utilisateurs et le nombre d&rsquo;usages. En effet, les API tiers facturent au nombre de token généré pour l&rsquo;utilisation de leurs LLMs.</p>
<p>C&rsquo;est d&rsquo;autant plus important que notre serveur agisse en tant qu&rsquo;intermédiaire : une communication directe entre les applications et le service tiers impliquerait d&rsquo;<strong>exposer en public nos clés d&rsquo;APIs</strong>. Il serait alors très facile pour une personne d&rsquo;utiliser nos clés, augmentant ainsi notre facture.</p>
<p><strong>Quelques solutions :</strong> <a href="https://platform.openai.com/docs/overview" target="_blank" rel="noopener noreffer">OpenAI</a>, <a href="https://www.anthropic.com/api" target="_blank" rel="noopener noreffer">Anthropic</a>, <a href="https://ai.google.dev/api" target="_blank" rel="noopener noreffer">Gemini</a>. On peut ajouter <a href="https://firebase.google.com/docs/vertex-ai" target="_blank" rel="noopener noreffer">Firebase</a> qui est une rare solution à proposer un accès direct (sans serveur) sécurisé à une LLM (Gemini en l&rsquo;occurrence).</p>
<h2 id="via-notre-serveur-qui-héberge-un-modèle">Via notre serveur qui héberge un modèle</h2>
<p>Le second choix qui est également très répandu est celui d’héberger soi-même un modèle sur nos serveurs. On garde ainsi <strong>les avantages de passer par notre serveur</strong> (compatibilités avec tous les appareils, facilité de changement du modèle, utilisation de plusieurs modèles, …) tout en ayant <strong>plus de contrôle</strong>.</p>
<p>Un des aspects les plus intéressant concerne les données. En hébergeant un modèle open-source, on s&rsquo;assure <strong>un meilleur contrôle sur nos données</strong> et la manière dont elles sont utilisées, et surtout par <strong>qui</strong>.</p>
<p>Le coût sera aussi maîtrisé différemment. Exit un prix au token via une API tierce, cette fois on paie l&rsquo;hébergement du modèle.</p>
<p>Maintenant, comment choisir entre utiliser une API tierce et héberger un modèle ? Quelques insight possibles pour décider :</p>
<ul>
<li>passer par une API tierce pour prototyper rapidement, quand on est une petite entreprise, qu&rsquo;il n&rsquo;y a pas de données confidentielles.</li>
<li>héberger un modèle quand on est une plus grande entreprise, quand on veut mieux contrôler l’usage des données.</li>
</ul>
<p><strong>Quelques solutions :</strong> <a href="https://mistral.ai/" target="_blank" rel="noopener noreffer">Mistral</a> qui est open-source et français, se balader sur le <a href="https://huggingface.co/" target="_blank" rel="noopener noreffer">marketplace de Hugging Face</a>.</p>
<h2 id="en-local-avec-les-solutions-natives">En local avec les solutions natives</h2>
<p>Il existe aujourd&rsquo;hui des modèles plus légers qui peuvent fonctionner sur nos ordinateurs et nos téléphones, et certains appareils les intègrent par défaut. On peut donc les utiliser directement pour faire des inférences « <em><strong>on-device</strong></em> ».</p>
<p>Il y a plusieurs avantages à cette exécution locale. Premièrement, le coût. Il n&rsquo;y en a tout simplement pas. <strong>Pas besoin de payer</strong> un service tiers ou d&rsquo;héberger une solution existante, le modèle est déjà présent sur le téléphone. En fait, c&rsquo;est l&rsquo;utilisateur qui porte le coût : c&rsquo;est la puissance de son smartphone, via sa puce et sa batterie, qui réalisera toutes les opérations. On pensera alors à ménager sa batterie.</p>
<p>Deuxièmement, la <strong>confidentialité</strong>. Le modèle étant sur l&rsquo;appareil, les données sensibles n&rsquo;ont pas besoin de transiter sur internet ou d&rsquo;être lues par un serveur tiers. C&rsquo;est une des promesses phares de ces modèles. On restera méfiant tout de même s&rsquo;il faut utiliser des données très sensibles - l&rsquo;inférence est peut-être locale, mais des logs et données pourraient très bien remonter à des serveurs.</p>
<p>La rapidité est un potentiel troisième avantage. L&rsquo;inférence locale s&rsquo;oppose à une inférence sur un serveur distant qui nécessite des aller-retour sur internet. La communication réseau prenant du temps, on tient là un gain intéressant. Je parlerais d&rsquo;ailleurs plutôt de <strong>meilleure latence de réponse</strong>. D&rsquo;une certaine manière, les serveurs d&rsquo;OpenAI (par exemple) sont bien plus puissants que les puces de nos smartphones. Ce n&rsquo;est pas l&rsquo;inférence qui est plus rapide, mais plutôt le délai pour obtenir les réponses (grâce à des étapes en moins). À condition bien sûr d&rsquo;avoir un smartphone haut de gamme.</p>
<p>Tient-on alors la solution parfaite ? Aujourd&rsquo;hui en tout cas, on en est loin. On est très limité en termes de cibles compatibles. Il n&rsquo;y a rien sur iOS, Apple ne permet pas de prompter avec son Apple Intelligence. C&rsquo;est réalisable seulement sur Android, et même là, les smartphones disposant d&rsquo;une solution intégrée (Gemini Nano) sont peu nombreux, récents, et chers. Le pourcentage d&rsquo;utilisateurs que l&rsquo;on pourrait atteindre est <strong>faible</strong>.</p>
<p>C&rsquo;est également toujours marqué par Google comme <strong>expérimental</strong>, et selon les smartphones, le modèle n&rsquo;est pas pleinement intégré par défaut, il faut effectuer quelques actions.</p>
<p>Un point d&rsquo;attention qu&rsquo;il faudra garder en tête le jour où les modèles embarqués seront plus répandus : leurs différences. Apple et Google proposeront chacun leurs solutions, et il sera difficile (impossible ?) de reproduire avec certitude les mêmes comportements.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-kotlin" data-lang="kotlin"><span class="line"><span class="cl"><span class="n">scope</span><span class="p">.</span><span class="n">launch</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">  <span class="c1">// Single string input prompt
</span></span></span><span class="line"><span class="cl"><span class="c1"></span>  <span class="k">val</span> <span class="py">input</span> <span class="p">=</span> <span class="s2">&#34;I want you to act as an English proofreader. I will provide you</span>
</span></span><span class="line"><span class="cl">    <span class="n">texts</span><span class="p">,</span> <span class="n">and</span> <span class="n">I</span> <span class="n">would</span> <span class="n">like</span> <span class="n">you</span> <span class="n">to</span> <span class="n">review</span> <span class="n">them</span> <span class="k">for</span> <span class="n">any</span> <span class="n">spelling</span><span class="p">,</span> <span class="n">grammar</span><span class="p">,</span> <span class="n">or</span>
</span></span><span class="line"><span class="cl">    <span class="n">punctuation</span> <span class="n">errors</span><span class="p">.</span> <span class="n">Once</span> <span class="n">you</span> <span class="n">have</span> <span class="n">finished</span> <span class="n">reviewing</span> <span class="n">the</span> <span class="n">text</span><span class="p">,</span> <span class="n">provide</span> <span class="n">me</span>
</span></span><span class="line"><span class="cl">    <span class="n">with</span> <span class="n">any</span> <span class="n">necessary</span> <span class="n">corrections</span> <span class="n">or</span> <span class="n">suggestions</span> <span class="k">for</span> <span class="n">improving</span> <span class="n">the</span> <span class="n">text</span><span class="p">:</span> <span class="n">These</span>
</span></span><span class="line"><span class="cl">    <span class="n">arent</span> <span class="n">the</span> <span class="n">droids</span> <span class="n">your</span> <span class="n">looking</span> <span class="k">for</span><span class="p">.</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl">  <span class="k">val</span> <span class="py">response</span> <span class="p">=</span> <span class="n">generativeModel</span><span class="p">.</span><span class="n">generateContent</span><span class="p">(</span><span class="n">input</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">  <span class="n">print</span><span class="p">(</span><span class="n">response</span><span class="p">.</span><span class="n">text</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl">  <span class="c1">// Or multiple strings as input
</span></span></span><span class="line"><span class="cl"><span class="c1"></span>  <span class="k">val</span> <span class="py">response</span> <span class="p">=</span> <span class="n">generativeModel</span><span class="p">.</span><span class="n">generateContent</span><span class="p">(</span>
</span></span><span class="line"><span class="cl">  <span class="n">content</span> <span class="p">{</span>
</span></span><span class="line"><span class="cl">    <span class="n">text</span><span class="p">(</span><span class="s2">&#34;I want you to act as an English proofreader. I will provide you texts</span>
</span></span><span class="line"><span class="cl">      <span class="n">and</span> <span class="n">I</span> <span class="n">would</span> <span class="n">like</span> <span class="n">you</span> <span class="n">to</span> <span class="n">review</span> <span class="n">them</span> <span class="k">for</span> <span class="n">any</span> <span class="n">spelling</span><span class="p">,</span> <span class="n">grammar</span><span class="p">,</span> <span class="n">or</span>
</span></span><span class="line"><span class="cl">      <span class="n">punctuation</span> <span class="n">errors</span><span class="p">.</span><span class="s2">&#34;)</span>
</span></span><span class="line"><span class="cl">    <span class="n">text</span><span class="p">(</span><span class="s2">&#34;Once you have finished reviewing the text, provide me with any</span>
</span></span><span class="line"><span class="cl">      <span class="n">necessary</span> <span class="n">corrections</span> <span class="n">or</span> <span class="n">suggestions</span> <span class="k">for</span> <span class="n">improving</span> <span class="n">the</span> <span class="n">text</span><span class="p">:</span><span class="s2">&#34;)</span>
</span></span><span class="line"><span class="cl">    <span class="n">text</span><span class="p">(</span><span class="s2">&#34;These arent the droids your looking for.&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="cl">    <span class="p">}</span>
</span></span><span class="line"><span class="cl">  <span class="p">)</span>
</span></span><span class="line"><span class="cl">  <span class="n">print</span><span class="p">(</span><span class="n">response</span><span class="p">.</span><span class="n">text</span><span class="p">)</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></div><h2 id="en-local-avec-un-modèle-à-intégrer">En local avec un modèle à intégrer</h2>
<p>En attendant qu&rsquo;une grande majorité des appareils Android et iOS embarquent au sein de leurs systèmes des modèles accessibles aux développeurs, une solution pour avoir une exécution locale serait d&rsquo;intégrer soi-même un modèle existant dans l&rsquo;application.</p>
<p>Ainsi, on peut théoriquement cibler bien plus d&rsquo;appareils et de systèmes / versions ; tant que ceux-ci sont assez puissants. On garderait alors la plupart des avantages d&rsquo;une inférence locale : la rapidité sur les bons appareils, la confidentialité, et le coût réduit.</p>
<p>Réduit, mais pas inexistant. Le modèle n&rsquo;étant pas embarqué dans le système de l&rsquo;appareil, <strong>il faut le rendre téléchargeable</strong>&hellip; et donc l&rsquo;héberger. On aura un coût de stockage et de bande passante. La bonne nouvelle, c&rsquo;est que le téléchargement ne doit se faire qu&rsquo;une seule fois par l&rsquo;utilisateur au moment où l&rsquo;application en aura besoin. Chaque usage sera ensuite totalement local et n&rsquo;aura pas d&rsquo;impact sur les coûts.</p>
<p>Cette contrainte a un second désavantage : elle requiert <strong>un effort pour l&rsquo;utilisateur</strong>. Il devra télécharger un modèle. Même si l&rsquo;application fait tout le travail, l&rsquo;utilisateur va devoir patienter - un modèle étant lourd. Il devra aussi réserver de la place sur son appareil pour stocker ce modèle. Modèle qui ne fonctionnera que sur cette application.</p>
<p>Imaginons que plusieurs applications optent pour cette solution, cela représenterait des gigaoctets de téléchargement et de stockage. Ce n&rsquo;est pas viable.</p>
<p><strong>Quelques solutions :</strong> <a href="https://ai.google.dev/gemma" target="_blank" rel="noopener noreffer">Gemma</a> de Google, <a href="https://azure.microsoft.com/en-us/products/phi" target="_blank" rel="noopener noreffer">Phi</a> de Microsoft, <a href="https://www.llama.com/" target="_blank" rel="noopener noreffer">Llama</a> de Meta.  <a href="https://picovoice.ai/picollm/" target="_blank" rel="noopener noreffer">PicoLLM</a> pour la compression.</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-dart" data-lang="dart"><span class="line"><span class="cl"><span class="kd">final</span> <span class="n">gemma</span> <span class="o">=</span> <span class="n">FlutterGemmaPlugin</span><span class="p">.</span><span class="n">instance</span><span class="p">;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1">// Async response
</span></span></span><span class="line"><span class="cl"><span class="c1"></span><span class="kt">String</span> <span class="n">response</span> <span class="o">=</span> <span class="kd">await</span> <span class="n">gemma</span><span class="p">.</span><span class="n">getResponse</span><span class="p">(</span><span class="nl">prompt:</span> <span class="s1">&#39;Tell me something interesting&#39;</span><span class="p">);</span>
</span></span><span class="line"><span class="cl"><span class="n">print</span><span class="p">(</span><span class="n">response</span><span class="p">);</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1">// Stream response
</span></span></span><span class="line"><span class="cl"><span class="c1"></span><span class="n">gemma</span><span class="p">.</span><span class="n">getAsyncResponse</span><span class="p">(</span><span class="nl">prompt:</span> <span class="s1">&#39;Tell me something interesting&#39;</span><span class="p">).</span><span class="n">listen</span><span class="p">((</span><span class="kt">String</span><span class="o">?</span> <span class="n">token</span><span class="p">)</span> <span class="o">=&gt;</span> <span class="n">print</span><span class="p">(</span><span class="n">token</span><span class="p">));</span>
</span></span></code></pre></div><h1 id="en-bref">En bref</h1>
<p>Les LLMs ne sont plus seulement utilisés à travers des applications de chat où l&rsquo;utilisateur écrit des prompts. On est dans une phase d&rsquo;exploration où beaucoup de possibilités restent à être imaginée et testée, mais des premiers usages existent déjà au sein d&rsquo;applications mobiles.</p>
<p>Et cela va très vite. Les idées fusent, les PoC se multiplient, et les appareils avec des modèles on-device vont se répandre. Les fonctionnalités augmentées par l&rsquo;IA pourraient devenir un incontournable. Il nous est déjà possible d&rsquo;en créer, il ne tient qu&rsquo;à nous d&rsquo;explorer.</p>
]]></description></item><item><title>Quelle évolution pour le métier de développeur face aux IA ?</title><link>https://jordanchapuy.com/posts/2024/12/quelle-evolution-pour-le-metier-de-developpeur-face-aux-ia-ai-articial-intelligence/</link><pubDate>Fri, 06 Dec 2024 18:00:00 +0100</pubDate><author>Auteur</author><guid>https://jordanchapuy.com/posts/2024/12/quelle-evolution-pour-le-metier-de-developpeur-face-aux-ia-ai-articial-intelligence/</guid><description><![CDATA[<p>L’Intelligence Artificielle. C’est sur toutes les lèvres en ce moment. En particulier chez les développeurs puisqu’on est triplement concernés : c’est un nouvel outil pour nous assister, c’est un nouveau produit avec lequel on peut créer des fonctionnalités, et c’est peut-être aussi quelque chose qui pourrait nous <em>remplacer</em>.</p>
<p>Ça y est, dès le premier paragraphe, le mot est lâché. Les IA vont nous remplacer. C’est en tout cas ce qui est annoncé pour l’année prochaine de manière tonitruante sur LinkedIn et Twitter, c’est donc forcément vrai ! Juste à côté des révélations sur ces pourcentages incroyables de productivité gagné grâce à ces nouveaux outils.</p>
<p>Mais quelle est donc la vérité vraie ? Quel sera le jour exact de notre mise à la retraite ? Qu’allons-nous faire ensuite ? Eh bien je n’en sais rien. Je n’ai pas cette compétence en divination que d’autres semblent avoir acquis.</p>
<p>Pour autant, je trouve qu’il y a des réflexions intéressantes sur notre métier face à l’IA, et j’ai envie de poser mes pensées et de les partager.</p>
<h1 id="les-outils-actuels">Les outils actuels</h1>
<p>Avant de s’amuser à parler du futur, regardons ce que l’on a aujourd’hui en termes d’outils pour le développeur. Je ne vais pas faire une liste exhaustive, mais plutôt un rapide tour d’horizon de quelques types d’usages aujourd’hui possible afin d’être aligné - les nouveautés vont vite.</p>
<p><strong>Des chats</strong>. Avec ChatGPT comme le plus répandu et Claude comme son concurrent le plus sérieux. Il nous est possible de générer du code à partir d’un énoncé, d’apprendre un concept, de donner du code pour le modifier, de résoudre un problème en collant un morceau de code voire même un lot d’erreur ou une stacktrace. Bref, beaucoup de possibilités pour être assisté.</p>
<p><strong>De la complétion de code</strong>. GitHub Copilot a ouvert le bal de l’intégration d’une IA dans les IDE pour générer la suite du code que l’on est en train d’écrire. Tantôt une simple ligne, tantôt tout le contenu d’une fonction.</p>
<p><strong>Des IDEs dopés</strong>. Explique-moi ce code, refactor ce morceau, créé cette fonction, intègre ma codebase, … Ce sont quelques exemples de nouveaux usages arrivés avec des IDEs construits autour de l’IA comme Cursor.</p>
<p><strong>Des sandbox</strong>. D’abord des usages simples avec ChatGPT Canvas et Claude Artifacts pour prompter sur un fichier qui se modifie au fur et à mesure, on voit maintenant des solutions comme Bolt.new qui vont générer et assembler du code puis le déployer.</p>
<p><strong>Des agents</strong>. Ici, on est encore plus dans l’expérimental avec de multiples tentatives d’avoirs des agents IA qui réalisent des tâches. Puis il y a Claude qui propose depuis peu de contrôler un PC à distance pour automatiser des tâches via des prompts grâce à sa fonctionnalité Computer Use.</p>
<p><strong>Des intégrations à d’autres systèmes</strong>. Les données sont très importantes pour obtenir des réponses plus pertinentes. Très récemment, Claude MCP a été dévoilé : c’est un protocole pour connecter l’IA à des services externes (notre Filesystem, Google Drive, Slack, …) et agir dessus !</p>
<h1 id="notre-métier-va-changer">Notre métier va changer</h1>
<p>Je suis convaincu que notre métier de développeur va évoluer. Deux choses me font penser cela.</p>
<p>Il y a un <strong>changement extérieur</strong> - l’arrivée de l’IA. Elle apporte des nouveaux outils, de nouvelles pratiques, de nouvelles façons de faire. Il y a et aura donc des impacts. On va s’y adapter, et on va donc évoluer.</p>
<p>Quand on regarde le passé, c’est au final ce qu’il se passe depuis que notre métier existe - <strong>il n’a cessé d’évoluer</strong>. Entre les cartes perforées et nos postes de travail actuel, il s’en est passé des choses ! Assembleur, langages bas niveau, modernes, éditeurs de texte, IDEs, linters, frameworks, gestionnaires de version, extreme programming, etc.</p>
<p>C’est d’ailleurs un des aspects que j’aime dans ce métier, il évolue en permanence et on a continuellement à apprendre.</p>
<p>Si on est plutôt confiant sur le fait que ça va bouger, la question suivante est vers quoi va-t-on se diriger ?</p>
<h1 id="plusieurs-étapes-de-changement">Plusieurs étapes de changement</h1>
<p>On ne passera pas d’un coup de « les devs codent » à « les IA sont magiques, construisent un produit complexe entièrement et dominent le monde ». Non, il y aura au moins <strong>plusieurs étapes</strong> avant d’y arriver (si on y arrive).</p>
<p>Je verrais bien quelque chose de ce genre :</p>
<ul>
<li><code>Les humains codent</code>,</li>
<li><code>Les humains codent et sont assistés par des IA</code>,</li>
<li><code>Les IA sont assistés par des humains</code>,</li>
<li><code>Les IA sont autonomes</code>.</li>
</ul>
<p>Et il y aura plusieurs sous-étapes dans « Les IA sont autonomes ». On n’arrivera pas du jour au lendemain avec des IA et des robots qui fabriquent des choses avant même que nous humains ayons conscience d’avoir besoin de quelque chose.</p>
<p>Je dirais qu’aujourd’hui on est dans « Les humains codent et sont assistés par des IA ». J’aime bien le nom que Microsoft a donné à GitHub Copilot d’ailleurs, ça représente bien cette étape.</p>
<p>J’explicite un peu avant de passer à la suite. J’ai en tête la création de <strong>produits complexes</strong>. Oui, aujourd’hui, on peut déjà créer des landing page ou des todo list basiques à l’aide de quelques prompts seulement, sans (trop) toucher au code. Mais on est loin de pouvoir faire créer le site de la Fnac, le système d’exploitation de nos smartphones, les systèmes bancaires, etc.</p>
<h1 id="ladoption-est-pour-linstant-faible-">L’adoption est pour l’instant faible ?</h1>
<p>Je me questionne sur le taux d’adoption auprès des développeurs. Si on met de côté le bruit créé par les influenceurs - forcément davantage en lumière que la masse - et qu’on regarde aussi de plus près la fréquence et les cas d’utilisation, j’ai l’impression que les développeurs adoptent lentement ces nouveaux outils.</p>
<p>J’imagine une pyramide, où plus on considère une utilisation régulière et avancée, moins il y a d’utilisateurs :</p>
<ul>
<li><code>Ceux qui connaissent</code>,</li>
<li><code>Ceux qui ont utilisé une fois ou deux</code>,</li>
<li><code>Ceux qui utilisent quelques fois chaque mois</code>,</li>
<li><code>Ceux qui utilisent quelques fois chaque jour</code>,</li>
<li><code>Ceux qui utilisent en permanence de multiples IA pour tout un tas d’usages</code>.</li>
</ul>
<figure><a href="images/pyramide-utilisations.png"></a>
</figure>

<p>C’est très subjectif par rapport à ce que je peux observer bien sûr, je n’ai aucune statistique. Mais je dirais que peu de développeurs ont un usage fort de l’IA. On est plutôt dans une phase Early Adopters. Beaucoup ont donc encore à s’équiper, apprendre, expérimenter.</p>
<p>Et ce n&rsquo;est pas tout. Jusque-là, on parlait de l&rsquo;IA à travers un prisme consommateur, mais il y a d&rsquo;autres angles à considérer dans l&rsquo;écosystème de l&rsquo;IA avec également de moins en moins de personnes :</p>
<ul>
<li><code>Ceux qui consomment l'IA (clients)</code>,</li>
<li><code>Ceux qui créent des fonctionnalités et des outils augmentés par de l'IA (développeurs)</code>,</li>
<li><code>Ceux qui personnalisent une IA existante avec du fine-tuning, LoRA, RAG... (data/développeurs)</code>,</li>
<li><code>Ceux qui créent l'IA (chercheurs)</code>.</li>
</ul>
<figure><a href="images/pyramide-usages.png"></a>
</figure>

<h1 id="la-qualité-du-code-sera-moins-importante">La qualité du code sera moins importante</h1>
<p>Les IA font aussi grincer quelques dents. « La qualité du code est nulle. Il y a des hallucinations. On va finir par ne rien comprendre. ». Il y a du vrai là-dedans. Ce n’est juste pas autant noir ou blanc comme certains laissent penser. Il faut nuancer, et ajouter une temporalité.</p>
<p>Je pense qu’il y a une partie d’ego qui est touchée. C’est nouveau, ça dérange, ça change, ça fait peur. Il y a de la résistance, les problèmes sont principalement mis en avant.</p>
<p>Mais <strong>ces problèmes existent</strong> bel et bien. Aujourd’hui, les IA génèrent des choses utiles tout comme elles vont écrire de belles conneries. Du code bien écrit, qui fonctionne mais illisible, qui ne compile même pas, qui provoque des bugs. On a un peu de tout.</p>
<p>Et <strong>il faut interagir avec ce code généré</strong>. On doit (un minimum) le comprendre, l’intégrer aux bons endroits dans une plus grande base de code existante. On devra le retoucher, le brancher avec d’autres composants. Il vit rarement tout seul dans son coin.</p>
<p>Même si on est un enthousiaste de l’IA, il ne faut pas se mettre des œillères et continuer à réfléchir. La qualité a son importance. Aujourd’hui.</p>
<p>Elle a son importance car on a encore besoin de lire le code, le comprendre, le manipuler. <strong>Une bonne qualité nous permet de faciliter le changement</strong>. On a besoin de faire évoluer et de maintenir notre base de code et nos fonctionnalités. Mais demain ?</p>
<p>S’il suffit d’écrire un prompt, ou modifier un fichier de « spécifications-prompt » pour effectuer un changement, et que l’IA est la seule à interagir avec le code, à quel point a-t-on besoin d’une grande qualité de code ?</p>
<p>D’un côté, <strong>le changement est facile</strong>, il suffit d’écrire des prompts. De l’autre côté, <strong>on ne met plus les mains dedans</strong>. De multiples fichiers et composants seront probablement régénérés à chaque fois par l’IA elle-même, qui n’aura pas les mêmes problématiques de compréhension de code que nous.</p>
<h1 id="un-langage-de-programmation-dencore-plus-haut-niveau-">Un langage de programmation d’encore plus haut niveau ?</h1>
<p>J’hypothèse qu’à un moment, la manière de communiquer avec les modèles d’IA deviendra notre nouveau langage de programmation. Quelque chose de <strong>très haut niveau</strong>, qui a de moins en moins d’aspect technique.</p>
<p>On peut l’observer si on regarde dans le passé. On a aujourd’hui de multiples langages de haut niveau, qui embarquent davantage de possibilités (faire des fonctions, des classes versus faire des sauts) et qui permettent de cacher / moins se soucier de certaines problématiques techniques (gérer des registres, avoir des pointeurs).</p>
<p>Code machine, assembleur, C, Java, Kotlin. Le <em>prompt</em> (peu importe sa forme et son nom) serait-il un prochain nouveau langage encore plus haut niveau ?</p>
<p>Il faudrait connaître sa syntaxe - facile, c’est du français, anglais, etc - et on y ajouterait quelques concepts techniques. Qui seront d’ailleurs probablement <strong>de plus en plus abstrait</strong>.</p>
<p>Peut-être qu’au début il faudra guider davantage, avoir les concepts et certains mots-clés assez précis « Enregistres tous les appels réseaux entrant, les erreurs HTTP, les temps de réponse. Branches sur Datadog. Je veux un Dashboard. » Puis un jour simplement « Ajoutes du monitoring, je veux un Dashboard ».</p>
<h1 id="le-futur-est-difficilement-prévisible">Le futur est difficilement prévisible</h1>
<p>Je vais finir sur ce que l’on ne peut pas finir, la suite. Le futur est difficilement prévisible. Je ne suis pas devin, et personne ne l’est. Ce ne sont ici que mes réflexions à voix haute.</p>
<p>Ça avance tellement vite que ça pourrait arriver demain. Les IA pourraient aussi être très différentes pour que toutes nos projections soient fausses. Ou il pourrait soudainement y avoir un énorme mur. Une grosse limitation technique très dure à franchir. Une énorme régulation mondiale. Ou une grande guerre, dans un monde avec encore moins de ressources et plus de problèmes.</p>
]]></description></item></channel></rss>