Een AI-schrijftool bouwen: prompts, sleutels, kosten en limieten
Om een AI-schrijftool te bouwen kies je één specifieke schrijftaak, zoals productbeschrijvingen, sollicitatiebrieven of vergadersamenvattingen, en maak je er een formulier van: de invoer die de gebruiker invult, een prompt-sjabloon dat je hebt getest, en een uitvoer die je in een editor toont die de gebruiker kan aanpassen en opslaan. De tekst zelf komt van een taalmodel dat je via een API aanroept met je eigen sleutel, vanaf je server, nooit vanuit de browser. Wat de tool de moeite waard maakt, is hoe goed je de taak begrijpt, niet het model.
Waarom “één taak” belangrijk is
Algemene chatassistenten schrijven al alles, dus een nieuwe tool die “helpt met schrijven” concurreert er rechtstreeks mee. Een tool voor een smalle taak wint omdat die:
- De juiste invoer vraagt. Een schrijver van vastgoedadvertenties vraagt naar slaapkamers, locatie en opvallende kenmerken, zodat gebruikers die niet hoeven te onthouden.
- De prompt verbergt. Je besteedt uren om de instructies één keer goed te krijgen; gebruikers profiteren met één klik.
- Een consistent formaat levert. Dezelfde structuur, lengte en toon elke keer, wat belangrijk is wanneer de uitvoer rechtstreeks op een website of in een CRM belandt.
- Past in een workflow. Opgeslagen concepten, sjablonen per klant, een kopieerknop die de juiste opmaak plakt.
Goede eerste taken zijn repetitief, hebben een duidelijke “goede” en “slechte” versie, en worden gedaan door een groep die je kunt bereiken: makelaars, recruiters, winkeliers, docenten die rapportopmerkingen schrijven.
Waaruit een AI-schrijftool bestaat
| Onderdeel | Wat het doet |
|---|---|
| Invoerformulier | De velden voor deze taak: onderwerp, doelgroep, toon, lengte, kernfeiten, voorbeelden |
| Prompt-sjabloon | Instructies plus de invoer van de gebruiker, op de server samengesteld |
| Model-API-aanroep | Je server stuurt de prompt naar de aanbieder met je sleutel |
| Gestreamde uitvoer | Tekst verschijnt terwijl hij gegenereerd wordt, zodat de gebruiker niet naar een spinner staart |
| Editor | De gebruiker bewerkt het resultaat; het AI-concept is een startpunt |
| Opgeslagen documenten | Concepten, geschiedenis en herbruikbare sjablonen, opgeslagen in een database |
| Accounts en limieten | Wie de gebruiker is en hoeveel die kan genereren |
| Facturering (als je betaalt) | Abonnementen of tegoeden, meestal via een betalingsaanbieder zoals Stripe |
Beslissingen vóór je begint
Welke modelaanbieder
Je brengt je eigen API-sleutel mee van een aanbieder zoals OpenAI, Anthropic of Google. Kies op basis van schrijfkwaliteit voor jouw taak, snelheid en prijs, en test er twee of drie met dezelfde set echte invoer voordat je beslist. Houd de aanbieder achter één functie in je code, zodat je later kunt wisselen. Onze gids over hoe je LLM-API’s gebruikt legt tokens, sleutels en prijsmodellen uit; voor aanbieder-specifieke installatie zie de OpenAI-API integreren en de Claude-API integreren.
Hoe je de kosten beheerst
Elke generatie kost je geld, en een gratis abonnement kan misbruikt worden. Stel een maandelijkse uitgavenlimiet in via het dashboard van de aanbieder, begrens het aantal generaties per gebruiker per dag in je app, beperk de lengte van invoer en uitvoer, en kies een goedkoper model voor eenvoudige taken. Noem gebruikers pas een prijs per generatie als je het echte gebruik hebt gemeten op basis van je eigen facturen van de aanbieder.
Gratis, betaald of tegoeden
Een klein gratis tegoed helpt mensen om het uit te proberen. Daarna is een maandabonnement met een royale limiet makkelijk te begrijpen; tegoeden passen bij tools waarbij sommige generaties veel groter zijn dan andere. Zie hoe je een SaaS-product prijst.
Wat je opslaat
Gebruikers kunnen vertrouwelijk materiaal plakken: klantgegevens, niet-uitgebrachte productplannen, studentgegevens. Bepaal wat je bewaart, hoe lang, en of het naar de aanbieder gaat op een manier die bewaard kan blijven. Lees het gegevensbeleid van je aanbieder en vat het duidelijk samen in je privacyverklaring.
Schrijf het prompt-sjabloon als een opdracht
De prompt bepaalt het grootste deel van de uitvoerkwaliteit. Behandel hem als een opdracht voor een freelance schrijver:
- Rol en taak: “Je schrijft advertenties voor woningen in Nederland.”
- Regels: lengte, structuur, wat te vermijden (“geen verzonnen kenmerken”, “geen superlatieven als ‘prachtig’”).
- De invoer van de gebruiker, duidelijk gelabeld.
- Een voorbeeld van een goede uitvoer, als je die hebt.
- Het formaat: koppen, opsommingstekens, platte tekst of Markdown.
Bouw een testset van tien tot twintig echte invoeren en controleer de uitvoer elke keer dat je de prompt wijzigt. Kleine woordveranderingen kunnen één geval oplossen en drie andere breken.
Een eerste prompt voor een AI-builder
Bouw een webapp genaamd ListingWriter die vastgoedadvertentieteksten schrijft voor makelaars. Na het inloggen ziet de gebruiker zijn opgeslagen advertenties en een formulier “Nieuwe advertentie” met de velden: type woning, slaapkamers, badkamers, oppervlakte, kernkenmerken (één per regel), voorzieningen in de buurt, toon (professioneel, warm of beknopt) en lengte (kort of lang). Bij verzenden bouwt de server een prompt uit deze velden en roept de AI-aanbieder aan met het geheime AI_API_KEY; stream de tekst naar een editor op de pagina. De gebruiker kan bewerken, opslaan, kopiëren en opnieuw genereren. Sla advertenties op in een database, en elke gebruiker ziet alleen de eigen advertenties. Beperk elke gebruiker tot 30 generaties per dag, afgedwongen op de server, en toon hoeveel er nog over zijn. Stuur de API-sleutel nooit naar de browser. Schoon, eenvoudig ontwerp.
Als de builder de sleutel nodig heeft, voeg hem dan toe als geheim in de projectinstellingen, niet geplakt in de chattekst of de code.
Bouw het stap voor stap
- Krijg de kernlus werkend: formulier, serveraanroep, gestreamde uitvoer, editor. Test met je echte invoer.
- Stem de prompt af op je testset tot de meeste uitvoer alleen lichte bewerking nodig heeft.
- Voeg de database toe voor opgeslagen concepten, dan accounts, en controleer dat één gebruiker de concepten van een ander niet kan zien door een ID in de URL te wijzigen.
- Voeg limieten toe: dagelijkse maxima per gebruiker, maximale invoerlengte en een duidelijke melding wanneer een limiet is bereikt.
- Behandel fouten: de aanbieder zal af en toe een time-out geven of een fout teruggeven. Toon een vriendelijke melding en reken mislukte generaties niet aan de gebruiker toe.
- Voeg facturering toe als je geld vraagt; bouw het eerst in testmodus. Zie hoe je betalingen aan je app toevoegt.
- Beveiligingscontrole. Bevestig dat de sleutel nergens in browsercode staat en dat het generatie-endpoint uitgelogde gebruikers weigert.
- Leg het voor aan vijf mensen die deze taak doen en kijk hoe ze het gebruiken.
Veelgemaakte fouten
- Een algemene “AI-schrijver” bouwen. Die is moeilijk uit te leggen en moeilijk te verslaan ten opzichte van de chatassistenten die mensen al gebruiken.
- Het model vanuit de browser aanroepen. Iedereen kan je sleutel kopiëren en je geld uitgeven.
- Geen gebruikslimieten. Eén script kan ’s nachts een grote rekening oplopen.
- Uitvoer als feit presenteren. Modellen verzinnen details. Vertel gebruikers feiten te controleren, en schrijf prompts die verbieden informatie toe te voegen die niet in de invoer staat.
- Beloven dat je “AI-detectors verslaat” of “plagiaatvrije” tekst maakt. Je kunt geen van beide garanderen, en het lokt misbruik uit.
- De prompt wijzigen zonder testset, en daarna ontdekken dat de kwaliteit voor de helft van je gebruikers is gezakt.
Wanneer een kant-en-klaar product de betere keuze is
Als de schrijftaak algemeen is, zoals e-mails, blogconcepten of herformuleringen, dan zijn de AI-assistenten en de schrijffuncties die al ingebouwd zitten in kantoor- en e-mailsoftware waarschijnlijk genoeg, en goedkoper dan bouwen. Gevestigde AI-copywritingtools dekken ook gangbare marketingformaten met teamfuncties. Bouw zelf wanneer de taak specifiek is voor een branche of workflow, wanneer je je eigen data of huisstijl in elke uitvoer nodig hebt, of wanneer je een gericht hulpmiddel wilt verkopen aan een groep die je goed kent.
Bouwen met Mythex
Mythex is een AI-app-builder: je beschrijft de tool, en het bouwt het formulier, de serverkant van de aanroep, de editor en de opgeslagen concepten in een live preview, waarna het publiceert op een publieke URL. De AI in je tool gebruikt je eigen aanbiedersleutel, opgeslagen als geheim van het project (Mythex toont een geheimen-kaart in de chat wanneer er een nodig is), en het gebruik wordt gefactureerd op je eigen aanbiedersaccount, niet op je Mythex-buildtegoed. Mythex levert geen tokens voor de gebruikers van je app en ook geen ingebouwde snelheidslimieten; die vraag je zelf en test je.
Wanneer je om opgeslagen concepten vraagt, voegt Mythex een Postgres-database aan het project toe. Inloggen voor je gebruikers gebruikt een authenticatiemethode die jij kiest, en betaalde abonnementen lopen via je eigen Stripe-account. De docs over AI toevoegen met je eigen API-sleutels en AI in je app bevatten startprompts, en hoe je AI-functies aan je app toevoegt behandelt kleinere AI-functies die je aan een bestaand product kunt toevoegen.
Veelgestelde vragen
Moet ik mijn eigen model trainen om een AI-schrijftool te bouwen?
Nee. Bijna alle AI-schrijftools roepen een bestaand taalmodel aan via een API en voegen waarde toe met prompts, structuur, context en een workflow rond één taak. Een model trainen loont zelden voor een eerste versie.
Hoeveel kost het om een AI-schrijftool te draaien?
Je betaalt de modelaanbieder per token, ruwweg per gelezen en geschreven woord, dus de kosten groeien mee met het gebruik en de lengte van de uitvoer. Controleer de actuele prijzen van je aanbieder, stel een maandelijkse uitgavenlimiet in via hun dashboard en begrens het gebruik per gebruiker in je app.
Hoe verschilt een AI-schrijftool van gewoon een chatbot gebruiken?
Een goede schrijftool doet één taak, vraagt al om de juiste invoer, heeft een getest prompt op de achtergrond, levert een consistent uitvoerformaat en biedt een plek om concepten op te slaan, te bewerken en opnieuw te gebruiken. De gebruiker vult een formulier in in plaats van een prompt te schrijven.
Kan ik mijn API-sleutel veilig houden in een schrijfapp?
Ja, als het model alleen vanaf je server wordt aangeroepen. Bewaar de sleutel als geheim op de server, nooit in browsercode, en laat de browser je eigen endpoint aanroepen, dat de gebruiker en zijn limieten controleert voordat de aanbieder wordt aangeroepen.