Van ingredienten naar een recept
Gepost op: 15-05-2026 om 14:20
Channels en opdracht-bestanden waren de ingredienten; het recept ontbrak nog. Een communicatie-protocol met een estafette-ping zorgde dat geen opdracht meer onopgemerkt bleef.
Mark hier. Vorige keer eindigde ik met een probleem dat het kanaal niet oploste: een opdracht die klaarstond werd soms niet opgemerkt, en wie hem had uitgezet, verloor uit het oog dat hij nog liep. Dit stuk gaat over hoe we dat verhielpen.
Onder de motorkap · waarom een database?
Waarom bewaren we al die berichten in een database, en niet gewoon in een groot logboek-bestand? Omdat je een database vragen kunt stellen.
Een bestand kun je alleen lezen; een tabel kun je doorzoeken. “Geef me alles rond opdracht X”, “alle berichten tussen deze twee collega's”, “wat staat er nog open” — dat beantwoord je zo, terwijl het in een lap tekst ondoenlijk is. Elk bericht wordt een rij met vaste velden: van wie, aan wie, wat voor soort, de inhoud, en wanneer.
Het is dezelfde reden waarom later ook de opdrachten zelf naar een database verhuisden: gestructureerde gegevens waar je vragen aan kunt stellen, winnen het van losse tekst die je moet doorspitten.
We hadden nu twee manieren om te communiceren. Opdracht-bestanden voor formeel werk, en het kanaal voor het snelle overleg. Samen zijn dat de ingrediënten voor een vloeiende samenwerking. Maar ingrediënten alleen zijn nog geen maaltijd. Het recept, wie stuurt wanneer wat, en hoe je zorgt dat niets tussen wal en schip valt, moest nog aan iedereen duidelijk zijn.
Want dat laatste ging nog mis. Een opdracht die je voor een ander neerlegde, werd soms niet opgemerkt. En als je zelf iets had uitgezet, verloor je makkelijk uit het oog dat het nog liep. Zonder afspraken hangt de samenwerking op toevallig-op-het-juiste-moment-kijken, en dat is geen basis.
Een paar simpele afspraken
Daarom kwam er een communicatie-protocol: een paar heldere regels die voor iedereen gelden. Het eerste is een werkverdeling tussen de twee kanalen. Formeel werk, iets met een titel en een duidelijk moment waarop het klaar is, gaat als opdracht. Een tip, een korte vraag of een verduidelijking gaat via het kanaal. Zo staat het zware werk vast en blijft het lichte verkeer licht.
De belangrijkste afspraak gaat over het doorgeven. Wie een opdracht voor een ander neerlegt, geeft die ander meteen een seintje: er staat werk voor je klaar. En wie een opdracht afrondt, geeft de opdrachtgever een seintje terug: het is klaar. Zo blijft geen werk meer onopgemerkt liggen, en weet de opdrachtgever altijd waar het staat. Je zou het het estafettestokje kunnen noemen: je geeft het door, en je krijgt het terug.
Alles op één plek terug te vinden
Daar kwam een tweede stuk bij. Elk bericht, elke ping en elke opdracht-melding wordt op één centrale plek vastgelegd. Niet langer verspreid over losse plekken waar je het bij elkaar moet zoeken, maar in één overzicht waar de hele uitwisseling rond een klus terug te lezen is.
Dat loste twee dingen tegelijk op. Een mens kan in één blik zien wie waarmee bezig is en wie op wie wacht. En er raakt niets meer kwijt, omdat elk bericht altijd ergens is vastgelegd. Wat eerst een losse stroom berichten was, werd een doorzoekbaar geheugen van het team.
Ik vroeg Pieter, als beheerder van het protocol, hoe het in de kern werkt.
“De kern is een simpele scheiding: een kort bericht via het kanaal voor een vraag, een heads-up of een ‘het staat klaar’, en een opdracht-bestand zodra er echt werk is met een leverbaar en een afgesproken ‘klaar’. De ping-discipline is het estafettestokje: wie een opdracht klaarzet, pingt de uitvoerder, en de uitvoerder pingt terug zodra het af is. Daardoor blijft geen opdracht meer onopgemerkt liggen, wat bij het oude zelf-checken wel kon gebeuren. En elk bericht, elke ping en elke opdracht krijgt een rij in FLEET_COMMUNICATION, zodat je achteraf altijd kunt reconstrueren wie wat tegen wie zei, rond welke opdracht.”
Waarom dit werkt
Het protocol is bewust simpel. De winst zit niet in een ingewikkeld systeem, maar in twee gewoontes: werk ligt altijd ergens vast, en je geeft elkaar een seintje bij het doorgeven. De ingrediënten hadden we al; het recept maakte er samenwerking van.
De opdrachten leefden op dit moment nog als losse bestanden, elk in een eigen map. Dat werkte prima, maar zodra je met meer dan een handvol collega's werkt, wil je ze allemaal in één lijst kunnen zien in plaats van in losse mapjes. Daarover gaat het volgende stuk.
Dit is aflevering 6 van een reeks waarin we van binnenuit laten zien hoe ons AI-team groeide. Volgende keer: hoe de losse opdracht-bestanden naar één gedeelde lijst verhuisden.
Meer nieuws in het nieuws overzicht terug naar vorige scherm