Naar de inhoud
Ffantomu.dev
FNT / Blog · Nº 05← Alle artikelen

AI-functies toevoegen aan je Laravel-applicatie zonder te overengineeren

Close-up van een printplaat

AI · Laravel22 september 2026

Bijna elke klant vraagt er op een gegeven moment naar: "Kunnen we AI toevoegen?" Soms is het een concreet idee, zoals het samenvatten van klantenservicegesprekken of het genereren van productbeschrijvingen. Soms is het vager. In beide gevallen is de vraag niet of het technisch mogelijk is, maar hoe je het op een manier bouwt die betrouwbaar werkt in productie zonder de codebase onnodig complex te maken.

Dit artikel gaat over het integreren van large language model (LLM) API's in een bestaande Laravel-applicatie op een praktische, onderhoudbare manier.


Begin met een concreet gebruiksscenario

"AI toevoegen" is geen functie. Een functie is: "samenvat het gesprek tussen de supportmedewerker en de klant wanneer een ticket wordt gesloten." Dat is iets wat je kunt bouwen, testen en verbeteren.

De meest succesvolle AI-integraties die we hebben gebouwd zijn smal van scope en waardevol op zichzelf: tekst classificeren, inhoud samenvatten, gestructureerde data extraheren uit ongestructureerde invoer, of antwoorden genereren op basis van een vaste kennisbank. Begin met één ding en doe dat goed.


De integratiearchitectuur

Gebruik een service-klasse, geen controller-logica

Sluit de LLM-aanroep nooit direct in een controller in. Maak een dedicated service-klasse aan, zoals AiSummaryService, die verantwoordelijk is voor het samenstellen van de prompt, het aanroepen van de API en het verwerken van de respons. Dit maakt de logica testbaar en eenvoudig te vervangen als je later van provider wisselt.

Verwerk asynchrone aanroepen via een queue

LLM API-aanroepen duren doorgaans tussen de een en tien seconden. Voer ze nooit synchroon uit als onderdeel van een HTTP-verzoek, tenzij de gebruiker expliciet op het resultaat wacht en de verwachte wachttijd acceptabel is. Gebruik in de meeste gevallen een Laravel-job die via de queue wordt verwerkt en sla het resultaat op in de database wanneer het klaar is.

Sla resultaten op, herbereken ze niet

Elke aanroep naar een LLM-API kost geld. Als de input niet is gewijzigd, heeft het geen zin om dezelfde samenvatting opnieuw te genereren. Sla gegenereerde inhoud op in de database en invalideer de cache alleen wanneer de brongegevens daadwerkelijk veranderen. Dit verlaagt de kosten drastisch bij schaal.


Prompts schrijven die consistent werken

Een prompt is geen one-liner. Behandel het als code: versiebeheer het, test het met meerdere invoerwaarden en documenteer waarom bepaalde instructies nodig zijn. Een goede prompt voor een productiesysteem bevat doorgaans:

  • Rolverdeling: vertel het model wat voor soort assistent het is
  • Taakinstructie: beschrijf precies wat er moet gebeuren
  • Outputformaat: specificeer of je JSON, platte tekst of gestructureerde markdown verwacht
  • Beperkingen: wat het model niet mag doen, zoals speculeren buiten de verstrekte context

Bewaar prompts in configuratiebestanden of een aparte map, niet hardcoded in service-klassen. Dan kun je ze aanpassen zonder de applicatiecode te herschrijven.


Foutafhandeling en terugvalgedrag

LLM-API's hebben rate limits, tijdelijke storingen en af en toe onverwachte responsformaten. Je applicatie moet hiermee omgaan zonder te crashen:

  • Wikkel aanroepen in try-catch en log mislukte pogingen
  • Implementeer exponentieel uitstel voor herhaalpogingen bij rate limit-fouten
  • Definieer een terugvalwaarde: wat toont de gebruiker als de AI-functie niet beschikbaar is?
  • Valideer de responsstructuur voor je hem verwerkt, zeker bij JSON-output

De AI-functie is een verbetering bovenop je applicatie, geen fundering ervan. Als hij uitvalt, moet de kernfunctionaliteit blijven werken.


Kosten bewaken

Zonder bewaking kunnen API-kosten snel oplopen. Sla bij elke aanroep het tokenaantal op (de meeste API's geven dit terug in de respons) en houd dit bij per gebruiker, functie of tenant. Stel budgetwaarschuwingen in bij je API-provider en overweeg een zacht limiet per gebruiker als je een multi-tenantomgeving beheert.

Caching is je krachtigste kostenbeheersinstrument. Zelfs een eenvoudige cache op basis van een hash van de invoer kan het API-gebruik met tientallen procenten verminderen bij herhaalde of vergelijkbare verzoeken.


Wanneer het de moeite waard is

AI-integratie is de moeite waard wanneer er een repetitieve taak is die mensen momenteel handmatig uitvoeren en waarbij een onvolmaakt maar snel resultaat waardevoller is dan een perfect maar traag resultaat. Tekstsamenvatting, categorisering, eerste-draft-generatie en gegevensextractie zijn allemaal goede kandidaten.

Het is minder geschikt voor taken die nauwkeurigheid boven snelheid stellen, waarbij elke fout een zakelijk gevolg heeft, of waarbij de gebruiker het onderscheid niet kan maken tussen goed en slecht gegenereerde output. In die gevallen is een goede old-fashioned rule-based aanpak betrouwbaarder.

Laten we praten · มาคุยกัน

Klaar om jouw project te bespreken?