Les systèmes IA s'améliorent en rafales. Un nouveau modèle arrive. Une route de fournisseur devient moins chère. Un motif de prompt devient plus clair. Un mode d'échec devient lisible. La question stratégique est où ces gains vont ensuite. J'ai passé les dernières années à façonner ma pile afin qu'un gain local puisse mettre à niveau l'ensemble du portefeuille. Cette exigence m'a poussé à construire une couche de capacité IA partagée, un plan de contrôle de flux de travail, et une surface d'opérateur natif hôte qui couvre le développement local, les services LAN, et la production. Les noms dans cet article sont mes noms pour ces systèmes : AI Guard, Agent Gateway, et System Mesh. Cet article porte sur l'architecture derrière cette pile. L'accent est mis sur le problème que chaque couche résout, les règles de promotion qui décident ce qui progresse, et les principes d'exploitation qui permettent aux améliorations de persister.

Le vrai objectif : Propagation

Le résultat le plus fort dans le travail axé sur l'IA provient de la propagation. Un résultat de benchmark, une victoire de mise en cache, une amélioration de la relecture, une règle de lint, ou une optimisation de déploiement devient durable lorsque chaque projet dépendant l'hérite. Cette contrainte de conception change ce qui est construit. Il favorise les surfaces de capacité stables plutôt que les appels spécifiques aux fournisseurs. Il favorise les flux de travail inspectables plutôt que les chaînes de prompt opaques. Il favorise les contrats d'opérateur qui rendent le déploiement, le rollback et le diagnostic plus rapides à chaque utilisation. Il favorise les améliorations fondamentales qui se diffusent à travers des plugins partagés, des compétences partagées et des outils partagés. Une fois que la propagation devient la règle, le choix du modèle devient une variable dans un système plus large.

Placement des modèles par classe de tâche

Mon utilisation des modèles dépend des nuances car les tâches ont une densité de valeur différente. J'alloue un budget de raisonnement premium à la planification approfondie, à la critique architecturale, à l'analyse des défaillances et à la prévention des dérives. J'accepte de longues fenêtres de réponse lorsque la qualité de la sortie modifie des décisions système importantes. J'utilise des modèles natifs de codage pour un travail d'implémentation à long horizon avec un comportement d'exécution CLI solide et une utilisation fiable des outils. C'est la voie où le débit, la qualité de planification et les compétences propres au projet comptent le plus. Je déplace les tâches répétitives et limitées vers des itinéraires moins coûteux après que le workflow a fait ses preuves sous pression de benchmark. C'est là que les harnais déterministes, le rejeu et des conditions d'arrêt claires débloquent des économies substantielles. Le principe directeur est le placement par classe de tâche. Le workflow possède la décision du modèle.

La règle de promotion

Ma règle de promotion est explicite :
  1. Coût en premier.
  2. Plancher de qualité appliqué.
  3. Vitesse comme facteur de rupture une fois que le coût et la qualité sont dans les limites.
Une route moins chère est promue lorsqu'elle maintient la qualité requise. Une route plus rapide compte après que le cas coût et qualité est déjà clair. Cette règle maintient le roulement des fournisseurs ancré dans des résultats mesurés et résiste à la dérive de nouveauté.
Diagram source
flowchart LR
  A["Route candidate"] --> B["Corpus de référence"]
  B --> C{"Qualité >= niveau de base?"}
  C -->|Non| D["Rester dans le laboratoire"]
  C -->|Oui| E{"Coût <= itinéraire actuel?"}
  E -->|Non| F["Conserver pour usage premium ou spécialisé"]
  E -->|Oui| G["Promouvoir dans la couche de capacité partagée"]
  G --> H["Les flux de travail dépendants héritent de la mise à niveau"]
C'est le mécanisme qui transforme les gains temporaires d'IA en infrastructure cumulée.

Why I Built AI Guard

