Saltar a contenido

🤖 Explicar con IA

Configurar la inyección de contexto inteligente para su base de código

Descripción general

Inyección de contexto inteligente es lo que separa a 4Geeks AI Studio de las herramientas genéricas de codificación de IA. A diferencia de las herramientas estándar que analizan fragmentos de código de forma aislada, AI Factory mapea toda su base de código e inyecta el contexto de todo el proyecto en cada solicitud, lo que garantiza que la IA comprenda su arquitectura específica, sus convenciones de nomenclatura y su lógica empresarial.

En este tutorial, aprenderá:

  • Cómo funciona la inyección de contexto inteligente
  • Cómo preparar su código base para un mapeo de contexto óptimo
  • Cómo configurar reglas y convenciones de contexto.
  • Cómo verificar la calidad del contexto en el código generado

Cómo funciona la inyección de contexto inteligente

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)

Paso 1: Conecte su repositorio

  1. Vaya a la configuración de su proyecto AI Studio
  2. Navegue hasta Conexión del repositorio
  3. Conecte su repositorio:
  4. GitHub: Autoriza a 4Geeks a acceder a tu repositorio
  5. GitLab: proporcione la URL y el token de su instancia de GitLab
  6. Bitbucket: conéctese mediante OAuth o contraseña de la aplicación
  7. Seleccione las ramas que desea incluir (normalmente principal + ramas de funciones activas)

Paso 2: Configurar reglas de contexto

Documentación de arquitectura

Proporcione o cree un documento de arquitectura que describa:

# 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

Estándares de codificación

Defina sus convenciones de codificación:

# Coding Standards

## Naming Conventions
- Components: PascalCase (UserCard.tsx)
- Functions: camelCase (getUserById)
- Constants: UPPER_SNAKE_CASE (MAX_RETRIES)
- Types/interfaces: PascalCase with I prefix (IUser)

## Code Style
- 2-space indentation
- Single quotes for strings
- Semicolons required
- Max line length: 100 characters

## Testing
- Unit tests: Jest, colocated with source files
- Integration tests: Separate /tests directory
- E2E tests: Playwright in /e2e directory

Contratos API

Si tiene especificaciones de OpenAPI/Swagger, esquemas GraphQL o definiciones de protobuf, proporciónelos:

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

Paso 3: Establecer niveles de prioridad de contexto

No todo el código es igualmente importante para el contexto. Configurar niveles de prioridad:

Prioridad Qué está incluido Cuando se usa
Crítico Arquitectura central, utilidades compartidas, definiciones de tipos Cada tarea
Alto Módulos relacionados, contratos API, esquemas de bases de datos La mayoría de las tareas
Medio Componentes similares, servicios relacionados Tareas específicas de funciones
Bajo Código histórico, módulos obsoletos Rara vez incluido

Configuración

  1. Vaya a Configuración de fábrica de AIConfiguración de contexto
  2. Establecer reglas de prioridad:
  3. Incluir siempre: tipos principales, utilidades compartidas, archivos de configuración
  4. Incluir cuando sea relevante: módulos relacionados, puntos finales de API
  5. Excluir: node_modules, dist, construir artefactos, probar accesorios
  6. Defina patrones de archivos:
    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/**
    

Paso 4: Verificar la calidad del contexto

Después de que su arquitecto senior complete el mapeo inicial:

Consulte el informe de contexto

  1. Vaya a AI FactoryInforme de contexto
  2. Revisión:
  3. Archivos mapeados: total de archivos indexados por contexto
  4. Gráfico de dependencia: representación visual de las relaciones de los módulos
  5. Patrones de arquitectura: Patrones detectados (MVC, Repositorio, etc.)
  6. Convenciones de nomenclatura: convenciones extraídas
  7. Cobertura: % de la base de código asignada correctamente

Inyección de contexto de prueba

Envíe una tarea de prueba y verifique:

  1. Conciencia de arquitectura: ¿El código generado sigue tus patrones?
  2. Coherencia en los nombres: ¿Se aplican correctamente las convenciones?
  3. Precisión de las importaciones: ¿Las importaciones provienen de los módulos correctos?
  4. Uso de tipos: ¿Se reutilizan los tipos existentes en lugar de redefinirse?

Mejores prácticas

Prepare su base de código

  • Limpiar antes de conectar: elimina el código inactivo, soluciona problemas obvios
  • Documentar decisiones clave: agregar ADR (registros de decisiones de arquitectura)
  • Mantener definiciones de tipos: los tipos de TypeScript son cruciales para el contexto
  • Mantenga las pruebas separadas: excluya los archivos de prueba del contexto para reducir el ruido

Optimizar el tamaño del contexto

  • Sea selectivo: incluya solo lo necesario para la generación del código
  • Usar abstracciones: los documentos de arquitectura de alto nivel son más valiosos que cada archivo
  • Actualización periódica: vuelva a ejecutar el mapeo de contexto después de refactorizaciones importantes
  • Monitorear el uso de tokens: contexto más amplio = más tokens = mayor costo

Problemas comunes y soluciones

Problema Solución
La IA genera código que no coincide con los patrones Agregar documentación de patrón explícita al contexto
Importaciones incorrectas Verificar la precisión del gráfico de dependencia
Tipos redefinidos en lugar de reutilizados Asegúrese de que los archivos de tipo estén en “Incluir siempre”
Se han consumido demasiados tokens Reducir el alcance del contexto, excluir archivos innecesarios
Falta contexto de lógica empresarial Agregar documentación específica del dominio

¿Qué sigue?

¿Necesitas ayuda?


Aún con dudas? Pregunta en Discord o explore tutoriales