Bij het bouwen van Retrieval Augmented Generation (RAG)-systemen voor AI-agenten worden vaak meerdere lagen en technologieën gebruikt voor gestructureerde gegevens, vectoren en grafische informatie. De afgelopen maanden is het ook steeds duidelijker geworden dat agentische AI-systemen geheugen nodig hebben, ook wel contextueel geheugen genoemd, om effectief te kunnen functioneren.
De complexiteit en synchronisatie van het hebben van verschillende datalagen om context mogelijk te maken, kan leiden tot prestatie- en nauwkeurigheidsproblemen. Dit is een uitdaging die SurrealDB probeert op te lossen.
SurrealDB lanceerde dinsdag versie 3.0 van zijn gelijknamige database, samen met een Series A-ronde 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 het Postgres heeft opgeschaald naar 800 miljoen gebruikers het gebruik van leesreplica’s – een aanpak die werkt voor leesintensieve werklasten. SurrealDB hanteert een andere aanpak: sla 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 Rust-native engine die consistentie handhaaft.
“Mensen gebruiken DuckDB, Postgres, Snowflake, Neo4j, Quadrant of Pinecone allemaal samen en dan vragen ze zich af waarom ze geen goede nauwkeurigheid in hun agenten kunnen krijgen”, vertelde CEO en mede-oprichter Tobie Morgan Hitchcock aan VentureBeat. “Dat komt omdat ze vijf verschillende queries naar vijf verschillende databases moeten sturen die alleen de kennis of context hebben waarmee ze te maken hebben.”
De architectuur heeft weerklank gevonden bij ontwikkelaars, met tot nu toe 2,3 miljoen downloads en 31.000 GitHub-sterren voor de database. Bestaande implementaties omvatten volgens Hitchcock edge-apparaten in auto’s en verdedigingssystemen, productaanbevelingsmotoren voor grote New Yorkse retailers en Android-advertentietechnologieën.
Agent AI-geheugen ingebouwd in de database
SurrealDB slaat agentgeheugen op als grafiekrelaties en semantische metadata rechtstreeks in de database, niet in applicatiecode of externe caching-lagen.
Met het Surrealism-plug-insysteem in SurrealDB 3.0 kunnen ontwikkelaars definiëren hoe agenten dit geheugen bouwen en opvragen; de logica draait binnen de database met transactiegaranties 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. Deze relaties kunnen worden opgevraagd via dezelfde SurrealQL-interface die wordt gebruikt voor het zoeken naar vectoren en gestructureerde gegevens. Een agent die naar een klantprobleem informeert, kan grafiekverbindingen met gerelateerde gebeurtenissen uit het verleden doorkruisen, vectorinsluitingen van vergelijkbare cases tekenen en gestructureerde klantgegevens samenvoegen, allemaal in één transactionele zoekopdracht.
“Mensen willen niet langer alleen de meest recente gegevens opslaan”, zegt Hitchcock. “Ze willen al die data opslaan. Ze willen de AI de afgelopen twee jaar alle data van een organisatie laten analyseren en laten begrijpen en doornemen, omdat het hun model, hun AI-agent, informeert over de context, over 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 doorkruisen van grafieken en relationele joins en voegen de resultaten samen in de applicatiecode. Dit zorgt voor synchronisatievertragingen omdat zoekopdrachten tussen systemen stuiteren.
Hitchcock legde daarentegen uit dat SurrealDB gegevens opslaat als binair gecodeerde documenten met grafiekrelaties er direct naast ingebed. Eén enkele zoekopdracht via SurrealQL kan grafiekrelaties doorkruisen, vectorgelijkenisonderzoeken uitvoeren en gestructureerde records samenvoegen zonder de database te verlaten.
Deze architectuur heeft ook invloed op de manier waarop consistentie op schaal werkt: elk knooppunt handhaaft transactionele consistentie, zelfs op een schaal van meer dan 50 knooppunten, aldus Hitchcock. Wanneer een agent nieuwe context naar knooppunt A schrijft, ziet een query op knooppunt B deze update onmiddellijk. Geen caching, geen leesreplica’s.
“Veel van onze gebruiksscenario’s, veel van onze implementaties, zijn waar gegevens voortdurend worden bijgewerkt en de relaties, de context, het semantische begrip of de grafische verbindingen tussen die gegevens moeten voortdurend worden bijgewerkt”, zei hij. “Dus geen caching. Er zijn geen leesreplica’s. In SurrealDB is alles transactioneel.”
Wat dit betekent voor de IT van het bedrijf
“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 niet zo. En dat kan niet zo zijn”, zei Hitchcock. “Als je alleen analyses van petabytes aan gegevens nodig hebt, en je die gegevens nooit echt bijwerkt, dan ben je het beste af met objectopslag of een kolomvormige database. Als je alleen vectorzoekopdrachten uitvoert, kun je een vectordatabase zoals Quadrant of Pinecone gebruiken, en dat is voldoende.”
Het keerpunt komt wanneer u meerdere gegevenstypen samen nodig heeft. Het praktische voordeel komt tot uiting in de ontwikkelingstijdlijnen. Wat vroeger maanden kostte om te bouwen met multi-database-orkestratie, kan nu in enkele dagen worden gelanceerd, zei Hitchcock.


