Een proces waar je tegenin kunt gaan
Ik stond op het punt een publicatiepipeline in een workflow builder te bouwen, tot ik zag wat ik daarmee zou verliezen. Tegen een node graph kun je niet ingaan: houd het deel waarover je nog nadenkt in het gesprek en duw alleen wat vaststaat naar de loop.
De meeste automatisering begint hetzelfde. Je opent een workflow builder, sleept de stappen naar een canvas, verbindt ze met elkaar en drukt op run. n8n, Zapier, de rest. Vanavond stond ik op het punt precies dat te doen voor een kleine publicatiepipeline. Toen zag ik wat ik daarmee zou verliezen.
Een workflow builder verandert je logica in een graph van nodes achter een canvas. Zodra die draait, zit de redenering erin opgesloten. Wil je veranderen hoe het proces zich gedraagt, dan stop je de run, ga je terug naar de builder en leg je de verbindingen opnieuw. Bouwen en draaien zijn twee verschillende kamers, en de logica woont in de eerste.
Ik bouwde de pipeline op een andere manier: een paar skills in gewone taal en een paar databases die ik zelf kan bekijken, allemaal bediend via een gesprek. Een daarvan was de drafts inbox die ik de avond ervoor had gebouwd. Technisch gezien kwam het ongeveer op hetzelfde neer. Het verschil werd zichtbaar zodra ik van gedachten veranderde. Halverwege zag ik dat een van de velden die ik had toegevoegd het verkeerde soort ding was, een categorie die ik eigenlijk helemaal niet wilde. Dat zei ik. Het systeem ging ertegenin, we praatten het uit en het veld verdween. Dat gebeurde op dezelfde plek waar de pipeline draait, in het gesprek, niet in een aparte builder die ik opnieuw moest openen.
Daar zit het verschil, en het gaat niet om wat de tools kunnen. De builder had het mechanische werk prima kunnen doen. Wat hij niet kan, is mij met het proces laten nadenken terwijl dat proces draait. Tegen een node graph kun je niet ingaan.
Een gesprek kan dat wel, omdat de logica en de state open en bloot liggen. De skill is de specificatie, geschreven als tekst die ik kan lezen. De database is de state, gewoon zichtbaar. Niks waar het proces op leunt zit verborgen in een gecompileerde loop. Een gesloten automatisering houdt zijn redenering onder de oppervlakte. Hier ligt die erbovenop. Daardoor kun je ermee denken in plaats van het alleen maar instellen.
Dit is geen pleidooi tegen workflow builders. Zodra een proces vaststaat, vaak draait en niemand erbij hoeft te zijn, wil je juist die gesloten, deterministische loop: snel en goedkoop. Mijn pipeline heeft precies zo’n onderdeel, een nachtelijke job die alleen maar uitvoert. Het onderscheid is waar het om gaat. Houd het deel waarover je nog nadenkt in het gesprek en duw het deel dat vaststaat en zich herhaalt naar de loop.
De kosten vallen langs dezelfde grens uiteen. Een builder die een model aanstuurt, stuurt elke stap naar een API, waarvoor je betaalt boven op de kosten van de tool zelf. Houd je de redenering in het gesprek, dan blijft die binnen een vast abonnement. Zolang een proces nog verandert en het volume laag is, is dat de verstandigste kant van de grens. En zodra het volume hoog wordt, is dat precies het moment waarop je dat deel toch naar de deterministische laag zou verplaatsen.
Mensen horen ‘conversational’ en zien een chatvenster voor zich dat aan een app is vastgeschroefd. Maar het kan ook dit betekenen. Het proces zelf is het gesprek, en je verandert het door te praten in plaats van de builder te openen. Als je eenmaal iets op die manier hebt laten draaien, begint een canvas vol vakjes al snel te voelen als de plek waar je redenering naartoe gaat om opgesloten te worden.