🧠Context Management & Project Indexing
Principio: “Signal-to-Noise Ratio (SNR). Più rumore fornisci all’IA, più debole sarà la logica del suggerimento.”
::: info OBIETTIVO Imparare a controllare esattamente quali informazioni del tuo repository vengono inviate all’LLM. Ottimizzare l’indicizzazione semantica permette di ottenere risposte precise, coerenti con l’architettura attuale e prive di riferimenti a file obsoleti o temporanei. :::
1. Il rumore nel contesto (The Noise)
L’IA all’interno di VS Code scansiona costantemente la cartella di progetto. Se non istruita, leggerà anche:
- File di log (
.log). - Cartelle di build o artefatti (
/dist,/build,.exe). - Ambienti virtuali (
.venv,node_modules). - Vecchie versioni di backup (
script_v1_old.py).
Risultato: L’IA si confonde tra le vecchie implementazioni e quelle nuove, suggerendo import errati o logiche deprecate.
2. Lo scudo: .copilotignore
Proprio come il .gitignore impedisce di pushare file inutili, il file .copilotignore impedisce a Copilot di “leggere” parti del progetto.
Setup consigliato
Crea un file .copilotignore nella root del tuo progetto:
# Previeni l'indicizzazione di file pesanti o sensibili
*.log
temp/
vendor/
dist/
# Impedisci all'IA di leggere vecchi esperimenti che potrebbero inquinare la logica
notebooks/deprecated_*
scripts/old_version/
# File di dati che consumerebbero troppi token
*.csv
*.json
*.sql
3. Gestione del “Working Set” in Copilot Edits
Quando usi Copilot Edits (Ctrl+Shift+I), hai il controllo manuale sul contesto.
- Non aggiungere tutto: Se stai lavorando sul database, aggiungi solo lo schema e il repository layer.
- Context Pinning: Usa il comando
Add Filesper forzare l’attenzione su un file specifico che l’IA sembra ignorare. - Dependency Awareness: Se modifichi una funzione in
core.py, aggiungi al contesto anche il filetest_core.py. L’IA vedrà come la funzione deve essere usata e scriverà codice più robusto.
📉 Il Ciclo del Contesto (Mermaid)
4. Troubleshooting: Quando l’IA “si perde”
Se l’IA continua a suggerire codice vecchio nonostante le modifiche, segui questo protocollo di Cache Reset:
- Forza l’Index: Digita
@workspace /indexnella chat. Questo forzerà VS Code a ricaricare l’indice semantico del progetto. - Chiudi i Tab: Copilot dà priorità ai file aperti nelle schede di VS Code. Se hai vecchi file aperti, l’IA li considererà “importanti”. Chiudi tutto ciò che non è inerente al task corrente.
- Context Variable: Usa
#codebaseinvece di@workspacese vuoi che l’IA cerchi attivamente in tutto il progetto basandosi sulla somiglianza dei contenuti e non solo sulla struttura dei file.
💡 Note dell’Architetto
In un workflow professionale, il contesto è idempotente: fornendo gli stessi file e le stesse istruzioni, dovresti ottenere risultati simili. Se il risultato varia troppo, significa che il tuo contesto è troppo vasto (Noise). Riduci il numero di file nel Working Set finché l’IA non torna a essere precisa.
Tags: #AI #ContextManagement #Indexing #Copilot #VSCode #PromptEngineering*