IA pour développeurs · Actualité

OpenCode 2.2.1 : une commande /goal pour faire travailler l'agent jusqu'au but

L'agent de code OpenCode ajoute un mode où la session continue tant qu'un relecteur automatique n'a pas confirmé l'objectif. La version du 29 octobre apporte aussi des tâches planifiées et la génération d'images, toutes deux à activer soi-même.

Par Kayzen AI · · 3 min de lecture

Photo d'illustration : Programmers
Image : Programmers — Lbronn, CC BY-SA 4.0, via Wikimedia Commons

OpenCode est un agent de code développé publiquement sur GitHub, qui s'utilise dans le terminal ou dans une application de bureau et se branche sur de nombreux fournisseurs de modèles. Sa version 2.2.1, publiée le 29 octobre sur GitHub, introduit une façon différente de lui confier du travail : on ne donne plus une consigne, on fixe un objectif.

/goal : l'agent ne s'arrête pas au premier « terminé »

Un agent de code a tendance à déclarer la tâche finie trop tôt. La commande /goal vise ce défaut :

/goal <objectif>

La session continue alors de travailler jusqu'à ce qu'un relecteur confirme que l'objectif est atteint. Les notes de version parlent d'une revue automatique de l'avancement. Trois sous-commandes gardent la main à l'utilisateur :

  • /goal pause suspend le travail ;
  • /goal resume le reprend ;
  • /goal clear abandonne l'objectif.

L'état de l'objectif s'affiche sous la zone de saisie dans le terminal, et dans une pastille de l'application de bureau.

Des tâches planifiées, sur option

La même version ajoute les invites planifiées, via la commande /schedule et le réglage experimental.schedules. La fonction est à activer soi-même. Côté kit de développement, des méthodes permettent de créer, lister, suspendre, reprendre et supprimer ces planifications.

Génération d'images, sur option également

Un outil image_generate permet à l'agent de créer ou de retoucher des images en arrière-plan. Il s'active avec le réglage experimental.image_generate, et un modèle par défaut peut être précisé avec experimental.image_generate.model. À noter : d'après la liste des versions, la 2.2.2 parue le même jour active la génération d'images par défaut dès qu'un fournisseur compatible est connecté.

Le reste de la version

  • Dans l'application de bureau, on peut sélectionner une commande qui tourne en arrière-plan pour voir sa sortie en direct et l'arrêter.
  • Le sélecteur de modèles est refait, avec recherche, favoris et modèles récents.
  • Une commande /reload recharge la configuration sans redémarrer.
  • Les limitations de débit des fournisseurs sont retentées correctement, au lieu d'être signalées comme un dépassement de contexte.

Ruptures : seulement pour qui importe la bibliothèque

Les changements incompatibles ne concernent que le code qui importe directement le paquet @opencode/ai. L'outil en ligne de commande, l'application de bureau et l'API HTTP ne sont pas touchés. Dans ce paquet, les fournisseurs fal, Black Forest Labs, Replicate et Stability sont retirés, plusieurs points d'entrée changent de chemin et les types de configuration sont renommés.

Les limites

  • Les notes ne décrivent pas comment le relecteur juge qu'un objectif est atteint, ni s'il existe un plafond de tours ou de dépense. Or une session qui ne s'arrête pas d'elle-même consomme des jetons tant qu'elle tourne.
  • Les tâches planifiées et la génération d'images sont rangées sous le préfixe experimental : leur forme peut changer.
  • Le rythme de publication est soutenu. La liste des versions montre trois sorties le 30 octobre, dont une, la 2.2.3, comporte de nouvelles ruptures pour les extensions. Figer une version précise en production reste prudent.

Notre lecture

Pour une petite équipe, /goal est à essayer sur des tâches dont le critère de réussite est vérifiable : « tous les tests passent », « la compilation ne renvoie plus d'avertissement ». Formulez l'objectif comme un résultat mesurable, pas comme une intention. Et tant que le coût d'une session n'est pas borné par l'outil, bornez-le chez votre fournisseur de modèles, avec un plafond de dépense sur la clé d'API utilisée.

Sources

  1. OpenCode — release v2.2.1 (GitHub) — source primaire
  2. OpenCode — liste des versions (GitHub)