Boucles

Une boucle est un déclencheur et une instruction. Tout ce que fait TaskGoblin en est une — revue de code, prise en charge de tickets, nettoyage nocturne — et c'est pour cela que le travail se fait sans que personne ait à y penser.

La plupart des outils d'IA pour le code tournent autour d'un prompt. Vous décrivez ce que vous voulez, un agent répond, et l'échange est terminé. Cela marche jusqu'au moment précis où ce qui a de la valeur cesse d'être une bonne réponse et devient le même travail effectué de façon fiable, à chaque fois, sans que personne ait à penser à le demander.

TaskGoblin est construit autour d'une boucle.

Une boucle est un déclencheur et une instruction

C'est toute la primitive.

  • Un déclencheur décide quand les goblins se réveillent. C'est soit un événement — une pull request ouverte, un ticket assigné au goblin — soit un horaire : chaque jour ouvré à 07:00.
  • Une instruction est du langage courant décrivant quoi faire alors. « Relis cette merge request pour la correction et la sécurité — signale les vrais problèmes, pas les détails de style qu'un linter attraperait. » Ou : « Vérifie acme/web pour des mises à jour de dépendances sûres, lance les tests, et ouvre une merge request. »

Mettez les deux ensemble et vous n'avez plus une demande, vous avez une capacité permanente. Personne n'a besoin d'être au clavier, et personne n'a besoin d'y penser.

Tout est une boucle

Ce n'est pas une fonctionnalité à côté du produit — c'est le produit. Les comportements que vous prendriez pour de la magie intégrée sont des boucles ordinaires :

Ce qu'on voit de l'extérieur La boucle en dessous
Chaque pull request est relue Une boucle d'événement sur pull request ouverte
Assigner un ticket, recevoir une merge request Une boucle d'événement sur ticket assigné
Les dépendances restent à jour sans ticket Une boucle planifiée chaque lundi à 08:00
La doc ne dérive jamais du code Une boucle planifiée chaque mercredi
Un résumé arrive dans Slack chaque matin Une boucle planifiée à 09:00

Quand vous connectez GitLab ou GitHub, TaskGoblin vous installe un jeu de départ — c'est pourquoi la revue de code fonctionne avant même que vous ayez configuré quoi que ce soit. Elles n'ont rien de spécial : ouvrez-les, lisez l'instruction, réécrivez-la avec vos mots, suspendez-la ou supprimez-la.

Un tour de boucle

Chaque tour se déroule de la même façon, que le déclencheur soit un webhook ou une horloge, que ce soit le premier ou le cinq centième :

  1. Déclenchement. Le déclencheur correspond. TaskGoblin ouvre — ou réutilise — un fil pour ce travail.
  2. Contexte. Le goblin lit le ticket, le fil, le diff, les conventions de votre organisation et les notes laissées par les goblins précédents, avant de toucher à quoi que ce soit.
  3. Travail. Il s'exécute dans un sandbox cloud isolé contenant une copie de votre dépôt : il lit des fichiers, les modifie, lance des commandes et des tests.
  4. Livraison. Il ouvre une merge request, laisse des commentaires de revue en ligne, ou répond dans le fil — là où ce travail a sa place.
  5. Passation. Il note ce qu'il a appris et ce qui reste ouvert, pour que le tour suivant reparte de là plutôt que de zéro.

L'étape 5 est ce qui sépare une boucle d'une tâche cron. Chaque tour est informé par les précédents : une boucle qui tourne chaque semaine pendant un an n'est pas cent fois la même boucle — c'en est une qui a prêté attention.

Pourquoi une boucle bat un prompt

  • Elle tourne sans vous. Le travail est déjà fait quand vous regardez, au lieu d'attendre que quelqu'un remarque qu'il fallait le faire.
  • Elle est relisible. Chaque tour se termine en une branche et une merge request, relues exactement comme celles d'un collègue. Rien ne fusionne tout seul.
  • Elle capitalise. Corrigez un goblin une fois et la correction est écrite pour tous les suivants.
  • Elle a un interrupteur. Une boucle est une ligne qui vous appartient. Suspendez-la et le comportement s'arrête immédiatement.

Où vivent les boucles

Gérez-les depuis la section Loops de votre organisation (/{organisation}/loops). Chaque boucle a sa page : l'instruction, le déclencheur, un interrupteur Actif, et l'historique de ses exécutions récentes — pour que vous voyiez ce qu'elle a réellement fait plutôt que de supposer qu'elle s'est déclenchée.

Les goblins peuvent aussi créer des boucles eux-mêmes en cours d'exécution. Celui qui remarque que vous demandez la même chose chaque vendredi peut proposer la boucle qui supprime la demande.

Où aller ensuite