AI in je CMS klinkt eenvoudig: je zet het aan en je redactie werkt sneller. In de praktijk zit er een stap tussen. Wij zetten vol in op AI, zowel in ons eigen werk als in wat we voor onze klanten bouwen, en juist daardoor lopen we tegen dingen aan die het verschil maken tussen "het werkt ongeveer" en "het werkt echt".
De afgelopen maanden kwamen we bij Umbraco AI drie dingen tegen die stuk voor stuk invloed hadden op het dagelijks werk van een redactie. Twee bugs en een gemiste kans. In alle gevallen lag het antwoord niet in de instellingen, maar een laag dieper. En in alle gevallen hebben we onze bevindingen teruggelegd bij Umbraco, zodat niet alleen wij er beter van worden.
Waar we naartoe werken is concreet. De redactie moet met behulp van AI, content in het CMS kunnen uitschrijven, opzetten en publiceren, zonder omweg via losse tools of een extra ronde. Dat doel geldt voor onze eigen redactie en net zo goed voor die van onze klanten.
Van briefing of een bestaand document naar een gepubliceerde pagina, in één omgeving. Op precies dat pad kwamen we deze drie knelpunten tegen. Stuk voor stuk zaten ze in de weg op het moment dat het juist snel moest gaan.
AI is voor ons geen zijproject. We gebruiken het dagelijks zelf, in ons ontwikkelwerk, in onze marketing en in de manier waarop we content maken. En we bouwen AI-toepassingen voor onze klanten, van slimme zoekfunctionaliteit tot redactionele ondersteuning in de backoffice. Wie daar meer voorbeelden van wil zien, vindt er acht in ons overzicht van slimme AI-toepassingen in Umbraco.
Dat betekent dat we niet alleen leveren, maar ook zelf de gebruiker zijn. Wat niet werkt, merken we meteen. En dat verklaart waarom we niet wachten tot iemand anders iets oplost.
Umbraco AI is nog jong. Er zijn dingen die niet werken zoals je zou verwachten, en handige functies die nog ontbreken. Je kunt dan afwachten. Of je kunt uitzoeken wat er aan de hand is en dat terugleggen bij de makers. Als Umbraco Gold Partner bouwen we voor onze klanten op Umbraco als platform, en dan is "het doet het niet" geen antwoord dat we kunnen verkopen.
Het begon met een redacteur die de AI om een blog vroeg. De eerste alinea's stonden er goed op. En dan, midden in een zin, stopte het. Geen foutmelding, geen waarschuwing. Gewoon een tekst die ophield.
Vervelend, en op het eerste gezicht onlogisch, want in de instellingen stond de maximale lengte juist ruim ingesteld. Toch gebeurde het elke keer opnieuw. In zo'n situatie ontstaat al snel twijfel bij de gebruiker: doe ik iets verkeerd, of kan de AI dit gewoon niet?
Het antwoord was geen van beide. De instelling in de backoffice werd simpelweg niet doorgegeven aan de AI, waardoor het systeem terugviel op een veel lagere standaardwaarde. Je vulde dus netjes iets in, en dat werd genegeerd. Sindsdien kan de redactie weer volledige teksten laten genereren, zonder handmatig aanvullen of opnieuw proberen.
Kort daarna liep dezelfde redacteur tegen iets anders aan. Ze wilde blogs laten vullen op basis van een Word-document. Een heel normale wens: je hebt een rapport of een briefing liggen en wilt daar content van maken. Het uploaden lukte, en daarna bleef de chat eindeloos laden.
Die vastloper bleek al opgelost in een versie die we net binnen hadden. Maar toen die eenmaal draaide, kwam het echte probleem tevoorschijn: bij een vervolgvraag kon de AI het document simpelweg niet meer zien.
Dat is het soort fout waar je zomaar langs kijkt. De eerste vraag werkte prima, dus je denkt dat het goed zit. Pas bij doorvragen, precies waar de AI het nuttigst wordt, viel het bestand weg. De oorzaak was uiteindelijk één regel code. Documenten als bron gebruiken werkt nu weer zoals bedoeld, ook bij vervolgvragen.
Niet alles wat we tegenkwamen was een storing. Soms is het een gemiste kans. Bij elke vraag aan de AI werd namelijk de volledige voorkant meegestuurd: jullie schrijfstijl, de bedrijfscontext, de beschikbare instructies. Dat deel verandert nooit tussen twee vragen. Toch werd het telkens opnieuw verwerkt en tegen het volle tarief afgerekend.
Voor dit probleem bestaat een oplossing, prompt caching, waarbij dat vaste deel wordt hergebruikt tegen een fractie van de prijs. De vraag was of Umbraco AI het al ondersteunde. In plaats van dat aan te nemen hebben we het gecontroleerd in de broncode. Het antwoord was nee, en dat was een concreet, aantoonbaar gat.
Daarop hebben we een onderbouwd feature-verzoek opgesteld: wat het is, waarom het loont en waar het aangrijpt. In de discussie die volgde is het ontwerp samen met de maintainer van het package aangescherpt tot iets wat je per profiel kunt instellen, met inzicht in de statistieken zodat je ook kunt zien of het werkt.
De cijfers na inschakelen, afgezet tegen de zeven dagen ervoor:
Ongecachete input: −97,6%. Vrijwel alles wat voorheen tegen het volle tarief werd afgerekend, komt nu uit de cache.
Cache read ratio: 96,5%, ruim een verdrievoudiging. Het overgrote deel van de kosten wordt nu tegen ongeveer een tiende van de normale prijs berekend.
Een structurele kostenpost dus teruggebracht tot een fractie. En als bijkomend voordeel begint de AI sneller met antwoorden, wat je als gebruiker direct merkt.
Die kostenbesparing is geen detail. Veel organisaties zetten AI klein op, zien de kosten oplopen zodra het aanslaat, en gaan dan afknijpen op precies het moment dat het waarde begint te leveren. Deze besparing haalt die rem eraf. En omdat het in het package zelf terechtkomt, geldt dat voor iedereen die het gebruikt, niet alleen voor onze eigen projecten.
Bij de twee bugs zit de winst ergens anders: in vertrouwen. Een tool waarvan je niet weet of hij afmaakt wat hij begint, gaat vroeg of laat op de plank. Dat is precies hoe AI-projecten stranden, niet op de techniek maar op gebruikers die het opgeven. Wie wil weten hoe je dat voorkomt, leest hoe AI een team kan versterken in plaats van er los naast te staan.
Wat deze drie verhalen gemeen hebben, is dat het antwoord nooit in de instellingen lag, en dat het elke keer begon met controleren in plaats van aannemen. Dat is precies wat een partner zou moeten toevoegen: niet alleen een tool aanzetten en de handleiding doorsturen, maar uitzoeken waarom iets niet doet wat het belooft. Wij hebben het voordeel dat we in de broncode kunnen kijken. Voor jullie zou dat gedoe zijn, voor ons is het werk.
Omdat we AI zelf serieus gebruiken, lopen we tegen de scherpe randjes aan voordat onze klanten dat doen. Wat wij oplossen voor onszelf, komt terecht in wat we voor jullie bouwen. Zo werkt een ecosysteem waar je onderdeel van bent in plaats van alleen gebruiker.
Ja, maar met de kanttekening dat het nog jong is. De basis werkt goed en je kunt er dagelijks mee produceren. Tegelijk zitten er scherpe randjes in, zoals instellingen die niet altijd doorkomen of functies die nog ontbreken. Met een partner die in de broncode kan kijken en bevindingen teruglegt bij Umbraco, gebruik je het veilig in productie zonder dat die randjes jullie werk raken.
Het verschil zit in uitzoeken waarom iets niet doet wat het belooft, in plaats van de handleiding doorsturen. Bij ons lag het antwoord nooit in de instellingen, maar een laag dieper in de code. Omdat wij AI zelf serieus gebruiken, lopen we tegen die scherpe randjes aan voordat jullie dat doen, en wat wij oplossen komt terecht in wat we voor jullie bouwen.
Wij bouwen AI-toepassingen die in de dagelijkse praktijk werken, en lossen onderweg op wat er nog niet klopt. We kijken graag met jullie mee naar wat er mogelijk is.