AI Guard solves a recurring integration problem: projects need AI capabilities, providers and model routes change constantly, and raw per-project integrations create duplicated decision logic, duplicated failure handling, and duplicated spend.
I built AI Guard as the shared capability layer across my projects. Applications call stable capabilities such as structured generation, search, OCR, TTS, image generation, image analysis, and other specialized routes. AI Guard owns the provider-facing layer, cache behavior, pricing awareness, and route promotion.
That design does several useful things at once.
It gives every project one surface for AI work. It captures repeated equivalent requests so benchmark loops and production workloads can reuse prior results. It makes budgeting visible. It keeps route upgrades centralized while application code keeps the same contract.
The compounding effect is straightforward. I benchmark a candidate route once. If it clears the quality bar and improves the economics, I promote it inside AI Guard. Every workflow that depends on that capability inherits the upgrade.

Pourquoi j'ai créé Agent Gateway

AI Guard gère l'accès aux capacités. J'avais besoin d'une deuxième couche pour les flux de travail composés avec versionnage, rejouer, et contrôle de publication. J'ai créé Agent Gateway comme ce plan de contrôle de flux de travail. Les dépôts de projets possèdent le YAML du flux de travail. Le gateway gère la validation, la synchronisation des brouillons, la publication immuable, l'exécution des runs, les événements, les instantanés, les points de rejouage, les ensembles de validation, et le cache des étapes. Cela résout un problème opérationnel spécifique. Les chaînes IA multi-étapes accumulent des coûts et de l'ambiguïté lorsqu'elles échouent au milieu. Une chaîne opaque force une réexécution complète. Un run versionné avec des limites d'étapes me donne un point précis d'intervention. Mes moteurs sont pilotés par des machines à états. Si un flux de travail se brise à une étape spécifique, je raffine cette étape, je rejoue depuis la limite exacte, et je conserve le travail en amont qui s'est déjà prouvé. Cette boucle change l'économie et le profil de fiabilité des flux de travail IA. Le chemin typique ressemble à ceci :
  1. Prototyper le flux de travail localement à partir du YAML possédé par le projet.
  2. Valider contre un ensemble de cas réels.
  3. Affiner les invites, schémas, transformations, et règles de branchement.
  4. Rejouer depuis les limites d'échec exactes.
  5. Publiez une version immuable après que la validation ait réussi.
C'est ainsi que les chaînes d'IA expérimentales deviennent une infrastructure inspectable.

Pourquoi j'ai construit System Mesh

Ma couche d'infrastructure a changé une fois que la forme du portefeuille est devenue claire. J'avais passé une longue période à utiliser les voies Docker gérées par Coolify comme modèle d'exploitation par défaut. Cela a bien servi la phase initiale tant que les frontières se déplaçaient rapidement. À mesure que le graphe de services se stabilisait, je voulais une surface d'opérateur plus rapide et plus claire pour les services qui conviennent au traitement natif d'hôte. Je voulais un seul contrat entre le développement local, mon hôte de service LAN et la production. Je voulais des diagnostics qui mettaient en évidence les signaux dont un agent ou un opérateur a réellement besoin. Je voulais que les déploiements, le rendu d'environnement, le routage et le rollback soient des opérations de premier ordre, lisibles. J'ai construit System Mesh comme le contrat partagé de gestion de services à cette fin, porté à travers des manifestes spécifiques à l'environnement, des CLI et des compétences. Sur cette pile, dev possède les opérations d'exécution locales, mint possède l'hôte LAN, et prod possède la production. Le contrat partagé maintient le vocabulaire aligné tandis que chaque environnement applique sa propre politique. Ce changement a réduit un chemin de déploiement commun d'environ trois minutes à environ trente secondes. Le gain plus important est architectural. Chaque service qui convient à la voie native d'hôte hérite de déploiements plus rapides, de diagnostics plus précis et d'un modèle d'exploitation plus explicite. Je continue d'utiliser des conteneurs là où le profil de dépendance les justifie. Les dépendances système lourdes restent de bons candidats pour l'exécution retenue Docker. Le principe directeur est le placement du mode d'exécution par contraintes de service.

