Context Management & Project Indexing

🧠 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 Files per 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 file test_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:

  1. Forza l’Index: Digita @workspace /index nella chat. Questo forzerà VS Code a ricaricare l’indice semantico del progetto.
  2. 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.
  3. Context Variable: Usa #codebase invece di @workspace se 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*

Built with Hugo
Theme Stack designed by Jimmy