In een 'wat doe je tegenwoordig?'-gesprek laatst vertelde ik voornamelijk bezig te zijn met AI Engineering momenteel. Ik kreeg de reactie: "Maar AI is toch gewoon alleen maar een vraag invoeren?"
Ik dacht 'hoe ga ik dit nu uitleggen', en wilde het voor mezelf eigenlijk ook wel graag concreet omschreven hebben. Daarnaast zou ik die persoon het liefst meteen een linkje sturen met de melding, 'check dit maar'. Nou, bij deze, check dit maar:
Definitie
Een AI Engineer is een software-engineer die bestaande AI-modellen integreert met databronnen, externe tools en applicaties om betrouwbare, bruikbare en schaalbare AI-powered applicaties te bouwen.
Zoiets? :)
De term AI Engineer is relatief nieuw. Maar wat houdt het vak precies in? Welke vaardigheden heb je nodig om AI Engineer te worden? En wat kan een AI Engineer daadwerkelijk bouwen?
Een verdere toelichting met huidige inzichten:
Van programmeur naar AI Engineer
Voorheen moest je een behoorlijk traject afleggen om programmeur te worden. Je volgde een opleiding, liep stage, maakte opdrachten en deed ervaring op voordat je uiteindelijk aan de slag kon.
Dat landschap verandert snel. Met de komst van AI coding tools is het schrijven van code namelijk een stuk toegankelijker geworden. AI kan inmiddels grote delen van het programmeerwerk voor je genereren.
Maar daarmee is het moeilijke deel van softwareontwikkeling niet verdwenen. Het is verschoven.
De grootste uitdaging zit in het maken van de juiste keuzes:
- Architectuur: Hoe structureer je een applicatie en welke technische architectuur past bij de oplossing?
- Probleemdefinitie: Wat moet je precies bouwen om een probleem op te lossen?
- Afwegingen: Waarom is de ene technische benadering beter dan de andere?
Dit zijn vaardigheden die je niet zomaar uit een opleiding of training haalt. Ze ontstaan vooral door ervaring, experimenteren en daadwerkelijk dingen bouwen.
Juist daar komt de AI Engineer in beeld.
Machine Learning (ML) Researcher vs. AI Engineer
Om te begrijpen wat een AI Engineer doet, is het tevens goed om onderscheid te begrijpen tussen een Machine Learning Researcher en een AI Engineer.
Een Machine Learning Researcher houdt zich bezig met de ontwikkeling van AI-modellen zelf. Denk aan:
- AI-modellen bouwen.
- De AI-modellen trainen.
- Nieuwe LLM-architecturen ontwerpen.
- Wetenschappelijke papers publiceren.
- Onderzoek doen naar de onderliggende technologie.
Dit is doorgaans een specialistisch vakgebied waarvoor een sterke academische achtergrond nodig is, vaak wiskundig.
Een AI Engineer bouwt juist systemen met AI-modellen die al bestaan. Denk aan frontier-modellen of open-source modellen die door Machine Learning Researchers zijn ontwikkeld en getraind.
De werkzaamheden bestaan onder andere uit:
- AI-modellen integreren in bestaande of nieuwe platformen.
- Modellen verbinden met databases, en andere bronnen van data.
- AI-modellen koppelen aan tools, voor het ophalen van externe informatie en het uitvoeren van acties.
- MPC servers opzetten en AI Agents koppelen.
- Guardrails en memory loops implementeren voor agents.
- AI-oplossingen beschikbaar maken binnen een applicatie of organisatie.
- Lots more, zie bijvoorbeeld ook AI naar productie brengen
Je kunt het vergelijken met de auto-industrie: de Machine Learning Researcher bouwt de motor, terwijl de AI Engineer de auto bouwt.
Er zijn inmiddels talloze krachtige AI-modellen beschikbaar. De uitdaging zit steeds vaker in het bouwen van de auto's: het ontwikkelen van daadwerkelijk bruikbare oplossingen waarmee organisaties aan de slag kunnen.
Daar zit een grote behoefte aan AI Engineers momenteel.
De benodigde skill-set van een AI Engineer
1. Fundamentele technische skills
Een veelgemaakte fout is om direct te beginnen met het bouwen van een AI-integratie en deze vervolgens in gebruik te nemen, zonder de onderliggende techniek en data goed te begrijpen.
De fundering wordt dan overgeslagen en moet achteraf alsnog worden gelegd.
Die fundering bestaat uit technische vaardigheden die niet specifiek zijn voor AI, maar wel essentieel zijn om goede AI-applicaties te bouwen.
Python
Je hoeft geen Python-wizard te zijn, maar je moet wel begrijpen wat er gebeurt in de code die een AI coding agent voor je schrijft.
Veel Machine Learning libraries en packages maken gebruik van Python, waaronder PyTorch en TensorFlow. Het begrijpen van de taal is daarom belangrijk.
Git
Git is essentieel voor versiebeheer. Je moet kunnen werken met repositories, wijzigingen kunnen bijhouden en begrijpen hoe code wordt beheerd.
CLI-tools en Linux
Je moet je weg kunnen vinden in de Command Line Interface (CLI) en de basisprincipes van Linux begrijpen.
Git, CLI-tools en Linux zijn bovendien belangrijk wanneer je je AI-applicatie gaat deployen.
API's
API's vormen misschien wel een van de belangrijkste onderdelen van AI Engineering. Hiermee verbind je de verschillende software, modellen en databronnen met elkaar.
Bij AI-integraties maak je bijvoorbeeld API-calls naar:
- AI-modellen.
- Vector databases.
- Relationele databases.
- Externe tools en services.
- Search engines, bv Solr
Daarbij moet je ook weten hoe je responses verwerkt, omgaat met rate limits en rekening houdt met token budgets. Commerciële AI-modellen rekenen af in hoeveel tokens je verbruikt. Denk hierbij aan de frontier modellen van OpenAI of Claude.
Een goede AI-oplossing bestaat uiteindelijk uit een correct gestructureerde applicatie waarin verschillende API's met elkaar communiceren.
Van je eigen applicatie naar het AI-model, en vervolgens naar verschillende tools, databases en externe services.
Er gaat continu zeer veel data alle kanten op. Het is belangrijk dat je begrijpt hoe die communicatie werkt.
2. Benodigde AI-skills van een AI Engineer
Naast de technische basis heb je natuurlijk ook specifieke AI-kennis nodig. Een aantal belangrijke onderdelen zijn embeddings, vector search, RAG en AI-agents.
Embeddings en vector search
Om AI-modellen met grote hoeveelheden data te laten werken, moet je begrijpen wat embeddings zijn en hoe vector search werkt.
Embeddings zetten bijvoorbeeld teksten uit PDF-bestanden om in numerieke vectoren. Hierdoor kan een systeem zoeken op basis van betekenis (semantic similarity) in plaats van alleen op basis van exacte zoekwoorden.
Vervolgens kun je met een search in de vector database de meest relevante en recente informatie ophalen, en in het context window van het betreffende AI-model gooien samen met de oorspronkelijk vraag van de menselijke gebruiker.
Het AI-model / LLM kan nu een accuraat antwoord formuleren, omdat meest recente en relevante informatie wordt meegegeven.
Door dit proces kan een eindgebruiker bijvoorbeeld een vraag stellen over een document, zonder precies dezelfde woorden te gebruiken als in de oorspronkelijke tekst en op basis van semantic similarity een bruikbaar antwoord krijgen.
RAG: Retrieval-Augmented Generation
Een ander belangrijk onderdeel is RAG. Hiermee zorg je ervoor dat een AI-model toegang krijgt tot relevante en actuele informatie, zodat het antwoorden kan geven op basis van de juiste databronnen.
AI-modellen zijn namelijk getraind op data tot een bepaald moment. Ze worden niet continu bijgewerkt met alle nieuwe informatie. RAG helpt om dat gat te overbruggen.
Het RAG-proces in grote lijnen:
- PDF: Je begint met documenten en andere databronnen.
- Chunks: De documenten worden opgedeeld in kleinere tekstfragmenten.
- Embeddings: Van deze fragmenten worden embeddings gemaakt.
- Vector database: De embeddings worden opgeslagen in een vector database.
- Zoekopdracht: Een eindgebruiker stelt een vraag. Het systeem zoekt de meest relevante informatie in de vector database.
- Context: De gevonden informatie wordt toegevoegd aan de vraag en meegestuurd naar het AI-model.
- Antwoord: Het AI-model gebruikt deze context om een antwoord in begrijpelijke taal te genereren.
Zo krijgt het model toegang tot informatie die niet noodzakelijk onderdeel was van zijn oorspronkelijke training.
Voor veel organisaties die met AI aan de slag gaan, is RAG of een afgeleide daarvan een belangrijk onderdeel van de oplossing.
AI Agents en tools
AI-agents zijn momenteel erg populair. Waar een traditioneel AI-model voornamelijk antwoorden genereert, kunnen agents ook daadwerkelijk acties uitvoeren. Vaak soortgelijk aan acties van mensen.
Dit gebeurt door AI-modellen te verbinden met tools. Denk bijvoorbeeld aan:
- Het opvragen van informatie uit een grote, complexe database.
- Het uitvoeren van een actie in een ander systeem.
- Het ophalen van externe informatie.
- Of het ontrafelen van een spreadsheet.
Hierdoor verschuift AI van alleen antwoorden geven naar daadwerkelijk werk uitvoeren.
Het verschil tussen een AI-workflow en een AI-agent
Bij het bouwen van AI-oplossingen is het ook belangrijk om het verschil tussen workflows en agents te begrijpen.
Bij een AI-workflow worden stappen vooraf gedefinieerd en in een bepaalde volgorde uitgevoerd. Bij een AI-agent speelt juist de agent loop een belangrijke rol: het model bepaalt op basis van de beschikbare informatie welke vervolgstap nodig is, welke tool het moet gebruiken en of het resultaat voldoende is.
Die loop is cruciaal. Als je deze betrouwbaar en op schaal kunt laten functioneren, ontstaat een krachtig AI-systeem.
3. Benodigde deployment skills van een AI Engineer
Een AI-oplossing bouwen is één ding. Ervoor zorgen dat deze betrouwbaar werkt in een productieomgeving is een tweede.
Daarom zijn ook deployment-vaardigheden essentieel.
Containers
Je moet ervoor zorgen dat een AI-applicatie vanuit je lokale ontwikkelomgeving betrouwbaar naar een productieomgeving kan worden overgezet. Maar ook dat alle benodigde developers mee kunnen werken, zonder dat ze continue bezig zijn om hun lokale omgeving te installeren en configureren. Je wilt dat ze instant mee kunnen draaien in ontwikkeling, onafhankelijk van hun OS.
Monitoring
Bij AI-applicaties gaat er ontzettend veel data alle kanten op. Je wilt daarom inzicht hebben in wat er binnen je systeem gebeurt.
Monitoring helpt je onder andere om:
- Te begrijpen waarom een AI-agent een bepaalde beslissing heeft genomen.
- Inzicht te krijgen in de werking van je AI-systeem.
- Het aantal gebruikte tokens bij te houden, de financiële impact van AI-gebruik te monitoren.
- Transparantie en vertrouwen in het systeem te waarborgen.
Lokale servers en cloud
Tot slot moet je begrijpen hoe je AI-oplossingen beschikbaar maakt voor menselijke gebruikers.
Dat kan bijvoorbeeld door in-house of on-premise servers in te zetten, waarbij systemen los van het internet draaien. Of door applicaties in de cloud te hosten zodat ze wereldwijd beschikbaar zijn.
Waar worden AI Engineers momenteel voor ingezet?
De vaardigheden komen samen in verschillende oplossingen die organisaties steeds vaker laten ontwikkelen.
AI-kennissystemen
Systemen waarin medewerkers vragen kunnen stellen en antwoorden krijgen op basis van álle kennis en data binnen de organisatie.
AI-agents en tools
Agents die bijvoorbeeld een database kunnen bevragen, data kunnen visualiseren of taken kunnen uitvoeren waarvoor normaal gesproken de kennis van een specialist nodig is.
Software / applicaties ontwikkelen en deployen
AI inzetten om softwareontwikkeling te versnellen. Het ontwikkelen en deployen van applicaties, waarvoor voorheen bijvoorbeeld weken nodig waren, kan met behulp van AI soms binnen enkele uren worden gerealiseerd.
En meer
Zie ook AI Engineering > Wat AI kan betekenen voor jouw digitale platform
Enfin
AI Engineering is dus wel iets meer dan een vraag invoeren bij ChatGPT.
Het draait om het combineren van bestaande AI-modellen met software, databronnen, tools en infrastructuur. Het vraagt om technische kennis, maar vooral ook om het vermogen om de juiste keuzes te maken: wat bouw je, hoe bouw je het, hoe zorg je ervoor dat het betrouwbaar werkt, en blijft werken? Dat kosten niet uit de hand lopen, en dat eindgebruikers tevreden blijven. En lots more.
AI maakt het schrijven van code steeds toegankelijker. Maar het bouwen van goede, bruikbare, schaalbare systemen vraagt om inzicht, ervaring en technische vaardigheden.
En dat is precies waar AI Engineering dus om draait.
Gerelateerd blog
AI naar productie brengen: de echte uitdaging begint na de demo
