Despre contextul codebase-ului și funcționalitățile aferente
Motorul de context al Windsurf construiește o înțelegere profundă a codebase-ului tău, a acțiunilor anterioare și a intențiilor următoare.În trecut, abordările de generare de cod s-au concentrat pe fine-tuning-ul modelelor de limbaj de mari dimensiuni (LLM) pe un codebase,
ceea ce este dificil de scalat pentru nevoile fiecărui utilizator în parte.
O abordare mai recentă și mai populară valorifică retrieval-augmented generation (RAG),
care se concentrează pe tehnici de construire a unor prompturi extrem de relevante și bogate în context
pentru a obține răspunsuri precise de la un LLM.Am implementat o abordare RAG optimizată pentru contextul codebase-ului,
care oferă sugestii de calitate superioară și reduce halucinațiile.
Windsurf oferă fine-tuning complet pentru Enterprise, iar cea mai bună soluție
îmbină fine-tuning-ul cu RAG.
Din start, Windsurf ia în considerare mai multe surse relevante de context.
Fișierul curent și alte fișiere deschise în IDE-ul tău, care sunt adesea foarte relevante pentru codul pe care îl scrii în prezent.
Întregul cod local este apoi indexat (inclusiv fișierele care nu sunt deschise),
iar fragmentele de cod relevante sunt preluate de motorul de regăsire al Windsurf pe măsură ce scrii cod, pui întrebări sau execuți comenzi.
Pentru utilizatorii Pro, oferim lungimi de context extinse, limite de indexare mai mari și limite superioare pentru context personalizat și elemente de context fixate.
Pentru utilizatorii Teams și Enterprise, Windsurf poate, de asemenea, să indexeze depozite la distanță.
Acest lucru este util pentru companiile ale căror echipe de dezvoltare lucrează în mai multe depozite.
Disponibilă doar pentru clienții Teams și Enterprise. Momentan, nu este disponibilă pentru clienții Hybrid.
Această funcționalitate le permite echipelor să aducă Google Docs ca surse de context sau cunoștințe partajate pentru întreaga echipă.În prezent sunt acceptate doar Google Docs. Imaginile nu sunt importate, însă diagramele, tabelele și textul formatat sunt pe deplin suportate.
Administratorii trebuie să se conecteze manual la Google Drive prin OAuth, după care pot adăuga până la 50 de documente Google ca surse de cunoștințe ale echipei.Cascade va avea acces la documentele specificate în dashboardul Windsurf. Aceste documente nu respectă controalele de acces la nivel de utilizator individual, ceea ce înseamnă că, dacă un administrator pune un document la dispoziția echipei, toți utilizatorii vor avea acces la acesta, indiferent de controalele de acces din Google Drive.
Fixarea contextului este utilă atunci când sarcina din fișierul curent depinde de informații din alte fișiere.
Încearcă să fixezi doar ceea ce este necesar. Prea multe elemente fixate pot încetini sau afecta negativ performanța modelului AI.Iată câteva idei pentru o fixare eficientă a contextului:
Definiții de module: fixează fișierele cu definiții de clase/structuri care sunt în repo-ul tău, dar într-un modul separat de fișierul activ.
Framework-uri/Biblioteci interne: fixează directoare cu exemple de cod pentru utilizarea framework-urilor/bibliotecilor.
Sarcini specifice: fixează un fișier sau un folder care definește o anumită interfață (de exemplu, fișiere .proto, fișiere de clasă abstractă, șabloane de configurare).
Zona de interes curentă: fixează directorul „cu cel mai mic numitor comun” care conține majoritatea fișierelor necesare pentru sesiunea ta curentă de lucru/codare.
Testare: fixează un fișier anume care conține clasa pentru care scrii teste unitare.
Când discutați cu Windsurf Chat, aveți mai multe modalități de a valorifica contextul codului,
cum ar fi mențiuni cu @ sau instrucțiuni personalizate.
Consultați pagina Chat pentru mai multe informații.
Da, Windsurf îți indexează baza de cod. De asemenea, folosește modele LLM pentru a realiza RAG (retrieval‑augmented generation) pe baza ta de cod, utilizând tehnicile noastre M-Query.Performanța și funcțiile de indexare variază în funcție de fluxul tău de lucru și de planul Windsurf. Pentru mai multe informații, vizitează pagina despre context awareness.