Limitazioni e vincoli
Comprendere le limitazioni e i vincoli di Verdent
Cosa imparerai
Le limitazioni note di Verdent for VS Code, incluse le restrizioni sui formati di file, i vincoli sugli strumenti e le considerazioni specifiche di ciascuna piattaforma.
Limitazioni note
File binari non supportati
Gli strumenti per i file di Verdent funzionano solo con formati basati su testo. I seguenti non possono essere modificati:
| Tipo di formato | Esempi |
|---|---|
| Immagini | PNG, JPG, GIF, SVG (come binario) |
| Video | MP4, AVI, MOV |
| Codice compilato | EXE, DLL, SO |
| Archivi | ZIP, TAR, GZ |
| Documenti Office | DOCX, XLSX, PPTX |
| File PDF |
Soluzione alternativa: i file binari possono essere referenziati nel codice o discussi a livello concettuale, ma le modifiche richiedono strumenti esterni.
Limiti di righe di file_read
Limitazione:
- I file di grandi dimensioni (>10.000 righe) dovrebbero essere letti in sezioni
- La lettura di interi file di grandi dimensioni può esaurire il contesto
Soluzione: usa gli intervalli di righe: file_read("file.js", start_line=100, max_lines=50)
Timeout dei comandi bash
Limitazione:
- Timeout massimo: 120 secondi (2 minuti)
- Le operazioni di lunga durata verranno terminate automaticamente
Soluzione: suddividi le operazioni in comandi più piccoli che si completano entro 2 minuti
Prestazioni della ricerca
Limitazione:
- I pattern glob ampi (
**/*) possono restituire migliaia di risultati - Le ricerche con espressioni regolari sono più lente delle stringhe letterali
Soluzione: usa pattern specifici ed escludi le directory non necessarie
Esaurimento del contesto
Problema: durante sessioni lunghe o operazioni complesse, la finestra di contesto dell'AI può riempirsi, limitando la capacità di riferirsi alle parti precedenti della conversazione.
Strategie di mitigazione:
- Usa i sottoagenti per la ricerca esplorativa (solo i risultati consumano il contesto principale)
- Leggi i file in modo strategico con gli intervalli di righe
- Usa
grep_fileprima di leggere l'intero contenuto - Delega le attività in background al sottoagente Explorer
Per i file con più di 500 righe, usa sempre gli intervalli di righe per preservare lo spazio del contesto.
Cosa Verdent non può fare
Nessuna amministrazione di sistema diretta
Non può:
- Modificare le impostazioni di VS Code a livello programmatico
- Installare automaticamente estensioni di VS Code
- Modificare configurazioni a livello di sistema
- Riavviare VS Code o i servizi di sistema
Ambito: Verdent opera all'interno del workspace di VS Code, non a livello di amministrazione di sistema.
Nessuna esecuzione autonoma
Controlli di Manual Accept Mode:
- Gli utenti devono approvare le esecuzioni degli strumenti in Manual Accept Mode
- Nessuna operazione automatica in background senza approvazione
- Non può eseguire comandi mentre VS Code è chiuso
Scopo: sicurezza e controllo dell'utente su tutte le operazioni.
Verdent non può eseguire comandi in background senza l'approvazione dell'utente. Tutte le operazioni richiedono un consenso esplicito in Manual Accept Mode.
Nessun monitoraggio in tempo reale
Non può:
- Monitorare i processi in esecuzione in modo continuo
- Tracciare le modifiche al file system in tempo reale
- Avvisare in caso di eventi di sistema
- Trasmettere i file di log in modo continuo
Alternativa: usa le integrazioni MCP per strumenti di monitoraggio esterni.
Nessuna operazione di rete senza MCP
Limitazioni integrate:
- Non può effettuare richieste HTTP arbitrarie (usa
web_fetchper pagine specifiche) - Nessuna connessione diretta al database (richiede MCP)
- Non può accedere direttamente ai servizi cloud (richiede MCP)
- Nessuna integrazione API in tempo reale (richiede MCP)
Soluzione: configura i server MCP per l'accesso a sistemi esterni.
Restrizioni specifiche della piattaforma
Differenze tra sistemi operativi
Comportamento dello strumento bash:
| Piattaforma | Shell | Note |
|---|---|---|
| macOS/Linux | bash/zsh | Funzionalità bash complete |
| Windows | PowerShell | Alcuni comandi bash non sono disponibili, usa gli equivalenti PowerShell |
| WSL | bash | I comandi Linux funzionano nell'ambiente WSL |
Gestione dei percorsi:
- Windows usa i backslash (
\), Unix usa gli slash (/) - I percorsi dei file potrebbero richiedere aggiustamenti per i progetti multipiattaforma
Requisiti di versione di VS Code
Requisiti minimi:
- Compatibilità con la versione di VS Code (controlla il marketplace delle estensioni per il minimo attuale)
- Spazio su disco sufficiente per la memorizzazione nella cache del contesto
I requisiti di versione specifici sono indicati nella scheda del marketplace di VS Code. Controlla i dettagli dell'estensione per la compatibilità attuale.
Vincoli del workspace
Focalizzazione su un singolo workspace:
- Verdent opera su un workspace di VS Code alla volta
- Non può modificare simultaneamente file in più finestre di VS Code aperte
- I workspace multi-root sono supportati, ma il contesto è limitato al workspace attivo corrente
Soluzioni alternative per le limitazioni comuni
Modifica di file binari
Limitazione: non può modificare immagini, PDF o binari compilati
Soluzioni alternative:
- Fai riferimento a strumenti esterni nei comandi bash:
bash("convert input.png -resize 50% output.png") - Genera script che gli strumenti esterni possano eseguire
- Documenta i passaggi manuali per le operazioni sui file binari
Esempio:
# Image conversion
bash("convert input.png -resize 50% output.png")
# PDF to text
bash("pdftotext document.pdf output.txt")Gestione dei file di grandi dimensioni
Limitazione: i file con più di 10.000 righe mettono sotto pressione la finestra di contesto
Soluzioni alternative:
- Usa gli intervalli di righe:
file_read("large.log", start_line=1000, max_lines=100) - Cerca prima:
grep_content("ERROR", glob="large.log")per trovare le sezioni rilevanti - Suddividi i file in moduli più piccoli per una gestione più semplice
Usa sempre prima grep_content per identificare le sezioni rilevanti, poi leggi solo quegli specifici intervalli di righe.
Esaurimento della finestra di contesto
Limitazione: le conversazioni lunghe riempiono la finestra di contesto
Soluzioni alternative:
- Delega al sottoagente Explorer per la ricerca nella codebase
- Usa il sottoagente Verifier per attività di validazione isolate
- Avvia una nuova conversazione per attività distinte
- Usa
todo_updateper tracciare l'avanzamento tra le sessioni
Best practice: delega la ricerca in background ai sottoagenti per preservare il contesto principale per lo sviluppo attivo.
Differenze tra i comandi delle piattaforme
Limitazione: i comandi bash differiscono tra Windows e Unix
Soluzioni alternative:
- Usa strumenti multipiattaforma: script npm invece di bash puro
- Comandi condizionali:
bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then ...; fi") - AGENTS.md specifico per il progetto con note sulla piattaforma
Esempio:
# Cross-platform
bash("npm run build")
# Platform-specific conditional
bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then make; else nmake; fi")Miglioramenti futuri
Le limitazioni vengono affrontate continuamente. Controlla le note di rilascio di Verdent per aggiornamenti su capacità ampliate, limiti aumentati e nuove integrazioni.