Blog AI / Agent

Les AI Coding Agents ne se limitent plus à la complétion : que se disputent Codex, Claude Code, OpenCode et DeepSeek Harness ?

Il y a deux ans, « l’IA qui écrit du code » voulait encore dire la suggestion de la ligne suivante dans l’éditeur. En 2026, ce qui tourne dans le terminal est une autre catégorie de produits : Codex, Claude Code, OpenCode, DeepSeek Harness — ils modifient des fichiers, lancent des tests, appellent MCP, et peuvent ouvrir des sous-Agents pour enquêter en parallèle.

En surface, les quatre vendent le même ensemble : LLM + outils + Agent loop. Le vrai champ de bataille n’est pas la checklist de fonctionnalités, mais le centre d’architecture : qui renforce l’Agent, qui gère les frontières d’exécution, qui mise sur l’indépendance du modèle, qui fait du runtime lui-même une pièce remplaçable.

Cet article clarifie :

En une phrase :Accomplir une tâche ≈ modèle × Harness × tâche. Les quatre ne comparent pas « qui a le plus d’interrupteurs », mais où tombe le contrôle — Claude Code renforce un Agent unique, Codex gère sandbox et approbations, OpenCode mise sur des modèles interchangeables, DeepSeek Harness fait du loop et des capacités des plugins.

Ce qui se dispute vraiment

La complétion répond à « que mettre sur la ligne suivante ». Un Coding Agent répond à « comment finir cet objectif dans un vrai dépôt » : lire le contexte, choisir des outils, modifier le code, lancer des commandes, lire le résultat, décider à nouveau.

La boucle sous-jacente est presque identique :

La forme d’Agent loop partagée par les quatre
User goal
  → Agent loop
  → LLM decides next action
  → Tool / environment executes
  → Result returns to context
  → Agent decides again

Le modèle raisonne et choisit la prochaine action ; le harness décide ce qu’il voit, quels outils il peut appeler, ce que les outils font vraiment, comment l’état est persisté, quelles actions exigent une approbation, et ce qui compte comme tâche terminée. Même un modèle fort échoue si le contexte est incomplet, le contrat d’outil lâche, les permissions trop larges, ou les échecs non récupérables.

Aussi la concurrence 2026 ne se résume plus à « qui a le meilleur score de benchmark », mais à « qui organise le plus clairement l’intelligence, l’exécution, la politique, les outils et le contrôle humain ». Pour l’assemblage en quatre couches, voir :

Pile technique Agent IA 2026 : LLM, MCP, Function Calling, JSON Schema

Quatre centres d’architecture

D’abord tracer les frontières. Les checklists de fonctionnalités vont se ressembler, mais la question centrale diffère :

Produit Centre d’architecture Question centrale
Claude Code Claude Agent Comment rendre un Agent principal plus fort et plus utilisable ?
Codex Agent + runtime d’exécution Comment l’Agent agit de façon autonome sur une vraie machine sans perdre le contrôle ?
OpenCode Harness indépendant du modèle Comment laisser l’utilisateur changer librement modèles et fournisseurs, sans verrouillage ?
DeepSeek Harness Runtime composable Modèles, outils, loop, sandbox : peuvent-ils se remplacer et se recombiner comme des plugins ?

La dernière ligne n’est pas un classement, mais la frontière produit : achetez-vous « un assistant plus fort », « un environnement d’exécution plus contrôlable », ou « une plateforme Agent extensible ».

Claude Code : centré Agent

Claude Code se comprend mieux comme un produit centré sur l’Agent principal. Skills, MCP, sous-Agents, Hooks, permissions servent tous à rendre le même Claude Agent plus efficace — pas à découper l’Agent loop lui-même en noyau remplaçable.

Points d’extension typiques :

Le compromis d’ingénierie est clair : Agent probabiliste + Hooks déterministes. Lancer les tests après une modification, bloquer les commandes dangereuses, approuver d’abord les chemins protégés — on ne doit pas compter sur le modèle pour « s’en souvenir à chaque fois ».

Adapté à : workflows clairs, priorité à l’expérience et à la qualité de contexte, équipes qui étendent la boucle principale avec Skills et sous-Agents.

Codex : centré exécution

Codex (y compris Codex CLI) pousse le problème vers la couche d’exécution : dès qu’un Agent peut modifier des fichiers, lancer un shell, installer des dépendances, toucher le réseau et les credentials, il faut répondre à deux questions distinctes — frontières de capacité et permission actuelle.

Deux mécanismes, deux rôles :

