Byg smartere dokumentation til din AI-kodeassistent
Sådan bygger du en smart dokumentationsdatabase til din AI-kodeassistent
Når du blot smider al dokumentation ind i en AI, får du ofte støj i stedet for svar. Mange sider er kun beregnet til navigation eller lovpligtigt indhold, og de forstyrrer AI’ens evne til at finde det relevante stof. Hos NameOcean har vi arbejdet med at forberede dokumentation til AI-drevne udviklingsværktøjer, og her er en praktisk metode til at gøre det rigtigt.
Ikke alle sider er lige nyttige
De fleste dokumentationssites indeholder en hel del sider, der primært tjener strukturelle eller juridiske formål. Det kan være oversigtssider, privatlivspolitikker, ændringslogfiler eller lister over API-referencer. De er nyttige for mennesker, men tilfører ingen værdi til en AI, der skal lære fra indholdet.
Hvis du sender alt dette ind i en vektordatabase uden at sortere, risikerer du langsommere søgninger og svar, der peger på de forkerte sider.
To-trins filtrering
Den mest effektive løsning kombinerer enkle regler med selektiv brug af en lokal LLM.
Første trin: Regelbaseret sortering
Her bruger du URL-mønstre og indholdslængde til hurtigt at sortere de åbenlyse kandidater fra:
- Lovgivningsrelaterede sider (typisk
/legal/,/privacy,/terms) - Navigationssider med under 200 ord og mange links
- Ændringslogfiler, der ofte følger faste URL-strukturer
- Referencelister, der kan genkendes på deres opbygning
Dette trin kører lokalt og håndterer typisk 40-60 % af siderne uden ekstra omkostninger.
Andet trin: LLM-klassificering
De resterende sider sendes til en lokal LLM med URL, titel, de første 200 ord og overskriftshierarki. Modellen klassificerer efter Diátaxis-modellen i kategorier som:
- Conceptual – baggrund og forklaringer
- Tutorial – trin-for-trin læring
- How-to – opgaverettet vejledning
- Examples – kodeeksempler
- Structural – navigation, referencer og juridiske sider
Intelligent embedding
Når støjen er fjernet, bliver det lettere at lave gode embeddings. Lange sider skal dog deles op. Del ved overskrifter og beregn gennemsnittet af embeddings i stedet for at afkorte teksten. Det bevarer strukturen i overskrifter, kodeblokke og lister.
Brug en lokal sentence transformer. Den er hurtig, gratis og klarer teknisk dokumentation godt nok.
Hybrid vidensgraf
Kombinér to typer af forbindelser:
- Eksplicitte links – hyperlinks forfatterne selv har indsat
- Semantiske kanter – sider med høj cosinus-lighed (over 0,75) betragtes som relaterede
Gem forbindelserne som rettede kanter i en graf. Begræns antallet af naboer per side (ca. 20) og udelad navigations- og referencesider fra den semantiske del.
En samlet SQLite-database
Alt samles i én SQLite-fil:
- Renset markdown-indhold
- Sideklassifikationer
- Embeddings
- Grafkanter med vægte
- URL’er og metadata
Databasen er bærbar, kan køres offline, og AI-agenter kan skrive SQL direkte mod den. Du kan filtrere på side-type eller følge semantiske forbindelser.
Arbejdsgangen
- Crawl dokumentationen (respekter robots.txt og håndter JavaScript)
- Rens HTML til markdown
- Klassificér med regler først, derefter LLM
- Embed med lokal model og del lange sider ved overskrifter
- Byg grafen med både eksplicitte og semantiske forbindelser
- Gem alt i SQLite
Hvorfor det er vigtigt
Med en velstruktureret database bruger din AI tid på relevant indhold i stedet for støj. Svarene bliver hurtigere og mere præcise, og du beholder fuld kontrol over dine data uden API-omkostninger eller privatlivshensyn. Metoden virker både til små og store dokumentationssæt – det handler om at sortere og strukturere, før AI’en får adgang til materialet.