Hai presente tutti quei grep che fa un coding agent?
Quando chiedi a un coding agent dove viene gestita l’autenticazione, non sempre conosci il nome della classe o del file da cercare. GitHub Copilot può usare il Semantic Index per trovare codice in base al significato della domanda, oltre che alle parole esatte che contiene.
Che cos’è il Semantic Index
Il Semantic Index è un indice del repository che permette a Copilot di cercare codice per concetto. Una ricerca testuale cerca corrispondenze precise, come login o token; la ricerca semantica prova invece a individuare le parti pertinenti anche quando la domanda usa parole diverse da quelle presenti nel codice.
Puoi chiedere, per esempio, «come gestisce questo progetto le richieste HTTP?» senza sapere in anticipo quali classi o metodi cercare. Copilot recupera i passaggi che ritiene rilevanti e li usa per rispondere o per iniziare un’attività di modifica. Può poi combinare questa ricerca con altri strumenti, come la ricerca testuale, la navigazione dei simboli e la lettura dei file.
L’indice non sostituisce il codice e non garantisce una risposta completa: aiuta Copilot a trovare un punto di partenza utile. Per ricostruire un flusso complesso, l’agente può ancora dover seguire chiamate, leggere altri file e fare ulteriori verifiche.
Perché usarlo
Il vantaggio più evidente è ridurre la distanza tra una domanda espressa a parole e il punto del codice che può risponderle. È utile quando:
- conosci il comportamento che cerchi, ma non i nomi dei simboli coinvolti;
- il repository è grande e una ricerca per parole chiave produrrebbe molti risultati;
- vuoi chiedere a Copilot di orientarsi in una parte del progetto prima di fare una modifica.
Una ricerca più mirata può evitare che l’agente raccolga risultati irrilevanti e può ridurre il testo che deve esaminare. Non significa però che ogni conversazione userà automaticamente meno token: il consumo totale dipende anche dai prompt, dalle risposte, dagli strumenti e dai passaggi successivi. L’indice migliora il recupero del contesto; non è una promessa di risparmio misurabile per ogni attività.
Come usarlo in VS Code
Per un repository ospitato su GitHub, l’indicizzazione viene gestita automaticamente. Accedi a GitHub in VS Code; Copilot usa la ricerca semantica quando la ritiene utile, senza che tu debba aggiungere un comando speciale a ogni richiesta.
Se vuoi chiedere esplicitamente una ricerca semantica, aggiungi #codebase al prompt, per esempio:
#codebase Dove viene gestita l'autenticazione e quali parti del progetto la usano?
Puoi controllare lo stato dell’indice dal pannello di stato di Copilot nella barra di stato. Per avviare o ricostruire l’indice a richiesta, apri la Command Palette e cerca Build Codebase semantic index.
Per cartelle locali o repository non ospitati su GitHub, VS Code può creare un indice semantico del workspace. In questo caso i dati vengono caricati su GitHub per renderli ricercabili. Con Copilot Business o Enterprise, l’indicizzazione semantica dei repository non GitHub è disattivata finché un proprietario dell’organizzazione o dell’azienda non abilita la policy Semantic indexing for non-GitHub repositories. Prima di abilitarla, considera quindi le regole di riservatezza applicabili al codice.
Riferimenti ufficiali
- Indicizzazione dei repository per GitHub Copilot: indicizzazione automatica, ricerca semantica e policy per repository non GitHub.
- Come Copilot comprende il workspace in VS Code: ricerca semantica,
#codebase, stato dell’indice e comando per crearlo o ricostruirlo.