Mécanisme Question à laquelle il répond
Sandbox Que peut-on accéder / modifier techniquement ?
Approval / Policy Cette action est-elle autorisée maintenant ?

Le principe est la minimisation des capacités : ne pas donner d’abord tous les droits puis demander « d’être prudent », mais resserrer l’environnement d’abord, puis élargir au besoin. CLI en Rust, défaut collé aux endpoints OpenAI, et un récit sandbox assez fort — tout cela suit la ligne « l’Agent doit travailler sur un vrai ordinateur ».

Adapté à : effets de bord à haut risque, traces d’exécution auditables, scénarios où approbation et isolation sont des citoyens de première classe. Dépôt open source :

openai/codex.

OpenCode : indépendance du modèle

La différenciation d’OpenCode n’est pas « une syntaxe Skills de plus », mais une posture par défaut : le modèle est interchangeable. Open source MIT, terminal-first, avec de nombreux fournisseurs et modèles locaux (ex. Ollama / LM Studio). La flexibilité vit surtout dans la config — providers, models, permissions, themes — pas dans un bus de plugins qui démonte le noyau du harness.

Conclusion produit très concrète : si vous vous méfiez du verrouillage, ou si la même session doit basculer entre plusieurs modèles, la question centrale d’OpenCode est « comment ne pas être lié à un fournisseur de modèles ».

Il gagne souvent sur :

Le coût : frontières d’exécution et profondeur de plugins ne sont pas forcément le premier argument de vente. Vous achetez un harness à modèles interchangeables, pas le produit sandbox le plus lourd, ni un noyau plateforme « Everything is a plugin ».

DeepSeek Harness : centré runtime

DeepSeek Harness (dsh) pousse encore plus loin : et si l’Agent Loop lui-même n’était pas un noyau permanent ? Le slogan de la preview publique est Everything is a plugin — modèles, outils, skills, sessions, sandbox, stockage, loop, ordonnancement, UI sont tous remplaçables.

Ce n’est pas « noyau stable + points d’extension périphériques ». La frontière est poussée vers l’intérieur : le mécanisme qui pilote l’Agent peut aussi être recombiné. Les capability seams font dépendre les consommateurs du contrat, pas d’une seule implémentation : shell local vs shell conteneur, modèle distant vs inférence locale, ReAct loop vs workflow loop — on change de fournisseur sans réécrire tous les outils.

D’où une posture plus plateforme :

La composabilité a un coût : la surface conceptuelle Plugin / Service / Provider / Effect / Session est plus large. Pour un utilisateur terminal qui « veut juste que le dépôt soit modifié », la courbe d’apprentissage peut dépasser Claude Code ou Codex ; pour une équipe qui construit une plateforme Agent extensible, c’est précisément l’argument de vente.

Si vous vous intéressez surtout à l’API modèle DeepSeek et à la sortie JSON, commencez par :

DeepSeek V4-Pro : analyse complète

Carte du contrôle

Plus utile qu’une checklist de fonctionnalités : demander à qui revient chaque décision. Le tableau ci-dessous condense les styles de contrôle des quatre (OpenCode et dsh sont proches sur la « remplaçabilité », mais pas à la même profondeur) :

Dimension Centré Agent Centré exécution Remplaçabilité
Représentant Claude Code Codex dsh / OpenCode
Optimisation principale Capacités et expérience Exécution autonome sûre Changer de modèle / de capacités
Agent loop Centre explicite Centre explicite Config remplaçable / plugins remplaçables
Moyens de sécurité Hooks + permissions Sandbox + approbation + politique Politique de config / politique runtime et événements
Meilleur ajustement Produit Agent spécialisé Agent qui opère sur de vrais systèmes Utilisateurs multi-modèles / plateforme extensible

Un cran plus bas : comprendre la tâche et générer le plan penche vers le modèle ; valider les paramètres, juger les permissions, exécuter les outils, terminer l’exécution penche vers programmes et politiques ; les actions à haut risque impliquent encore l’humain. Les quatre couvrent ces mots, mais placent le poids sur des cases différentes.

Le contrat JSON reste le socle commun

Quel que soit le harness choisi, l’appel d’outil finit par une structure exécutable par machine : nom de fonction + paramètres JSON. inputSchema / outputSchema MCP, parameters de Function Calling, response_format de Structured Output — le langage sous-jacent reste JSON Schema.

Où apparaît le contrat :

