Vai al contenuto

🤖 Spiega con IA

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

  1. Vai alle impostazioni del tuo progetto AI Studio
  2. Vai a Connessione al repository
  3. Connetti il tuo repository:
  4. GitHub: autorizza 4Geeks ad accedere al tuo repository
  5. GitLab: fornisci l’URL e il token dell’istanza GitLab
  6. Bitbucket: connessione tramite OAuth o password dell’app
  7. 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:

/api
  openapi.yaml      # REST API specification
  graphql/
    schema.graphql  # GraphQL schema

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

  1. Vai a Impostazioni di fabbrica AIConfigurazione contesto
  2. Imposta le regole di priorità:
  3. Includi sempre: tipi di core, utilità condivise, file di configurazione
  4. Includi quando pertinente: moduli correlati, endpoint API
  5. Escludi: node_modules, dist, build artefacts, test fixtures
  6. Definire i modelli di file:
    Always include:
    - src/types/**/*.ts
    - src/utils/**/*.ts
    - src/config/**/*
    
    Include when relevant:
    - src/components/**/*.tsx
    - src/services/**/*.ts
    
    Exclude:
    - **/*.test.ts
    - **/*.spec.ts
    - node_modules/**
    - dist/**
    

Passaggio 4: verifica la qualità del contesto

Dopo che il tuo architetto senior ha completato la mappatura iniziale:

Controlla il rapporto sul contesto

  1. Vai a AI FactoryRapporto sul contesto
  2. Revisione:
  3. File mappati: file totali indicizzati per contesto
  4. Grafico delle dipendenze: rappresentazione visiva delle relazioni tra i moduli
  5. Modelli di architettura: modelli rilevati (MVC, repository, ecc.)
  6. Convenzioni di denominazione: convenzioni estratte
  7. Copertura: % della codebase mappata correttamente

Testare l’inserimento del contesto

Invia un’attività di test e verifica:

  1. Consapevolezza dell’architettura: il codice generato segue i tuoi schemi?
  2. Coerenza dei nomi: le convenzioni vengono applicate correttamente?
  3. Precisione dell’importazione: le importazioni provengono dai moduli corretti?
  4. 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?

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