Bij het bouwen van RAG-systemen (Retrieval-Augmented Generation) voor AI-agenten worden vaak meerdere lagen en technologieën gebruikt voor gestructureerde gegevens, vectoren en grafische informatie. De afgelopen maanden is het steeds duidelijker geworden dat agent-gebaseerde AI-systemen geheugen, ook wel contextueel geheugen genoemd, nodig hebben om effectief te kunnen functioneren.
De complexiteit en synchronisatie die gepaard gaat met het hebben van meerdere gegevenslagen om context mogelijk te maken, kan leiden tot prestatie- en nauwkeurigheidsproblemen. Het is een uitdaging die SurrealDB probeert op te lossen.
SurrealDB lanceerde dinsdag versie 3.0 van zijn gelijknamige database naast een Series A-extensie van $ 23 miljoen, wat de totale financiering op $ 44 miljoen brengt. Het bedrijf had een andere architectonische benadering gekozen dan relationele databases zoals PostgreSQL, native vectordatabases zoals Pinecone of een grafische database zoals Neo4j. Het OpenAI-engineeringteam heeft onlangs gedetailleerd beschreven hoe hij Postgres liet groeien tot 800 miljoen gebruikers gebruik van leesreplica’s: een aanpak die werkt voor leesintensieve werklasten. SurrealDB hanteert een andere aanpak: het slaat agentgeheugen, bedrijfslogica en multimodale gegevens rechtstreeks in de database op. In plaats van te synchroniseren tussen meerdere systemen, worden vectorzoekopdrachten, grafiekdoorloop en relationele zoekopdrachten allemaal transactioneel uitgevoerd in één enkele native Rust-engine die consistentie handhaaft.
“Mensen gebruiken DuckDB, Postgres, Snowflake, Neo4j, Quadrant of Pinecone allemaal samen, en vragen zich dan af waarom ze geen goede nauwkeurigheid in hun agenten kunnen krijgen”, vertelde CEO en mede-oprichter Tobie Morgan Hitchcock aan VentureBeat. “Het komt omdat ze vijf verschillende vragen naar vijf verschillende databases moeten sturen die alleen de kennis of context hebben waarmee ze te maken hebben.”
De architectuur heeft de voorkeur gevonden bij ontwikkelaars, met tot nu toe 2,3 miljoen downloads en 31.000 GitHub-sterren voor de database. Volgens Hitchcock variëren bestaande implementaties van edge-apparaten in auto’s en defensiesystemen tot productaanbevelingsmotoren voor grote New Yorkse retailers en Android-advertentietechnologieën.
Agentisch AI-geheugen ingevoegd in de database
SurrealDB slaat agentgeheugen op als grafiekrelaties en semantische metagegevens rechtstreeks in de database, niet in applicatiecode of externe caching-lagen.
Met het plug-insysteem Surrealism in SurrealDB 3.0 kunnen ontwikkelaars definiëren hoe agenten dit geheugen opbouwen en opvragen; de logica draait binnen de database met transactionele garanties in plaats van in de middleware.
Dit betekent in de praktijk het volgende: wanneer een agent interactie heeft met gegevens, creëert hij contextgrafieken die entiteiten, beslissingen en domeinkennis met elkaar verbinden als databaserecords. U kunt deze relaties opvragen via dezelfde SurrealQL-interface die wordt gebruikt voor het zoeken naar vectoren en gestructureerde gegevens. Een agent die naar het probleem van een klant informeert, kan grafiekverbindingen met gerelateerde incidenten uit het verleden doorkruisen, vectorinbedding van vergelijkbare gevallen extraheren en de gestructureerde gegevens van de klant samenvoegen, allemaal in één enkele transactionele zoekopdracht.
“Mensen willen niet langer alleen de meest recente gegevens opslaan”, zegt Hitchcock. “Ze willen al die gegevens opslaan. Ze willen alle gegevens van een organisatie van de afgelopen twee jaar analyseren en door AI laten begrijpen en uitvoeren, omdat dat hun model, hun AI-agent, informeert over de context en de geschiedenis, en daardoor betere resultaten kan opleveren.”
Hoe de architectuur van SurrealDB verschilt van traditionele RAG-stacks
Traditionele RAG-systemen bevragen databases op basis van gegevenstypen. Ontwikkelaars schrijven afzonderlijke query’s voor het zoeken naar vectorgelijkenis, het doorlopen van grafieken en relationele joins, en voegen de resultaten vervolgens samen in applicatiecode. Dit zorgt voor synchronisatievertragingen omdat query’s heen en weer gaan tussen systemen.
Hitchcock legde daarentegen uit dat SurrealDB gegevens opslaat als binair gecodeerde documenten met grafiekrelaties er direct naast ingebed. Met één enkele zoekopdracht met behulp van SurrealQL kunt u grafiekrelaties doorkruisen, vectorgelijkenisonderzoeken uitvoeren en gestructureerde records samenvoegen zonder de database te verlaten.
Deze architectuur heeft ook invloed op de manier waarop coherentie op schaal werkt: elk knooppunt behoudt transactionele coherentie, zelfs op de schaal van meer dan 50 knooppunten, zei Hitchcock. Wanneer een agent een nieuwe context naar knooppunt A schrijft, ziet een query naar knooppunt B die update onmiddellijk. Geen caching, geen leesreplicatie.
“Veel van onze gebruiksscenario’s en veel van onze implementaties zijn dat de gegevens voortdurend worden bijgewerkt en dat de relaties, de context, het semantische begrip of de grafische verbindingen tussen die gegevens voortdurend moeten worden bijgewerkt”, zei hij. “Dus geen caching. Er zijn geen leesreplica’s. In SurrealDB is alles transactioneel.”
Wat dit betekent voor enterprise-IT
“Het is belangrijk om te zeggen dat SurrealDB niet de beste database is voor elke taak. Ik zou graag willen zeggen dat dat zo is, maar dat is het niet. En dat kan niet zo zijn”, zei Hitchcock. “Als je alleen analyses van petabytes aan gegevens nodig hebt en deze nooit echt bijwerkt, dan kun je beter objectopslag of een kolomdatabase gebruiken. Als je alleen met vectorzoekopdrachten bezig bent, kun je een vectordatabase zoals Quadrant of Pinecone gebruiken, en dat is voldoende.”
Het keerpunt komt wanneer meerdere gegevenstypen samen nodig zijn. Het praktische voordeel manifesteert zich in de ontwikkelingstijden. Wat voorheen maanden in beslag nam met orkestratie van meerdere databases, kan nu binnen enkele dagen worden gelanceerd, aldus Hitchcock.


