Architecture 4 couches de l'agent River (Shopify)
Slack comme interface, River comme surface d'agent, Aquifer comme fondation et un harnais séparé : les quatre couches d'un agent interne qui traite la session comme une entité durable.
Découpler le cerveau des mains : le harnais appelle le LLM et émet des intentions d'outils, le bac à sable les exécute — un nouvel agent devient un profil, pas une plateforme.
Copiez et collez le code FlowZap suivant dans un projet de votre compte FlowZap pour voir ce diagramme.
dev { # Dev - Slack
n1: circle label:"@River mention"
n2: rectangle label:"Agent request"
n12: rectangle label:"Receives response"
n1.handle(right) -> n2.handle(left)
n2.handle(bottom) -> harness.n3.handle(top) [label="Prompt"]
}
harness { # Harness - Brain
n3: rectangle label:"Loads history"
n4: rectangle label:"Calls LLM"
n5: rectangle label:"Emits tool intents"
n11: rectangle label:"Responds to dev"
n3.handle(right) -> n4.handle(left)
n4.handle(right) -> n5.handle(left)
n5.handle(bottom) -> sandbox.n6.handle(top) [label="bash, edit"]
sandbox.n10.handle(top) -> n11.handle(bottom) [label="Result"]
n11.handle(top) -> dev.n12.handle(bottom) [label="Response"]
}
sandbox { # Sandbox - Hands
n6: rectangle label:"Sets up environment"
n7: rectangle label:"Runs commands"
n8: diamond label:"OK?"
n9: rectangle label:"Raw output"
n10: rectangle label:"Returns output"
n6.handle(right) -> n7.handle(left)
n7.handle(right) -> n8.handle(left)
n8.handle(right) -> n9.handle(left) [label="Yes"]
n8.handle(bottom) -> n6.handle(top) [label="No - retry"]
n9.handle(right) -> n10.handle(left)
}
Installer le paquet MCPnpm install -g flowzap-mcpDocumentation MCP
Slack comme interface, River comme surface d'agent, Aquifer comme fondation et un harnais séparé : les quatre couches d'un agent interne qui traite la session comme une entité durable.
Trois modes de session dans un même agent : interactif dans Slack, revue automatisée dans la demande de fusion et exécutions par lots éphémères déclenchées par la CI.
n8n comme couche d'intégration centrale : un seul flux détermine s'il s'agit d'une synchronisation produit ou d'une commande, l'achemine vers le bon canal et boucle le traitement.
Flux Coinbase AgentKit : un humain alloue un budget USDC, l'agent authentifie son portefeuille Base, règle une facture x402 et traite les données du fournisseur, sans passage par le fiat.
Flux Stripe Agent Toolkit : le consommateur approuve une dépense d'agent, l'agent demande un jeton à portée limitée, le transmet au marchand et la commande se conclut en fiat.
La couche de confiance des paiements d'agent à agent chez Coinbase : l'agent initie la dépense, la transaction est diffusée, le bloc confirme et le paiement devient définitif on-chain.