Anthropic gaat naar de beurs: nu is het moment om je AI-laag toekomstbestendig te maken
Gisteren werd het officieel: Anthropic heeft de papieren ingediend voor een beursgang. Als je met Claude Code bouwt, is dit het moment om even na te denken over hoe afhankelijk jouw project eigenlijk is van één enkele AI-provider. Met Claude Code pak je dat vandaag nog aan.
Wat is er gebeurd?
Anthropic heeft maandag officieel de S-1 filing ingediend bij de Amerikaanse beurswaakhond, de eerste stap richting een IPO. Zowel The Verge als TechCrunch bevestigen het nieuws. Voor jou als maker is dit op twee manieren relevant: enerzijds geeft het vertrouwen in de langetermijn-beschikbaarheid van Claude, anderzijds betekent een beursgang vrijwel altijd dat er druk komt op marges, API-tarieven en gebruikslimieten. Dat is geen drama, maar wel iets om op te anticiperen.
Wat betekent dit voor jouw project?
Als jouw SaaS rechtstreeks de Anthropic API aanroept zonder abstractielaag, ben je kwetsbaar voor prijswijzigingen of tijdelijke limieten die bij een beursgenoteerd bedrijf sneller kunnen komen. Het kost je een uurtje om een dunne tussenlaag te bouwen zodat je straks in tien minuten kunt switchen naar een andere provider, of een lokaal model, als dat nodig is. Claude Code helpt je die laag nu te zetten.
Hoe pak je het aan met Claude Code?
De aanpak bestaat uit vier stappen: je maakt een centrale AI-service aan, je stuurt alle aanroepen daarheen, je laat Claude Code je bestaande code refactoren, en je test of alles nog werkt.
Stap 1 - Vraag Claude Code om een abstractielaag te maken
Open je project in Claude Code en geef deze prompt:
Maak een bestand
lib/ai-service.tsaan dat fungeert als centrale abstractielaag voor alle AI-aanroepen in dit project. De laag moet:
- Een
generateText(prompt: string, options?: AIOptions)functie exporteren- Intern de Anthropic SDK gebruiken met
claude-3-5-sonnet-20241022als default model- Een
AIOptionstype exporteren met optionele velden voormodel,maxTokensensystemPrompt- De API-key ophalen uit
process.env.ANTHROPIC_API_KEY- Errors netjes afhandelen met een leesbare foutmelding Gebruik TypeScript en de officiële
@anthropic-ai/sdkpackage.
Je krijgt iets als:
// lib/ai-service.ts
import Anthropic from '@anthropic-ai/sdk';
export type AIOptions = {
model?: string;
maxTokens?: number;
systemPrompt?: string;
};
const client = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
});
export async function generateText(
prompt: string,
options: AIOptions = {}
): Promise<string> {
const {
model = 'claude-3-5-sonnet-20241022',
maxTokens = 1024,
systemPrompt = 'Je bent een behulpzame assistent.',
} = options;
const message = await client.messages.create({
model,
max_tokens: maxTokens,
system: systemPrompt,
messages: [{ role: 'user', content: prompt }],
});
const block = message.content[0];
if (block.type !== 'text') {
throw new Error('Onverwacht response type van Anthropic API');
}
return block.text;
}
Stap 2 - Laat Claude Code je bestaande aanroepen vinden en refactoren
Geef nu deze prompt:
Zoek in dit project alle plekken waar de Anthropic SDK of OpenAI SDK direct wordt aangeroepen, buiten
lib/ai-service.tsom. Vervang die aanroepen door imports vangenerateTextuitlib/ai-service.ts. Laat me eerst een lijst zien van de bestanden die je wilt aanpassen, voordat je iets wijzigt.
Door dat laatste zinnetje krijg je eerst een overzicht en kun je nog corrigeren als Claude Code een bestand wil aanraken dat je liever met rust laat.
Stap 3 - Voeg een provider-switch toe als stip op de horizon
Optioneel maar slim: vraag Claude Code om de service uitbreidbaar te maken:
Pas
lib/ai-service.tsaan zodat er eenPROVIDERenvironment variable is (anthropicofopenai). Als de waardeopenaiis, gebruik dan de OpenAI SDK metgpt-4oals fallback-model. Houd de functie-signatuur vangenerateTextidentiek zodat de rest van de code niets hoeft te veranderen.
// Bovenaan lib/ai-service.ts, naast de Anthropic import:
import OpenAI from 'openai';
const provider = process.env.PROVIDER ?? 'anthropic';
De implementatie laat je Claude Code invullen, zodat de logica past bij jouw project.
Stap 4 - Test de laag lokaal
Vraag Claude Code tot slot:
Schrijf een kort testscript
scripts/test-ai.tsdatgenerateTextaanroept met de prompt "Zeg hallo in drie talen" en het resultaat logt. Voeg ook een npm-scripttest:aitoe aanpackage.json.
Vervolgens draai je:
npm run test:ai
Werkt het? Dan weet je dat je abstractielaag functioneert en klaar is voor de dag dat je wilt switchen.
Wat te checken na afloop
- Staat er nergens meer een directe
new Anthropic()aanroep buitenlib/ai-service.ts? Zoek metgrep -r "new Anthropic" --include="*.ts" .in je terminal. - Geeft
npm run test:aieen leesbaar antwoord terug zonder errors? - Staat
ANTHROPIC_API_KEYcorrect in je.env.localen is.env.localuitgesloten van je git-commits via.gitignore? - Is de
AIOptionstype zichtbaar in je editor als jegenerateTextaanroept? Dan is de TypeScript-koppeling goed.
Een beursgang is goed nieuws voor de continuiteit van Claude. Maar slim bouwen betekent dat je nooit volledig afhankelijk bent van de besluiten van één bedrijf, of het nu Anthropic, OpenAI of wie dan ook is.
Bij Eighty leer ik je Claude Code in het Nederlands gebruiken, van installatie tot een werkend SaaS-product. Wekelijks een nieuwe module, persoonlijke begeleiding.
