Chaque action d'un agent est un événement. Chaque action qui se répète peut devenir du code.
Waggle fait passer chaque action d'un agent, chaque webhook entrant et chaque décision humaine par un seul journal d'événements durable avant que quoi que ce soit ne se produise. Rien de ce que fait un agent n'est invisible, et rien qui continue de se répéter n'a besoin de rester un appel au modèle pour toujours.
Un seul journal d'événements, pas un labyrinthe de webhooks
Chaque action d'un agent, chaque webhook entrant et chaque décision humaine deviennent une seule enveloppe sur un journal d'événements durable et rejouable avant d'être acheminés où que ce soit.
Entrée
Un webhook, l'exécution d'un cron, ou la sortie de l'agent lui-même arrive par une seule porte. Le corps et les en-têtes bruts sont conservés exactement tels qu'ils sont arrivés, et l'événement est marqué d'un tenant, d'un principal et d'un niveau de confiance avant d'aller plus loin.
Journal durable
L'événement est ajouté à un journal d'événements durable et rejouable. Une livraison en double du même événement, un webhook renvoyé après un délai dépassé par exemple, est reconnue et écartée plutôt que traitée deux fois.
Règles déterministes
Un fichier de règles de routage, un par tenant, compare l'événement à sa source, son type et son niveau de confiance, et décide où il va. La première règle qui correspond l'emporte, et une seule règle peut envoyer un événement vers plusieurs destinations.
Destination et trace
L'événement est livré dans la boîte de réception d'une personne, à un autre agent, à un webhook sortant, ou écarté volontairement. Chaque saut est enregistré, si bien que n'importe qui peut ensuite retracer un événement de son arrivée à sa livraison.
En dessous, le bus est un NATS JetStream embarqué, sur deux flux nommés EVENTS et ROUTES. Les règles de routage sont en TOML, un fichier par tenant, rechargé automatiquement dès que le fichier change. Une livraison en double du même événement est reconnue pendant deux heures grâce à son identifiant de message.
Ce qui arrive vraiment aux actions d'un agent
Ce sont des faits sur le tissu sur lequel tourne Waggle, pas un argumentaire de vente.
Chaque action d'un agent est un événement
Ce qu'un agent a dit, ce qu'il a demandé, et ce qu'une personne a répondu sont enregistrés de la même façon, sur le même journal.
L'entrée brute est conservée
Ce qu'un webhook a réellement envoyé, corps et en-têtes, est conservé à côté de l'événement normalisé plutôt que jeté une fois analysé.
La livraison est idempotente
Un webhook renvoyé ou un message livré une seconde fois sont reconnus et ne sont pas traités deux fois.
Chaque événement peut être tracé
Son origine, la règle qui l'a fait correspondre et le fait qu'il ait été livré ou non tiennent en une seule recherche, pas une chasse à travers plusieurs systèmes.
Certaines actions attendent une personne
Un agent qui demande à utiliser un identifiant, ou qui propose un nouvel agent, est un événement qui s'arrête et montre à une personne une carte à approuver ou refuser avant que quoi que ce soit ne se produise.
Les webhooks fonctionnent dans les deux sens
Un événement peut aussi être renvoyé vers une URL de votre choix, sous forme d'enveloppe normalisée ou de requête d'origine, inchangée.
Quand un schéma est stable, il peut cesser d'être un appel au modèle
Les actions d'un agent ne disparaissent pas une fois acheminées. Elles restent dans le journal d'événements comme le même type d'enregistrement à chaque fois : ce qui s'est passé, ce qui a correspondu et où c'est allé. Quand le même schéma revient encore et encore, cette répétition se voit dans le journal lui-même, pas enfouie dans une transcription.
Transformer un schéma qui se répète en une règle ou en un petit gestionnaire déterministe est un travail que nos ingénieurs font avec vous aujourd'hui, en lisant la trace et en modifiant les règles de routage, ou en écrivant la voie de code à la main. Waggle ne fait pas passer un schéma au rang de règle tout seul, il n'y a ici aucune étape d'apprentissage automatique. Ce que le tissu d'événements vous donne, c'est la visibilité pour trouver le schéma, et un moteur de règles conçu pour accueillir la réponse une fois que vous l'avez trouvée.
Une règle qui correspond ou un petit gestionnaire répondent directement depuis le routeur, sans appeler de modèle. Nous ne pouvons pas vous donner de pourcentage sur ce que cela fait économiser dans votre cas, parce que cela dépend du schéma, mais une voie déterministe n'entraîne pas de facturation à la tâche sur l'abonnement au modèle que vous connectez, contrairement à un nouveau tour d'agent.
Les questions qu'un directeur technique pose en premier
Transformer une action en règle, est-ce automatique ?
Non. Nos ingénieurs le font avec vous, en lisant le journal d'événements et en utilisant le moteur de règles. Rien dans Waggle ne fait passer aujourd'hui une action au rang de règle tout seul.
Qu'est-ce qui est exactement enregistré ?
Chaque action d'un agent, chaque webhook qui atteint votre espace de travail, et chaque décision humaine, comme le même type d'enregistrement : ce qui s'est passé, ce qui a correspondu et où c'est allé. Le corps et les en-têtes bruts du webhook sont aussi conservés.
Un événement peut-il atteindre plusieurs destinations ?
Oui. La destination d'une règle peut être une liste, et chacune reçoit sa propre livraison et son propre saut dans la trace.
Que devient une action qui a besoin d'une personne ?
Elle devient une carte dans la boîte de réception de cette personne, par exemple une demande d'utilisation d'un identifiant ou la proposition d'un nouvel agent, et la décision elle-même est enregistrée comme un événement sur le même journal.
Est-ce un produit distinct de Waggle ?
Non. C'est le tissu d'événements de Waggle lui-même, celui qui fait tourner le créateur sur app.hachiflow.com/waggle. Il n'y a rien d'autre à acheter pour l'avoir.
Parlez-nous de votre architecture.
Dites-nous ce que vos agents font déjà encore et encore. Nous regarderons la trace avec vous et vous dirons honnêtement si une règle ou un petit gestionnaire convient, avant que quiconque ne construise quoi que ce soit.