32 points par GN⁺ 25 일 전 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Un agent de codage est un système composé d’une boucle de contrôle et d’un harnais logiciel centrés sur un LLM, qui répète l’écriture, l’exécution et le retour d’information sur le code
  • Le harnais d’agent gère le contexte, l’accès aux outils, la composition des prompts et le contrôle d’état, tandis que le harnais de codage, spécialisé pour les tâches de développement, gère le dépôt, les tests et la vérification des erreurs
  • Un agent de codage fonctionne autour de six composants : contexte du dépôt en temps réel, cache de prompts, accès aux outils, gestion du contexte, mémoire de session, délégation à des sous-agents
  • À LLM identique, les performances et l’expérience utilisateur peuvent varier fortement selon la qualité de conception du harnais, et un bon harnais fournit un environnement de développement continu et conscient du contexte
  • Mini Coding Agent est un exemple minimal implémenté en Python pur de cette architecture, avec des différences vis-à-vis d’OpenClaw sur le degré de spécialisation pour le codage et le périmètre d’exploitation

Les composants d’un agent de codage

  • Un agent de codage est un système composé d’une boucle de contrôle centrée sur un LLM et d’un harnais logiciel (harness) qui l’entoure, avec une structure répétant l’écriture, la modification, l’exécution et le retour d’information sur le code
  • Un LLM est fondamentalement un modèle de prédiction du token suivant, tandis qu’un modèle de raisonnement (reasoning model) est un LLM entraîné à effectuer davantage de raisonnement intermédiaire et de vérification
  • Un agent est une boucle de contrôle qui répète l’appel au modèle, l’utilisation d’outils, la mise à jour de l’état et la décision d’arrêt afin d’atteindre un objectif
  • Un harnais d’agent (agent harness) est la structure logicielle qui enveloppe cette boucle et prend en charge notamment la gestion du contexte, l’accès aux outils, la composition des prompts et le contrôle d’état
  • Un harnais de codage (coding harness) est une forme spécialisée pour les tâches de développement, qui gère le contexte du dépôt, l’exécution du code, les tests et la vérification des erreurs

Relation entre LLM, modèle de raisonnement et agent

  • On peut comparer le LLM à un moteur, le modèle de raisonnement à un moteur renforcé, et le harnais d’agent au système qui pilote ce moteur
  • LLM et modèles de raisonnement peuvent effectuer seuls des tâches de codage, mais dans un environnement de développement réel, il faut gérer un contexte complexe : exploration du dépôt, recherche de fonctions, exécution des tests, analyse des erreurs
  • Le harnais de codage permet d’exploiter au maximum les performances du modèle et offre une expérience de codage bien plus puissante qu’une simple interface de chat

Le rôle du harnais de codage

  • Il s’agit de la couche logicielle qui entoure le modèle et assure l’assemblage des prompts, l’exposition des outils, le suivi de l’état des fichiers, l’exécution de commandes, la gestion des permissions, le cache, le stockage de la mémoire, etc.
  • Même avec le même LLM, les performances et l’expérience utilisateur varient fortement selon la conception du harnais
  • Par exemple, un modèle open weights comme GLM-5 peut atteindre des performances comparables s’il est intégré à un harnais du niveau de Codex ou Claude Code
  • OpenAI a déjà maintenu séparément des modèles de post-traitement selon le harnais, comme GPT-5.3 et GPT-5.3-Codex