Laboratoires de référence et lanes déterministes à faible coût

J'utilise des laboratoires pour décider ce qui mérite une promotion. Un laboratoire possède le corpus de référence, les règles de notation, l'ensemble des challengers et les critères de passage. Cela me donne une façon claire de séparer le travail exploratoire des routes opérationnelles. Les modèles de raisonnement premium restent disponibles pour la planification et l'architecture à haute valeur. Les routes à moindre coût prennent le relais lorsque la tâche est limitée, le flux de travail est lisible et le résultat peut être évalué. La maintenance de traduction est un bon exemple. Je lance des flux d'agents limités qui parcourent i18n JSON, détectent les traductions manquantes ou faibles, et patchent les fichiers dans un budget d'étapes contraint. Cette tâche peut être exécutée sur des routes OSS à faible coût avec un débit élevé et une réduction de coût importante car le flux de travail est benchmarké, rejouable et facile à noter. Les laboratoires permettent au marché de se déplacer rapidement tandis que le code de production évolue sur des preuves validées.

Combinaison de niveau fondamental

Les gains à long terme les plus importants apparaissent au niveau fondamental. J'utilise les compétences de projet afin que les agents puissent exploiter des systèmes locaux, des systèmes de production et des services partagés avec un contexte immédiat dès le départ. J'utilise le linting comme mécanisme de persistance : lorsqu'une erreur d'exécution révèle un motif qui devrait être prévenu statiquement, j'encode cette mesure de protection une fois afin que le portefeuille l'hérite. Je maintiens également une fondation partagée avec plus de soixante plugins à travers des formes d'application récurrentes. Authentification, SEO, e-mail, intégration de flux de travail et ergonomie des opérateurs s'améliorent centralement puis se propagent vers l'extérieur. C'est là que la théorie devient visible dans le travail quotidien. Moins de régressions se reproduisent. Plus de correctifs arrivent pré-distribués. La vélocité augmente parce que les leçons précédentes restent installées.

Principes d'exploitation interprétés par l'IA

J'ai dirigé l'IA pour extraire les principes d'exploitation de l'approche décrite dans cet article :
  • Construire pour la propagation à travers le portefeuille. Chaque amélioration doit être évaluée en fonction du nombre de flux de travail qui l'héritent.
  • Traiter la sélection de modèles comme le placement de flux de travail. Attribuer les modèles par classe de tâche et densité de valeur.
  • Appliquer une règle de promotion priorisant le coût avec un plancher de qualité strict. Les promotions exigent une parité de qualité ou une amélioration.
  • Garder les capacités derrière une couche stable. Le roulement de route est absorbé dans la couche de capacité avec des contrats d'application stables.
  • Garder les flux de travail inspectables et rejouables. La progression déterministe et les limites de retour sont des fonctionnalités de production essentielles.
  • Utiliser les laboratoires de référence comme porte d'entrée de promotion. La cadence de mise sur le marché est un flux d'entrée pour l'évaluation.
  • Déplacer le travail répétitif limité vers des voies déterministes à moindre coût une fois prouvé. Préserver le budget de raisonnement premium pour les décisions à fort levier.
  • Encoder les échecs récurrents dans des mesures de protection partagées. Les règles de lint, les compétences et les mises à jour de plugins partagés convertissent les incidents en prévention durable.
  • Préférez les contrats d'opérateur explicites. Les contrats de service natifs hôtes avec des boucles claires de déploiement/réversibilité/prouvé réduisent l'entropie opérationnelle.
  • Préservez l'optionnalité par contrat. Gardez l'architecture prête à absorber de meilleures routes à mesure que la frontière de Pareto évolue.

Clôture

Ma réponse à la question de flux de travail est architecturale. Je construis pour la propagation, je mesure pour la promotion, et je garde les modèles gagnants dans des couches partagées que chaque projet peut hériter. C'est ainsi que les améliorations temporaires sur le marché de l'AI deviennent des gains durables dans les opérations logicielles. C'est ainsi que le travail se cumule.