Upsun

Agent IA d'analyse de logs

Un agent IA planifié, en lecture seule, qui lit les logs d'une application et écrit un rapport de santé.

Rôle
Conception, développement et article technique
Période
août 2026 – en cours · Upsun
Stack
  • Node.js 24
  • OpenCode
  • LLM (Anthropic, OpenAI, Gemini)
  • Upsun task containers
  • Cron
  • Upsun API

Contexte

Upsun a lancé les task containers : des conteneurs éphémères qui exécutent un travail ponctuel à côté de l'application, avec leurs propres ressources. Je les ai mis en valeur dans une série d'articles : d'abord pour décharger un traitement lourd déclenché par cron, puis, ici, pour faire tourner un agent IA.

Ce que j'ai construit

  • Le déclenchement : un cron, uniquement en production, demande un jeton à courte durée de vie puis lance la tâche via l'API Upsun. L'application ne déclare qu'une autorisation minimale, celle de lancer cette tâche-là.
  • L'agent (Node.js 24) lit les 400 dernières lignes des logs cron et applicatifs, puis lance OpenCode avec une consigne stricte : quatre sections (synthèse, tâches cron, erreurs et anomalies, recommandations) et interdiction d'inventer des lignes de log.
  • Le rapport apparaît dans le fil d'activité du projet et dans un fichier Markdown horodaté.
  • Le fournisseur de modèle est interchangeable (Anthropic, OpenAI, Gemini).

Sécurité, d'abord

  • Lecture seule : l'agent n'a ni jeton d'API Upsun, ni accès GitHub, ni droit d'écriture sur le dépôt.
  • La clé du LLM est une variable sensible injectée à l'exécution, jamais dans la configuration versionnée.
  • Un conteneur isolé à profil mémoire élevé : la session LLM ne prend pas de ressources à l'application.

Défis techniques

  • Faire tourner un CLI pensé pour un poste de développeur dans un conteneur éphémère au système de fichiers en lecture seule : répertoires de configuration redirigés vers un emplacement inscriptible, timeout explicite.
  • Obtenir un rapport fiable : sortie structurée, consigne anti-hallucination, logs tronqués pour maîtriser le coût en tokens.

Résultat

Un modèle d'architecture réutilisable pour mettre de l'IA « en production » de façon sûre. La suite de la série ajoute la réponse autonome aux incidents.

Pour aller plus loin

← Retour au portfolio