>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Beveiliging
Python

Hoe Stop je met het Voeden van LLMs en Leer Agents om Je Code te Begrijpen

Herkenbare situatie: je verbindt een AI-agent met een project, en het begint te "hallucineren" of leest herhaaldelijk dezelfde bestanden, waardoor je tokenbudget wordt verbruikt. Zelfs geavanceerde tools zoals Cursor verliezen soms het overzicht van verbindingen tussen modules wanneer een project groeit tot duizenden bestanden. Ik ben onlangs Memtrace tegengekomen — een project dat dit probleem fundamenteel probeert op te lossen door een codebase om te zetten in een levende kennisgraaf.

Memtrace — structural memory for AI coding agents

Waarom agents "structureel geheugen" nodig hebben

De meeste moderne AI-assistenten werken volgens het RAG-principe (Retrieval-Augmented Generation). Ze zoeken naar codefragmenten op basis van trefwoorden of vectorgelijkenis. Het probleem is dat code niet zomaar tekst is — het is een complexe hiërarchie van aanroepen, imports en afhankelijkheden. Als een agent niet het volledige beeld ziet, kan het een functie refactoren op een manier die tests breekt in een naburige microservice waar de agent niet eens van wist dat die bestond.

Memtrace creëert wat ontwikkelaars een "bi-temporele kennisgraaf" noemen. Het indexeert niet alleen tekst — het begrijpt structuur: welke functie welke aanroept, welke interfaces worden geïmplementeerd, en hoe dit allemaal in de loop van de tijd is veranderd.

Wat deze tool kan doen

Het belangrijkste kenmerk van het project is snelheid en lokaalheid. Terwijl vergelijkbare tools tientallen dollars uitgeven aan API-aanroepen en uren aan indexering, doet Memtrace dit in seconden op je machine.

LLM-vrije indexering

De ontwikkelaars hebben Rust en Tree-sitter gebruikt. Dit maakt het mogelijk om 15.000 bestanden in ongeveer 1,5 seconde te parseren. Tegelijkertijd zijn de API-kosten nul omdat neurale netwerken niet worden gebruikt om de graaf op te bouwen — alleen deterministische statische analyse. Het hele proces vindt lokaal plaats, dus je code gaat niet naar iemand anders zijn servers.

Contextbegrip via MCP

De tool ondersteunt het Model Context Protocol (MCP). Dit betekent dat het met letterlijk één commando kan worden "aangesloten" op Claude Code, Cursor, Windsurf of VS Code. De agent krijgt toegang tot 25+ tools: van het vinden van "dode" code tot blast radius-analyse voor wijzigingen.

Tijdlijn van wijzigingen

Memtrace slaat de versiegeschiedenis op voor elk symbool. Een agent kan vragen: "Wat is er de afgelopen week veranderd?" of "Welke functies zijn te complex geworden na de laatste merge?" Het systeem gebruikt zes evaluatie-algoritmen, waaronder noveltie-analyse en veranderingsintensiteit, om de belangrijkste dingen voor de agent te markeren.

Vergelijking met alternatieven

De README bevat een interessante benchmark-tabel. Mem0 of Graphiti gebruiken bijvoorbeeld LLM-aanroepen voor entiteitextractie tijdens het indexeren. Dit is traag en duur. Memtrace ziet er in vergelijking uit als een raceauto:

| Bewerking | Memtrace | Alternatieven (Mem0/GitNexus) | |---|---|---| | Indexeren van 15.000 bestanden | 1,5 sec | 30 min tot 2 uur | | API-kosten | $0 | $10–50 | | Geheugengebruik | 26 MB | ~1 GB |

Natuurlijk is het vermeldenswaard dat Memtrace zich nauw richt op code, terwijl andere systemen kunnen werken met willekeurige conversaties. Maar voor ontwikkeltaken is zo'n specialisatie een enorm voordeel.

Technische interne werking

Onder de motorkap heeft het project een vrij serieus tech stack. Naast Rust gebruikt het Tantivy voor volledige tekstzoekopdrachten (BM25) en vector-embeddings voor semantische zoekopdrachten. Dit alles wordt gecombineerd via Reciprocal Rank Fusion (RRF) om de meest relevante resultaten te leveren.

Taalondersteuning is interessant geïmplementeerd. Naast de standaardset (TypeScript, Python, Go, Rust) begrijpt Memtrace infrastructuurcode: Terraform, GitHub Actions en zelfs RLS-beleid in PostgreSQL. Het ziet verbindingen tussen het databaseschema en ORM-code in de applicatie.

Hoe dit in de praktijk te gebruiken

Stel je voor dat je wijzigingen moet aanbrengen in een basisklasse in een enorme monorepo. Meestal voer je een zoekopdracht uit in het hele project en hoop je dat je niets hebt gemist.

Met Memtrace kan de agent het commando get_impact uitvoeren en onmiddellijk de afhankelijkheidsboom zien. Het zal zeggen: "Als je dit veld wijzigt, zullen deze drie endpoints en één worker in een andere module breken." Dit elimineert "blinde" refactoring.

Om te beginnen installeer je het pakket gewoon globaal:

npm install -g memtrace

Daarna zal de tool automatisch de nodige instellingen voor Claude of Cursor instellen. Als je privacy-paranoia hebt, kun je telemetry uitschakelen met één omgevingsvariabele MEMTRACE_TELEMETRY=off.

Voor wie is het de moeite waard om te proberen

Het project is momenteel in private bèta, maar toegang wordt geleidelijk in groepen opengesteld. Mijns inziens zal Memtrace het meest nuttig zijn voor degenen die:

  1. Werken met grote codebases waarbij het moeilijk is om alle verbindingen in je hoofd te houden.
  2. Actief AI-agents gebruiken en hun tokenuitgaven willen verminderen.
  3. Aarzelen om broncode naar cloudservices te sturen voor indexering.

Het enige voorbehoud is dat de licentie propriëtair is (EULA), hoewel ze beloven om gratis toegang te houden voor individuele ontwikkelaars. Als je niet kunt wachten om je "structurele geheugen" voor je agents te krijgen, is het de moeite waard om hun Discord te bekijken of een verzoek in te dienen op de website.

Tot nu toe lijkt het project een zeer energieke poging te zijn om AI-ondersteunde ontwikkeling voorspelbaarder en goedkoper te maken. In ieder geval is de 1,5 seconde indexeersnelheid iets waar we al lang op wachten.

Gerelateerde projecten