Introduction

Ces dernières années, l’intelligence artificielle et notamment les LLM se sont développées à une vitesse inimaginable. Avec cette course à l’intelligence, des outils sont développés autour de ces modèles pour augmenter leur capacités. Parmi eux de célèbres outils de CLI : Claude code, codex, Gemini.

Dans cette note je vous propose de partager mon expérience avec opencode après plusieurs mois d’utilisation.

Mon utilisation

Le retour d’expérience est basé sur l’utilisation depuis le 09 avril 2026, soit 149 jours d’utilisation.

Statistiques d’utilisation d’opencode

Découverte

Avant d’utiliser opencode, j’utilisais l’IDE Antigravity. Il était important pour moi de pouvoir lire et modifier les fichiers moi-même. Le fait de ne pas avoir accès au code et de ne pas pouvoir examiner le code est encore aujourd’hui un aspect qui me rend frileux.

Passer à un outil entièrement basé sur le terminal, était complexe pour moi. Cependant je voyais sur Internet beaucoup de personnes dire qu’elles ne pourraient plus revenir en arrière après avoir essayé un outil similaire (codex, claude code, etc…). Par curiosité, je devais donc essayer l’un de ces outils.

Pourquoi opencode ?

Claude code est incontestablement l’outil CLI de gestion d’intelligence artifciel le plus utilisé aujourd’hui. Alors pourquoi ne pas utiliser Claude code ?

La première raison est la dépendance. Je ne souhaitais pas développer une dépendance quotidienne à un outil opaque gérée par une entreprise privée. Si les tarifs augmentent ou l’outil est restreint , je dois réorganiser toute ma manière de travailler.

La seconde raison est la liberté. Aujourd’hui il existe des milliers de providers fournissant un accès à des LLM via API. Si demain OpenAI augmente drastiquement les prix de leur API, je peux faire jouer la concurrence et utiliser une autre API. Dans quelques années il sera peut-être même possible d’utiliser des LLM locaux suffisamment intelligent pour coder localement avec un agent. D’un point de vue économique et environemental, il est aussi possible d’adapter le modèle d’IA à la tâche en cours; En faisant cela on économise de l’argent et de l’énergie.

Les alternatives open-source à claude code

Naturellement je me suis donc tourné vers les alternatives open-source et développées par la communauté. Parmis celles-ci, deux outils émergent :

  • Opencode
  • Pi

Je parlerais dans une autre note du framework Pi qui a également révolutionné le monde du harness LLM. Le framework opencode est lui-même construit sur la base du framework Pi.

Le verdict

Après plusieurs mois d’utilisation, je ne pourrais plus revenir en arrière. Bien utilisé, opencode multiplie les rendus. Dans cette section je vais donner mon avis honnête sur les avantages et les inconvénients d’Opencode.

Les avantages

Les agents

Opencode propose une fonctionnalité d’agents extrêmement intéressante. Elle permet de créer des agents et sous-agent qui vont pouvoir interagir pour mener au mieux une tâche demandée.

L’agent d’Opencode

Un agent c’est une IA avec laquelle on peut interagir directement et qui se voit donner des “compétences spécialisées” préalablement. Un humain (ou une IA) crée un fichier d’instruction markdown qui regroupera les directives et usage de l’agent. C’est de cette façon que l’agent est “spécialisé” (je mets de grosse guillemets car il n’augmente pas sa base de connaissances, mais l’oriente).

Cependant un agent n’est pas qu’une simple IA dont le prompt a préalablement instauré “tu es un sénior développeur”. Il est possible de définir des outils (prédéfinis ou créés par nos soins) qu’il va pouvoir utiliser. Il est également capable de créer et d’appeler des sous-agents.

Par défaut Opencode dispose de 2 agents principaux :

  • Plan : agent en read-only . Créé un plan étape par étape en lisant les fichiers d’un projet.
  • Build: agent qui peut implémenter les plans et modifier les fichiers

Les agents par défaut d’opencode : plan et build

La puissance d’opencode commence lorsque l’on crée son propre agent.

Comment créer son propre agent ?

Dans cette section nous allons voir comment créer un agent spécialisé en création de tests DJango .

Dans un projet, il faut créer un dossier .opencode et un dossier agents à l’intérieur :

mkdir .opencode
mkdir .opencode/agents

Après il suffit d’y placer un fichier markdown avec les informations et instructions de l’agent:

---
description: Créer des tests pour un module Django
mode: primary
model: openai/gpt-5.6-luna
tools:
 write: true
 edit: true
 bash: true
---

# Description

Tu es un expert en écriture  de tests Django.

# Instructions

Tes tests doivent contenir de la documentation en autre avant chaque tests, une description du type suivant :
"""
Nom du tests :
Fonctionnalité testée :
Description :
"""

En relançant opencode, on voit alors parmi les choix d’agents (Ctrl + p) on retrouve notre nouvel agent :