Étape Forme courante Ce qu’il contraint
Le modèle choisit l’outil Function Calling / tools JSON Schema
Protocole d’outils externes MCP / Apps inputSchema / outputSchema
Validation avant exécution Runtime validate Champs manquants, mauvais types, paramètres sales
Trajectoire et audit tool call / result JSON Événements structurés rejouables

Accident classique : parameters côté modèle et MCP inputSchema écrits en double, champs ou enums qui dérivent — on croit que « le modèle n’arrive jamais à appeler l’outil ». La correction : un seul contrat, deux points d’accroche. Contexte :

Pourquoi l’IA a besoin de JSON Schema et JSON Schema pour AI Agents : guide complet.

Exemple : fragment de Schema pour paramètres d’outil Coding Agent
{
  "name": "run_tests",
  "description": "Run the project test suite and return a structured summary.",
  "parameters": {
    "type": "object",
    "properties": {
      "suite": { "type": "string", "enum": ["unit", "integration", "e2e"] },
      "path": { "type": "string", "minLength": 1 }
    },
    "required": ["suite"],
    "additionalProperties": false
  }
}

Pour déboguer ce chemin, tout se fait localement dans le navigateur, sans upload :

  1. 1
    Formater les arguments

    Collez la chaîne arguments renvoyée par le modèle dans Formatage JSON, pour vérifier d’abord que c’est du JSON valide.

  2. 2
    Valider contre le Schema

    Utilisez JSON Schema pour vérifier required, enum, additionalProperties.

  3. 3
    Comparer la dérive

    parameters côté modèle et MCP inputSchema avec JSON Diff pour voir si les champs restent alignés.

Comment choisir

Choisissez selon les contraintes, pas selon la hype :

On peut aussi combiner : par ex. OpenCode / dsh pour expérimenter multi-modèles, effets de bord de prod derrière des frontières façon Codex ; ou boucle principale Claude Code, systèmes externes via MCP. L’essentiel : ne pas faire du « score modèle » le seul critère d’achat.

FAQ

Quelle est la différence essentielle entre un AI Coding Agent et la complétion de code ?

La complétion ne propose que la ligne suivante ; un Coding Agent lit le dépôt, modifie des fichiers, lance des commandes, appelle des outils, et continue à décider dans une boucle selon les résultats. L’enjeu passe de la « qualité de génération » aux « frontières d’exécution et au contrôle du runtime ».

Qui est le meilleur entre Codex, Claude Code, OpenCode et DeepSeek Harness ?

Il n’y a pas de champion unique. Cela dépend de ce que vous optimisez : expérience et Skills → Claude Code ; sandbox et approbations → Codex ; multi-modèles et anti-verrouillage → OpenCode ; runtime remplaçable et plateforme → DeepSeek Harness.

DeepSeek Harness et OpenCode sont tous deux open source — quelle différence ?

La flexibilité d’OpenCode porte surtout sur la config modèles et fournisseurs ; DeepSeek Harness (dsh) transforme modèles, outils, loop, sandbox, sessions, etc. en plugins remplaçables — plus proche d’une plateforme de runtime Agent composable.

Pourquoi parler encore de JSON Schema ?

Paramètres d’outils, MCP inputSchema/outputSchema, Structured Output : le langage sous-jacent reste JSON Schema. Même un harness puissant échoue si des paramètres sales atteignent la couche d’exécution — la validation du contrat reste une responsabilité du Runtime.

Quelle couche surveiller en priorité quand on choisit un Agent ?

Surveillez le contrôle : qui choisit les outils, qui valide les paramètres, qui approuve les actions à haut risque, qui termine la tâche. Le score du modèle n’est qu’une entrée ; le harness décide si la tâche peut être menée à bien en sécurité.

En résumé

Codex, Claude Code, OpenCode et DeepSeek Harness partagent le même vocabulaire : LLM, outils, loop, contexte, Skills, sous-Agents, permissions, sandbox. Ce ne sont plus de « meilleures complétions » — ils se disputent où tombe le contrôle.

Claude Code renforce un Agent ; Codex laisse l’Agent agir de façon contrôlée dans un vrai environnement ; OpenCode mise sur des modèles interchangeables ; DeepSeek Harness fait du runtime et des capacités une plateforme composable.

La question importante n’est plus « comment appeler le modèle », mais « comment organiser l’intelligence, l’exécution, la politique, les outils, le contexte et le contrôle humain ». Le JSON de la couche contrat d’outils reste la couche que vous pouvez vérifier localement.

Déboguer le JSON d’outils Agent ? Localement dans le navigateur.

← Retour au blog