Chat agents
Chat agent voor een advocatenkantoor: drie stacks gescoord
Een hallucinatie op vrijdagavond die maandag in een brief opduikt is geen prompt-probleem. Het is een platform-keuze. Hier is de drie-assige rubric die wij gebruiken.

Vrijdagavond op een Antwerps kantoor
Een paralegal op een kantoor van twaalf vraagt de nieuwe chat agent om een arbitrale uitspraak samen te vatten voor een briefing op maandag. De bot antwoordt in acht seconden en citeert een arrest van het Hof van Cassatie uit 2019 dat niet bestaat. De paralegal, moe, plakt de paragraaf in de memo. De partner ziet het op zondag. Nu heeft het kantoor een vraag die niet over prompts of tokens gaat, of over of het antwoord 'grotendeels juist' was. De vraag is op welk van de drie platformen het in de eerste plaats had moeten draaien, en wie het dossier ondertekent als de volgende hallucinatie ontsnapt aan de zondagse review.
We worden om de paar weken gevraagd die keuze te scoren voor advocaten-, accountants- en notariskantoren. Hieronder de rubric die we gebruiken. Drie kandidaten, drie assen, één matrix aan het eind. Het kantoor dat we scoren werkt paralegal-gericht, twaalf zetels, ongeveer 380 dossier-queries per week.
De drie kandidaten
Microsoft 365 Copilot Studio is de weg van de minste weerstand voor elk kantoor dat al binnen M365 leeft. Je bouwt de agent in een no-code canvas, wijst hem naar SharePoint en Outlook, en laat Azure het verhaal rond data-residency dragen. De tradeoff: je erft de roadmap van Microsoft, het eval-oppervlak van Microsoft en de billing-curve van Microsoft.
LibreChat is de self-hosted route. Open source, multi-provider, met Postgres eronder. Je zet hem op een VPS in Brussel of Frankfurt, koppelt hem aan de model-API van je keuze, en draait gesprekken tegen een database die je zelf bezit. Jij beheert de bak. Jij beheert ook het audit trail.
Een custom build op de Claude Agent SDK is de maatwerkoptie. Je schrijft de orchestratie in TypeScript of Python, je kiest het retrieval-patroon (BM25 plus embeddings, hybrid rerankers, wat past), en je levert je eigen evals. Meer werk vooraf. Meer grip op runtime, ook als een toezichthouder vraagt hoe het model iets besloten heeft. De Anthropic agent-docs zijn het juiste startpunt als je deze kant op gaat.
As 1: kosten per zetel bij 380 queries per week
Twaalf zetels en 380 queries per week is ongeveer 1.650 queries per maand, of 140 per zetel. Hieronder de bedragen waar we eerder dit jaar op uitkwamen voor één echt kantoor, in euro's, afgerond op hele eenheden. De prijzen op alle drie de platformen bewegen per kwartaal. Reken het zelf opnieuw door voordat je tekent.
Copilot Studio. Microsoft 365 Business Standard of Premium is de voorwaarde (reken op €13 tot €22 per zetel). Daarbovenop draait Copilot Studio op een metered 'message'-model: ruwweg €0,01 per simpel bericht en €0,10 per generatief antwoord, prepaid in pakketten. Bij 1.650 generatieve antwoorden per maand zit je rond de €165 aan messages, plus een tenant-fee voor de losstaande Copilot Studio-licentie. Totaal all-in voor twaalf zetels: ongeveer €430 tot €520 per maand, of €36 tot €43 per zetel. De prijsdetails op de Copilot Studio-pagina verschuiven, dus behandel het getal als richtlijn.
LibreChat + Postgres. Eén VPS van €60 tot €120 per maand in eu-central, een managed Postgres voor €25, en de rekening van de model-API. Bij 1.650 dossier-queries met gemiddeld 3.000 input-tokens (de dossier-passage) en 800 output-tokens (het antwoord) komt Claude Sonnet uit op zo'n €25 tot €40 per maand aan tokens. Totaal: €110 tot €185 per maand voor het hele kantoor, of €9 tot €15 per zetel. De catch: iemand beheert het ding. Reken op twee tot vier uur senior ops per maand, wat tegen een intern uurtarief van €120 nog eens €240 tot €480 is.
Custom Claude Agent SDK-build. De token-kosten zijn gelijk aan LibreChat. Hosting zit op dezelfde schaal. Het verschil zit in de bouwkost. Een verdedigbare eerste versie voor juridische Q&A (retrieval uit een gecureerde dossier-corpus, citation-afdwinging, een confidence-gated refusal path) is 60 tot 120 engineering-uren. Afgeschreven over twaalf maanden tegen onze tarieven is dat ongeveer €40 tot €80 per zetel per maand in jaar één, dalend naar €15 tot €25 vanaf jaar twee, als alleen wijzigingen en evals nog gefactureerd worden.
Op pure uitgaven wint LibreChat in jaar één. De custom build wint in jaar drie. Copilot Studio wint niets op kosten, maar dat heeft hij ook nooit beweerd.
As 2: beroepsgeheim-verdedigbaarheid onder het tuchtreglement
Hier wordt het goedkope antwoord duur. Belgische advocaten zijn gebonden aan artikel 458 van het Strafwetboek en aan de Codex Deontologie van de Orde van Vlaamse Balies. Het OVB-tuchtreglement is wat een misstap daadwerkelijk sanctioneert. Drie vragen tellen.
Waar staat de dossier-tekst fysiek terwijl het model hem leest? Copilot Studio draait in Azure-regio's die jij kiest, en Microsoft biedt EU Data Boundary-toezeggingen voor tenant-data. LibreChat staat waar jij hem provisioneert; kies een VPS in Brussel of Frankfurt en het antwoord is 'in de EU, in een serverruimte die je kunt aanwijzen'. De Claude Agent SDK-build belt de Anthropic API, dus de request verlaat je perimeter. Anthropic biedt EU inference-endpoints en een Zero Data Retention-optie onder enterprise-contracten, maar een kantoor van twaalf komt daar doorgaans niet voor in aanmerking zonder via een partner te gaan. Dat detail telt.
Kun je in een tuchtprocedure precies aantonen wat het model zag en wat het terugkaatste? Copilot Studio geeft je het M365 audit-log, nuttig maar niet granulair op de tussenredenering van het model. LibreChat schrijft elke beurt naar je Postgres, die je kunt pg_dumpen en overleggen. De Agent SDK-build logt wat jij ook maar opschrijft, oftewel: alles, als je het zo geschreven hebt. Wij loggen standaard de opgehaalde chunks, de prompt, de tool-calls en het uiteindelijke antwoord met hashes, achter een bewaartermijn van zeven jaar.
Wie is de verwerker, en wat zegt de verwerkersovereenkomst precies? Microsoft en Anthropic publiceren beide verwerkersovereenkomsten. Lees ze. De clausule die telt is die over het gebruik van klantdata voor model-training. Alle drie de leveranciers zeggen 'nee' op enterprise-tiers in 2026. Twee ervan zeggen standaard 'ja' op consumer-tiers. Een kantoor dat de verkeerde tier tekent is een kantoor dat voor de tuchtraad staat uit te leggen waarom dossier-tekst een training-input was.
Als het contract dat je tekende het click-through contract is, heb je het verkeerde contract getekend. Beroepsgeheim-verdedigbaarheid begint met een onderhandelde DPA, niet met een marketingpagina.
As 3: sign-off als een hallucinatie de brief haalt
Deze as gaat over mensen, niet over tech. Als een verzonnen jurisprudentie-citaat in een memo belandt en de partner het op zondag opmerkt, is er een aansprakelijkheidsketen die de OVB zal reconstrueren. We scoren elk platform op hoe helder die keten is.
Copilot Studio: de M365-beheerder van het kantoor is de facto eigenaar. In een klein kantoor is dat meestal de managing partner, die de prompts niet schreef, de retrieval niet koos en geen runbook voor evals heeft. Aansprakelijkheid is technisch aanwezig en operationeel dun.
LibreChat: wie de VPS beheert, is eigenaar. Als dat een externe partij is, moet je verwerkersovereenkomst met hen responstijden en een gepubliceerde changelog specificeren. Beheer je het zelf met een senior associate die in de marge ops draait, dan ligt de aansprakelijkheid bij iemand die al een dagtaak heeft.
Agent SDK-build: aansprakelijkheid is wat jij in de build schrijft. Wij codificeren het meestal. Een met naam aangewezen persoon keurt prompt-wijzigingen goed. Een met naam aangewezen persoon leest het wekelijkse eval-rapport. Een confidence-drempel onder 0,7 routeert het antwoord naar een 'graag verifiëren'-banner in plaats van een schoon antwoord. Een mislukte citation-lookup blokkeert het antwoord volledig. Niets hiervan is exotisch. Het is het verschil tussen 'het model zei het' en 'we hebben een bewuste keuze gemaakt om deze output te vertrouwen'.
Een simpele gate ziet er in de Agent SDK-build zo uit:
async function answerDossierQuery(q: string) {
const hits = await retrieve(q, { topK: 8, minScore: 0.62 });
if (hits.length === 0) return refusal("no_dossier_hits");
const draft = await model.generate({ system: SYSTEM, q, hits });
const cites = extractCitations(draft.text);
for (const c of cites) {
const ok = await jurisprudenceDb.lookup(c);
if (!ok) return refusal("unverified_citation", { citation: c });
}
if (draft.confidence < 0.7) {
return { kind: "please_verify", text: draft.text, hits };
}
return { kind: "answer", text: draft.text, hits };
}
Die functie is veertig regels en draagt het grootste deel van de defensibility-last. Je kunt zijn equivalent niet schrijven binnen het canvas van Copilot Studio. In LibreChat kan het als je hem forkt. In een Agent SDK-build krijg je het gratis, omdat je het zelf schreef.
De scoringsmatrix
Voor advocatenkantoren wegen we de assen 30 / 40 / 30. Kosten tellen, maar niet het zwaarst; verdedigbaarheid telt het zwaarst; sign-off telt omdat het de enige as is waar de toezichthouder je bij naam op zal aanspreken.
Voor het Antwerpse kantoor in kwestie scoorde de matrix als volgt. Copilot Studio: 4 / 10 op kosten, 7 / 10 op verdedigbaarheid, 5 / 10 op sign-off. Gewogen: 5,5. LibreChat: 9 / 10 op kosten, 6 / 10 op verdedigbaarheid, 6 / 10 op sign-off. Gewogen: 6,9. Custom Agent SDK: 5 / 10 op kosten (jaar één), 9 / 10 op verdedigbaarheid, 9 / 10 op sign-off. Gewogen: 7,8.
Het kantoor koos de custom build. Twee paralegals en één partner trainden er een week op. De agent handelt nu het grootste deel van de wekelijkse queries af zonder escalatie. De rest routeert naar de 'graag verifiëren'-banner, en de mens handelt die af in een fractie van de tijd die een verse dossier-lezing zou kosten.
Factoren die de matrix kantelen
Als het kantoor zestig zetels had in plaats van twaalf, zou Copilot Studio de kostenkloof dichten omdat de tenant-fees beter afschrijven. Als het rechtsgebied fiscaal was in plaats van procesvoering, zou LibreChat met een strikte citation-tool volstaan omdat de corpus smaller is en hallucinaties makkelijker te gaten zijn. Als het kantoor geen juridisch werk deed en alleen een slimme inbox-triager nodig had, zou hier niets van toepassing zijn en hadden we een prototype van een week opgeleverd op welke stack de IT-lead al begrijpt. Het punt van de rubric is om die tradeoffs zichtbaar te maken voordat de contracten getekend worden, niet erna.
Het is ook nuttig om op te merken dat de regulatoire bodem onder alle frontier-modellen beweegt. Leverancierscondities, EU AI Act-tijdlijnen en richtlijnen van de balie verschuiven per kwartaal, en de vakpers staat deze maand vol verhalen over welke modellen waar wel of niet mogen. Bak een her-score in de opdracht. Wij draaien de matrix elk halfjaar opnieuw voor klanten in gereguleerde praktijken en passen de build aan, niet de retoriek.
De vijf-minutenversie voor jouw kantoor
Als je een klein advocaten-, accountants- of notariskantoor runt en je tekent dit kwartaal een contract voor een chat agent, doe dan eerst dit. Open een leeg document. Schrijf drie getallen op: hoeveel queries per week je team gaat draaien, hoeveel euro per zetel per maand je bereid bent uit te geven, en hoeveel partner-uren per kwartaal je besteedt aan het beoordelen van audit-logs. Vraag de leverancier vervolgens om hun antwoord op elk daarvan op papier te zetten. Lukt dat niet, dan koop je een demo, geen deployment.
Toen we eerder dit jaar de paralegal-gerichte agent bouwden voor een Antwerps procesvoeringkantoor, zat de pijn niet bij het model maar bij de citation-lookup tool die van een zelfverzekerde hallucinatie een geblokkeerd antwoord maakte. We losten het op door de citation-database als bron van waarheid te behandelen en het model als opsteller, en datzelfde patroon verweven we nu in elke AI-agent die we voor gereguleerde praktijken opleveren.
Kern
Scoor chat agent-platformen voor een klein advocatenkantoor op drie assen: kosten per zetel, beroepsgeheim-verdedigbaarheid, en wie tekent als een hallucinatie een brief haalt.
FAQ
Hoe lang duurt een custom Claude Agent SDK-build voor een klein advocatenkantoor?
60 tot 120 engineering-uren voor een verdedigbare eerste versie: retrieval, citation-afdwinging, confidence-gated refusals, audit-logging. Twee tot vier weken doorlooptijd inclusief evals.
Kunnen we LibreChat on-premise hosten in plaats van op een VPS?
Ja. Een kleine server in het eigen rack van het kantoor doet 1.500 queries per maand met gemak. Je hebt wel een met naam aangewezen persoon nodig voor back-ups, security patches en TLS-certificaatrotatie.
Verandert de EU AI Act welk platform we moeten kiezen?
Niet direct. Alle drie zijn compliant te maken. Wat verandert is de documentatielast, die zwaarder valt op het kantoor dan op de leverancier. Plan daar personeelstijd voor in, niet alleen budget.
Wat als het kantoor al een Microsoft 365-tenant heeft?
Copilot Studio wordt in de marge goedkoper omdat de licentie al rond is. Verdedigbaarder wordt hij niet. Kosten en verdedigbaarheid zijn gescheiden assen; laat de één de ander niet opslokken.