Le nouvel agent apparaît dans la liste des agents

Testons le avec un projet démo :

Test de l’agent sur un projet démo

Voici la réponse de l’agent (il n’a pas réussi à utiliser django car j’ai utilisé uv, ceci est ma faute, il aurait fallu le mentionner dans le fichier AGENTS.md)

Réponse de l’agent Django

Vérifions le travail de l’agent :

Vérification du travail de l’agent

L’agent fonctionne bien puisqu’il a respecté les indications données dans ces instructions.

Les sous-agent d’Opencode

Les sous-agent sont des assistants spécialisés dans la réalisation de tâches spécifique. Ils peuvent être appelés soit par vous même en utilisant @, soit par un agent pour réaliser une tâche spécifique.

Par défaut, voici les sous-agents d’Opencode :

  • General: agent polyvalent pour traiter des questions complexes et exécuter des tâches en plusieurs étapes ref.
  • Explore: Un agent rapide en lecture seule pour explorer les bases de code. Impossible de modifier les fichiers ref.
  • Scout: Un agent en lecture seule pour la recherche sur la documentation externe et les dépendances. ref
  • Compaction: Agent système caché qui compacte un contexte long en un résumé plus petit. Il s’exécute automatiquement en cas de besoin et n’est pas sélectionnable dans l’interface utilisateur. ref

Les sous-agents par défaut d’opencode

Appeler un sous-agent

Pour appeler un sous-agent il suffit d’utiliser la commande @. Voici un exemple :

@explore explique moi en une phrase le but de ce projet

Opencode va alors appelé le sous-agent et lui donner la requête.

Appel du sous-agent explore avec la commande @

Dans l’exemple, on peut voir que l’agent a fait 11 appels d’outils.

Il est également possible de créer un sous-agent, il suffit simplement de changer la propriété yaml mode de primary à sub-agent.

Un contrôle fin

Opencode donne la possibilité de contrôler ce que l’agent est en mesure de faire mais surtout ce qu’il ne peut pas faire. Cette couche de contrôle permet d’améliorer la confiance en son agent. On sait exactement ce qu’il a le droit de faire ou non.

Contrôle des permissions de l’agent

La liberté mène à une meilleure stratégie

L’une des force d’opencode est le fait de pouvoir choisir le modèle d’IA que l’on souhaite utiliser pour son agent ou son sous-agent. Il y a des dizaines de providers déjà configurés , mais si cela ne suffit pas, il est possible de configurer le sien . Mais quel est l’avantage d’une telle liberté ?

Pouvoir choisir son modèle en fonction de son agent ou de son sous-agent est extrêmement utile. Les tâches considérées comme simple peuvent être déléguées à des modèles avec une intelligence réduite. Quelques exemple :

  • Documenter des tests ou du code
  • Traduire du contenu d’une langue vers une autre
  • Faire une synthèse d’une partie du code

Tandis ce que les tâches demandant une complexité supérieure peuvent être attribuées à des modèles plus intelligent tel que Opus.

Choix du modèle pour chaque agent

Les conséquences de cela sont directes :

  • Une meilleure gestion du temps: les modèles intelligents prennent plus de temps pour réfléchir qu’un modèle plus réduit
  • Des économies: utiliser un modèle plus réduit coûtera souvent bien moins cher qu’un modèle doté d’une excellente intelligence.
  • Une démarche plus éco-responsable : Granulariser l’intelligence selon les tâches peut drastiquement réduire l’énergie utilisée par un ordinateur pour réaliser la tâche.

Les inconvénients

Une vision trop geek

Opencode est une excellente solution, mais assez orienté “tech”. C’est un outil qui aujourd’hui est difficilement utilisable par quelqu’un qui n’a pas de background informatique. Opencode Desktop essaie de palier cet obstacle, mais aujourd’hui ce sont les géants OpenAI, Anthropic et Gemini qui monopolisent le marché grand public.

Par exemple il serait difficile pour un médecin ou une personnes des ressources humaines n’ayant aucune expérience avec bashou Linux de comprendre la richesse et l’interêt d’opencode. Par conséquent cela les empêcherait de l’utiliser à son plein pouvoir en le personnalisant.

Opencode Desktop

Une solution trop lourde pour du self-hosted

Les local LLMs sont un sujet qui me passionne et aujourd’hui opencode est trop lourd pour cela. Pour une configuration déjà raisonnable avec une carte graphique de 16GB de VRAM, il est extremement difficile d’utiliser opencode de manière agentique.

Le principal problème réside dans le contexte qu’opencode donne à son agent. Travailler aujourd’hui avec un LLM local est un jeu d’équilibriste. Il faut trouver le bon compromis entre contexte et intelligence. Opencode utilise une grosse partie du contexte pour donner des instructions à l’agent. Cela impacte considérablement la marge de manœuvre pour le développeur.

Opencode avec un LLM local