Soixante conteneurs sur un seul serveur
Une seule machine bare-metal fait tourner des dizaines à des centaines de conteneurs Hoody. La déduplication KSM et BTRFS rend le coût marginal quasi nul.
votre produit fait tourner des centaines de sessions d'agent par jour. Chacune écrit son transcript dans une URL SQLite. À 6 h, une entrée cron POST vers un agent superviseur avec un seul prompt : lire les transcripts d'hier, les noter, signaler les trois pires. Au moment où vous vous avezsois, le bulletin est déjà ouvert.
le job cron est le superviseur · le superviseur est lui-même un agent
Une entrée cron à 5 champs POST vers le service agent avec un prompt. Le conteneur superviseur se réveille, lit les traces SQLite d'hier, écrit ses notes dans la même base, et sort. Pas d'orchestrateur, pas de service de rubrique, pas de pipeline d'éval.
# POST /api/v1/cron/users/me/entries { "schedule": "0 6 * * *", "command": "curl -X POST $AGENT/api/v1/agent/tasks \ -d @grade.json", "comment": "nightly-supervisor" }
# grade.json — the supervisor's instructions { "description": "Lire les transcripts d'hier depuis /sqlite/sessions WHERE day = '2026-05-03'. Échantillonner 50. Noter chacun sur factualité, justesse des appels d'outils, dérive de votre. Écrire les findings dans la table report. Signaler les trois pires pour revue humaine.", "mode": "code" }
La ligne cron décide QUAND. Le prompt décide QUOI. Le conteneur superviseur fait le travail en environ 20 minutes pendant la nuit puis disparaît. L'échantillon noté est sur disque avant que quelqu'un n'arrive au bureau.
Les écrans AgentOps vous montrent des logs. Les rubriques LangSmith vous donnent des scores. Un superviseur noté ferme la boucle — il lit les transcripts, décide ce qui est mauvais, et écrit le verdict.
Pas juste des métriques. Le superviseur ouvre chaque session, lit les appels d'outils, vérifie la vérité terrain, pèse le votre. Une grille de tableur compte ; un superviseur agent juge.
Sur 400 runs, 397 vont bien. Le boulot du superviseur est de sortir les trois qui ne vont pas — par nom, avec un commentaire en une ligne. vous ne scrolles pas un dashboard, vous lisez quatre lignes.
Chaque note et chaque commentaire atterrit dans la même URL SQLite que celle des agents. Le superviseur de demain comparera. La dérive devient une requête, plus une impression.
Trois choses se passent entre 6 h 00 et 6 h 21. Aucune ne demande votre présence.
L'agent superviseur requête la même URL SQLite où les workers ont écrit. SELECT * FROM sessions WHERE day = yesterday. Échantillonne 50 au hasard.
Par session : factualité, justesse des appels d'outils, dérive de votre, nombre d'hallucinations. Note + raison en une ligne. Coût : une seule tâche d'agent.
INSERT dans la table report. Marquer les trois pires pour revue humaine. La page /grades/[date] est juste un SELECT sur cette table.
À 6 h 21, il y a un échantillon noté sur disque et trois transcripts signalés en file. Le grader ne regarde pas les agents — il tourne à une cadence et les juge, comme un prof qui corrige les devoirs la nuit.
Chiffres ancrés dans les surfaces cron + agent + SQLite. Pas des benchmarks inventés.
Cinq champs décident quand le superviseur se réveille. Change l'horaire, change la cadence — horaire, quotidien, à la demande. La ligne est tout le scheduler.
Une tâche superviseur qui échantillonne 50 sessions, lit chacune, et écrit les verdicts finit typiquement en moins de 20 minutes. Le conteneur sort à la fin de la tâche.
Pas d'Airflow, pas de service d'éval, pas de scheduler de DAG. L'entrée cron est une ligne dans /etc/crontab. Le verdict est une ligne dans SQLite. Il n'y a pas de troisième chose.
Expressions cron 5 champs standard selon l'API Hoody Cron. La durée de session du superviseur dépend de la taille d'échantillon et de la complexité de la rubrique. SQLite est la même URL hoody-sqlite où les agents workers écrivent déjà — pas de second store.
Le job cron est le superviseur ; le superviseur est lui-même un agent.
La stack standard de qualité d'agents : dashboards en lecture seule, revue manuelle de logs, et outils de rubrique qui notent sans agir. Le cron superviseur fait les trois en vingt minutes.
Arrêtez de lire les logs à 23 h. Programmez un agent qui le fait la nuit, et lisez son bulletin avec votre café.