Les 6 composants clés d’un agent de codage

  • 1. Contexte du dépôt en temps réel (Live Repo Context)

    • L’agent doit connaître l’état actuel du dépôt Git, la branche, la documentation et les commandes de test
    • Une instruction comme « corriger les tests » dépend de la structure et du contexte du dépôt ; il faut donc collecter un résumé du dépôt avant de commencer
    • Cela évite de repartir d’un état zéro à chaque fois et permet de disposer de faits de travail stables (stable facts)
  • 2. Structure des prompts et réutilisation du cache (Prompt Shape and Cache Reuse)

    • Comme le résumé du dépôt, la description des outils et les consignes générales changent peu, ils sont mis en cache sous forme de « préfixe de prompt stable (stable prompt prefix) »
    • Au lieu de reconstruire l’intégralité du prompt à chaque requête, seules les parties modifiées sont mises à jour
    • Dans les sessions répétées, cela réduit le gaspillage de calcul et maintient la cohérence des réponses
  • 3. Accès aux outils et usage (Tool Access and Use)

    • Au lieu de seulement proposer des commandes, le modèle peut réellement les exécuter via un ensemble d’outils défini par le harnais
    • Chaque outil a des formats d’entrée et de sortie clairs ainsi que des limites définies, avec validation et procédure d’approbation avant exécution
    • Exemples : « est-ce un outil connu ? », « les arguments sont-ils valides ? », « le chemin de travail est-il dans le workspace ? »
    • Cela renforce la sécurité et la fiabilité ; la liberté du modèle diminue, mais l’utilité pratique augmente
  • 4. Réduire au minimum l’encombrement du contexte (Minimizing Context Bloat)

    • Dans les longues sessions, les lectures répétées de fichiers, les logs et les sorties d’outils peuvent faire dépasser la longueur maximale du prompt
    • Le harnais gère cela avec deux stratégies
      • Clipping : raccourcir les longs textes, logs et mémos à une certaine longueur
      • Summarization : compresser et résumer l’historique plus ancien de la conversation
    • Les événements récents sont conservés en détail, tandis que les informations plus anciennes sont dédupliquées et compressées
    • En pratique, la qualité du contexte a plus d’impact sur les performances réelles que la qualité du modèle
  • 5. Mémoire de session structurée (Structured Session Memory)

    • L’agent sépare son état entre mémoire de travail (working memory) et transcription complète de la conversation (full transcript)
    • L’historique complet inclut toutes les requêtes, réponses et sorties d’outils, et permet de reprendre la session
    • La mémoire de travail stocke sous forme résumée les informations importantes du moment (tâche en cours, fichiers clés, notes récentes, etc.)
    • La transcription compacte (compact transcript) sert à reconstruire le prompt du modèle, tandis que la mémoire de travail assure la continuité du travail
  • 6. Délégation à des sous-agents bornés (Delegation With Bounded Subagents)

    • L’agent principal crée des sous-agents (subagents) pour traiter en parallèle des tâches auxiliaires
    • Exemples : localiser la définition d’un symbole, vérifier le contenu d’un fichier de configuration ou analyser la cause d’un échec de test
    • Les sous-agents n’héritent que du contexte nécessaire et sont limités par des contraintes comme lecture seule ou profondeur de récursion restreinte
    • Claude Code et Codex prennent tous deux en charge les sous-agents, avec des limites définies par le périmètre de la tâche et la profondeur du contexte

Résumé des composants

  • Les six composants sont étroitement liés entre eux, et la qualité de conception du harnais détermine l’efficacité d’exploitation du modèle
  • Un harnais de codage bien conçu offre un environnement d’assistance au développement bien plus persistant et conscient du contexte qu’un simple chat avec un LLM
  • Mini Coding Agent(https://github.com/rasbt/mini-coding-agent) est un exemple minimal en Python pur de cette architecture

Comparaison avec OpenClaw

  • OpenClaw se rapproche davantage d’une plateforme d’agents généraliste que d’un assistant dédié au codage
  • Points communs :
    • utilisation de fichiers de prompts et d’instructions dans le workspace (AGENTS.md, TOOLS.md, etc.)
    • présence de fichiers de session JSONL, de compression des conversations et de gestion de session
    • possibilité de créer des sessions auxiliaires et des sous-agents
  • Différences :
    • les agents de codage sont optimisés pour l’exploration du dépôt, l’édition de code et l’exécution d’outils locaux
    • OpenClaw met l’accent sur l’exploitation d’agents longue durée entre plusieurs canaux et plusieurs workspaces

Annexe : annonce d’un nouveau livre

  • Build A Reasoning Model (From Scratch) est terminé, et une version en accès anticipé (Early Access) est actuellement disponible
  • L’éditeur travaille sur la mise en page avec un objectif de publication cet été
  • Le livre est centré sur une approche consistant à implémenter et comprendre directement les mécanismes de raisonnement des LLM

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.