Έξυπνες Βάσεις Τεκμηρίωσης για το AI Coding Assistant σου
Πώς να Φτιάξεις μια Έξυπνη Βάση Τεκμηρίωσης για τον AI Coding Assistant σου
Όταν ρίχνεις όλη την τεκμηρίωση ενός προϊόντος σε μια βάση δεδομένων για AI, στην πραγματικότητα το μπερδεύεις. Ανάμεσα σε χρήσιμες σελίδες βρίσκονται νομικά κείμενα, σελίδες ευρετηρίου και changelogs που δεν προσφέρουν καμία πληροφορία. Το αποτέλεσμα είναι θόρυβος που κάνει τον AI agent λιγότερο αποτελεσματικό.
Στη NameOcean δουλέψαμε πάνω σε μια πρακτική προσέγγιση για να ξεχωρίσουμε το ουσιώδες από το περιττό.
Το Πρόβλημα: Όλες οι Σελίδες Δεν Είναι Ίδιες
Πολλές σελίδες σε ένα documentation site υπάρχουν μόνο για οργανωτικούς λόγους. Ευρετήρια, πολιτικές απορρήτου, λίστες API και changelogs βοηθούν τον επισκέπτη να πλοηγηθεί, αλλά δεν βοηθούν καθόλου έναν AI agent που προσπαθεί να μάθει.
Αν περάσεις όλο το υλικό χωρίς φιλτράρισμα σε vector database ή knowledge base, ο agent χρειάζεται περισσότερο χρόνο για να βρει χρήσιμες πληροφορίες και συχνά καταλήγει να παραπέμπει σε λάθος σελίδες.
Διπλή Ταξινόμηση: Κανόνες + LLM
Η πιο αποδοτική μέθοδος συνδυάζει απλούς κανόνες με στοχευμένη χρήση τοπικού LLM.
Πρώτο Πέρασμα: Γρήγορο Φιλτράρισμα
Με βασικούς ελέγχους στο URL και στη δομή της σελίδας μπορείς να αποκλείσεις αμέσως ένα μεγάλο ποσοστό άχρηστου περιεχομένου:
- Νομικές σελίδες: μοτίβα όπως
/legal/,/privacy,/terms - Σελίδες πλοήγησης: λιγότερες από 200 λέξεις και γεμάτες links
- Changelogs και reference pages: συχνά έχουν προβλέψιμη δομή
Αυτό το στάδιο τρέχει τοπικά και καλύπτει συνήθως το 40-60% των σελίδων.
Δεύτερο Πέρασμα: Ταξινόμηση με LLM
Για τις υπόλοιπες σελίδες στέλνεις στο τοπικό μοντέλο μόνο το URL, τον τίτλο, τις πρώτες 200 λέξεις και τη δομή των επικεφαλίδων. Το μοντέλο τις κατατάσσει σύμφωνα με το πλαίσιο Diátaxis: conceptual, tutorial, how-to, examples ή structural.
Έξυπνη Ενσωμάτωση (Embedding)
Αφού αφαιρέσεις τον θόρυβο, το embedding γίνεται πιο αποδοτικό. Όταν μια σελίδα είναι πολύ μεγάλη, τη χωρίζεις στα όρια των επικεφαλίδων και παίρνεις τον μέσο όρο των embeddings. Έτσι διατηρείται η σημασιολογική δομή χωρίς να χάνονται κώδικας ή λίστες.
Χρησιμοποίησε τοπικό sentence transformer για να αποφύγεις κόστη και καθυστερήσεις API.
Υβριδικό Knowledge Graph
Συνδύασε δύο τύπους συνδέσεων:
- Explicit links: οι σύνδεσμοι που έβαλαν οι συγγραφείς της τεκμηρίωσης
- Semantic edges: σελίδες με υψηλή ομοιότητα embeddings (πάνω από 0.75)
Αποθήκευσε τις συνδέσεις ως directed edges σε γράφο. Περιόρισε τους γείτονες ανά σελίδα (20 είναι καλή τιμή) και άφησε έξω τις navigation, legal και reference σελίδες.
SQLite: Μία Φορητή Βάση Δεδομένων
Όλα αποθηκεύονται σε ένα SQLite αρχείο: το καθαρισμένο markdown, οι ταξινομήσεις, τα embeddings, οι ακμές του γράφου και τα μεταδεδομένα. Ο AI agent μπορεί να γράφει SQL queries, να φιλτράρει και να διασχίζει τον γράφο χωρίς εξωτερικές υπηρεσίες.
Η Πλήρης Ροή Εργασίας
- Crawl του documentation site
- Μετατροπή HTML σε markdown
- Ταξινόμηση με κανόνες και LLM
- Embedding σε chunks βάσει επικεφαλίδων
- Κατασκευή του knowledge graph
- Αποθήκευση σε SQLite
Γιατί Αξίζει τον Κόπο
Με σωστή οργάνωση, ο AI agent δουλεύει μόνο με χρήσιμο περιεχόμενο. Οι απαντήσεις γίνονται πιο ακριβείς, τα queries ταχύτερα και διατηρείς πλήρη έλεγχο πάνω στα δεδομένα σου — χωρίς API costs και χωρίς να στέλνεις ευαίσθητο υλικό σε τρίτους.