Samenvatting
Recruit Holdings leert een text-to-SQL-agent verborgen webcontext lezen, zodat eventnamen in analyticsvragen beter te duiden zijn.
Text-to-SQL-agent en webcontext
Recruit Holdings ontwikkelde voor Car Sensor, een Japanse autosite, de Slack-agent Goro. Productmanagers en analisten stellen vragen in natuurlijke taal; de agent levert SQL, resultaten en inzichten. Goro beschikte al over tabeldefinities, voorbeeldqueries, dbt-modellen en een semantic layer.
Toch ging het mis bij vragen over specifieke onderdelen van de gebruikersinterface. In de eventlogs stonden vergelijkbare gebeurtenissen, zoals een tik op reserveren, het tonen van een icoon en het voltooien van een reservering. De beschikbare datastructuur gaf onvoldoende context om die gebeurtenissen betrouwbaar uit elkaar te houden.
Recruit Holdings maakt UI-context controleerbaar
Het team koos niet voor een algemeen systeemontwerp, maar voor een issue-driven aanpak. Bij elke fout leggen ze vast welke ontbrekende context het antwoord had kunnen verbeteren. Die informatie komt in een YAML-bestand met gebruikersacties, UI-elementen en de logregels die daaruit voortkomen.
Dat bestand vormt een aanvulling op het dbt-schema waar de agent al mee werkt. De aanpak maakt impliciete kennis bespreekbaar en controleerbaar. Dat is vooral relevant bij productanalytics, waar een eventnaam pas betekenis krijgt in combinatie met de plek en actie in de interface.
De context verouderde echter snel. Het automotive-team voert tientallen A/B-tests per maand uit, terwijl twee productteams dezelfde eventnaam verschillend kunnen interpreteren. Daarom moet het YAML-logontwerp voortaan vóór de release van een functie worden geschreven en beoordeeld. Front-end logging wordt uit dat bestand gegenereerd en QA-testgevallen sluiten erop aan.
Concrete takeaway voor text-to-SQL
Wie een text-to-SQL-agent bouwt, moet niet alleen tabellen en metrics documenteren. Leg ook de koppeling vast tussen UI-actie, interface-element en eventlog. Gebruik één gecontroleerd ontwerpbestand als bron voor logging en tests, en laat elke wijziging vóór release beoordelen.
Verdiep je kennis
ETL uitgelegd — Extract, Transform, Load in gewone taal
Wat is ETL? Leer hoe Extract, Transform en Load werkt, het verschil met ELT, en welke tools je kunt gebruiken. Helder ui...
KennisbankData lakehouse uitgelegd — Het beste van twee werelden
Wat is een data lakehouse en waarom combineert het het beste van data warehouses en data lakes? Vergelijking, architectu...
KennisbankWat is Business Intelligence? Uitleg, voorbeelden en tools
Wat is business intelligence (BI)? Leer over de definitie, de BI-stack, praktijkvoorbeelden, populaire tools en de trend...