Une charge d'agents ne ressemble pas à une API web classique : un run peut durer, attendre une approbation, appeler plusieurs outils et lancer des sous-agents en parallèle. Navin Enterprise AI sépare donc les runtimes pour que chacun passe à l'échelle à son rythme : agents, voix temps réel, workers batch et médias, tâches périodiques et inférence. Aucun runtime ne détient les données de gouvernance.
Autoscaling sur la charge et sur les événements
Les charges s'adaptent avec le Horizontal Pod Autoscaler de Kubernetes et avec KEDA, qui déclenche la mise à l'échelle à partir d'événements. Les déclencheurs d'événements (brique C10) reposent sur NATS JetStream, et le bus de messages entre canaux et moteur fonctionne en mémoire ou sur NATS. Les workers multimodaux batch et médias consomment eux aussi leurs tâches depuis NATS.
Exécution durable : aucun travail perdu
Chaque étape d'un run écrit un checkpoint dans PostgreSQL et un heartbeat. Si un processus tombe, l'AgentLoop reprend le run depuis son dernier checkpoint, et le worker serveur (python -m eai.worker) repère les heartbeats périmés, fait avancer le planificateur, vide l'outbox d'événements et expire les réservations de quota. Le SubagentManager exécute les sous-agents en parallèle et injecte leurs résultats dans le tour du parent.
Quotas et comptabilité GPU
Passer à l'échelle ne doit pas vouloir dire dépenser sans limite. Avant chaque appel de modèle, le coût est estimé et une réservation de quota est prise ; après l'appel, la comptabilité des tokens transforme l'Usage Event en coût mesuré et valide le quota. Des limites de ressources s'appliquent aux exécutions, les GPU locaux sont gérés par le NVIDIA GPU Operator et le temps GPU est comptabilisé avec l'exporteur DCGM.
Une haute disponibilité déclarée par service
Dans le Navin Manager, chaque descripteur de service du catalogue doit déclarer un bloc de haute disponibilité, avec ses prérequis et ses réplicas. Les contrôles d'installation refusent un déploiement HA dont les exigences ne sont pas remplies, et le tableau de bord de chaque service affiche son état HA.
- HPA et KEDA pour l'autoscaling (brique H05).
- NATS JetStream pour les déclencheurs d'événements (brique C10).
- Checkpoints PostgreSQL et heartbeats pour l'exécution durable (briques C02, C06 et C08).
- Service de quotas et comptabilité GPU (briques H01 et H04).