Impostazione dell’iniezione intelligente del contesto per la tua base di codice¶
Panoramica¶
Smart Context Injection è ciò che distingue 4Geeks AI Studio dagli strumenti di codifica AI generici. A differenza degli strumenti standard che esaminano i frammenti di codice in modo isolato, AI Factory mappa l’intera base di codice e inserisce il contesto a livello di progetto in ogni richiesta, garantendo che l’intelligenza artificiale comprenda la tua architettura specifica, le convenzioni di denominazione e la logica aziendale.
In questo tutorial imparerai:
- Come funziona l’iniezione intelligente del contesto
- Come preparare la base di codice per una mappatura del contesto ottimale
- Come configurare regole e convenzioni di contesto
- Come verificare la qualità del contesto nel codice generato
Come funziona l’iniezione intelligente del contesto¶
Your Repository
│
▼
Codebase Mapping
├── File structure analysis
├── Dependency graph construction
├── Architecture pattern detection
├── Naming convention extraction
└── Business logic identification
│
▼
Context Index Creation
├── Module relationships
├── API contracts
├── Data models
├── Configuration patterns
└── Coding standards
│
▼
Context Injection (per task)
├── Relevant modules identified
├── Related code snippets included
├── Architecture constraints applied
└── Naming conventions enforced
│
▼
AI Code Generation (with full context)
Passaggio 1: collega il tuo repository¶
- Vai alle impostazioni del tuo progetto AI Studio
- Vai a Connessione al repository
- Connetti il tuo repository:
- GitHub: autorizza 4Geeks ad accedere al tuo repository
- GitLab: fornisci l’URL e il token dell’istanza GitLab
- Bitbucket: connessione tramite OAuth o password dell’app
- Seleziona i rami da includere (tipicamente
principale+ rami di funzionalità attive)
Passaggio 2: configura le regole di contesto¶
Documentazione sull’architettura¶
Fornire o creare un documento di architettura che descriva:
# Project Architecture
## Tech Stack
- Frontend: React 18, TypeScript, Tailwind CSS
- Backend: Node.js, Express, PostgreSQL
- Infrastructure: AWS (ECS, RDS, S3)
## Directory Structure
/src
/components # Reusable UI components
/pages # Route-level components
/services # API clients and business logic
/hooks # Custom React hooks
/utils # Utility functions
/types # TypeScript type definitions
## Key Patterns
- Feature-based module organization
- Repository pattern for data access
- Service layer for business logic
- Custom hooks for shared state logic
Standard di codifica¶
Definisci le tue convenzioni di codifica:
CODICE_BLOCCO_2
Contratti API¶
Se disponi di specifiche OpenAPI/Swagger, schemi GraphQL o definizioni di protobuf, forniscili:
Passaggio 3: imposta i livelli di priorità del contesto¶
Non tutto il codice è ugualmente importante per il contesto. Configura i livelli di priorità:
| Priorità | Cosa è incluso | Quando utilizzato |
|---|---|---|
| Critico | Architettura principale, utilità condivise, definizioni di tipo | Ogni compito |
| Alto | Moduli correlati, contratti API, schemi di database | La maggior parte dei compiti |
| Medio | Componenti simili, servizi correlati | Attività specifiche delle funzionalità |
| Basso | Codice storico, moduli deprecati | Raramente incluso |
Configurazione¶
- Vai a Impostazioni di fabbrica AI → Configurazione contesto
- Imposta le regole di priorità:
- Includi sempre: tipi di core, utilità condivise, file di configurazione
- Includi quando pertinente: moduli correlati, endpoint API
- Escludi: node_modules, dist, build artefacts, test fixtures
- Definire i modelli di file:
Passaggio 4: verifica la qualità del contesto¶
Dopo che il tuo architetto senior ha completato la mappatura iniziale:
Controlla il rapporto sul contesto¶
- Vai a AI Factory → Rapporto sul contesto
- Revisione:
- File mappati: file totali indicizzati per contesto
- Grafico delle dipendenze: rappresentazione visiva delle relazioni tra i moduli
- Modelli di architettura: modelli rilevati (MVC, repository, ecc.)
- Convenzioni di denominazione: convenzioni estratte
- Copertura: % della codebase mappata correttamente
Testare l’inserimento del contesto¶
Invia un’attività di test e verifica:
- Consapevolezza dell’architettura: il codice generato segue i tuoi schemi?
- Coerenza dei nomi: le convenzioni vengono applicate correttamente?
- Precisione dell’importazione: le importazioni provengono dai moduli corretti?
- Utilizzo dei tipi: i tipi esistenti vengono riutilizzati anziché ridefiniti?
Migliori pratiche¶
Prepara la tua base di codice¶
- Pulisci prima di connetterti: rimuovi il codice morto, risolvi problemi evidenti
- Documentare le decisioni chiave: aggiungere ADR (record delle decisioni sull’architettura)
- Mantieni le definizioni dei tipi: i tipi TypeScript sono cruciali per il contesto
- Mantieni i test separati: escludi i file di test dal contesto per ridurre il rumore
Ottimizza le dimensioni del contesto¶
- Sii selettivo: includi solo ciò che è necessario per la generazione del codice
- Utilizza astrazioni: i documenti di architettura di alto livello sono più preziosi di ogni file
- Aggiorna regolarmente: esegui nuovamente la mappatura del contesto dopo i principali refactoring
- Monitora l’utilizzo dei token: contesto più ampio = più token = costo più elevato
Problemi comuni e soluzioni¶
| Problema | Soluzione |
|---|---|
| L’intelligenza artificiale genera codice che non corrisponde ai modelli | Aggiungi la documentazione esplicita del modello al contesto |
| Importazioni errate | Verificare l’accuratezza del grafico delle dipendenze |
| Tipi ridefiniti invece che riutilizzati | Assicurati che i file di tipo siano in “Includi sempre” |
| Troppi token consumati | Ridurre l’ambito del contesto, escludere i file non necessari |
| Contesto della logica aziendale mancante | Aggiungi documentazione specifica del dominio |
Qual è il prossimo passo?¶
- Ulteriori informazioni su QA automatizzato e barriere di sicurezza
- Esplora Monitoraggio dell’utilizzo dei token
- Leggi informazioni su Comprendere AI Factory
Hai bisogno di aiuto?¶
- Documentazione: docs.4geeks.io
- Discord: Discord
- Supporto: disponibile tramite il dashboard della console
Hai ancora domande? Richiedi supporto or explore tutoriali