Saltar al contenido principal

Code Prompting

El Code Prompting DEBE implementarse como un proceso estructurado y controlado para la generación, traducción, explicación o depuración de código mediante modelos de lenguaje. Todo prompt DEBE especificar explícitamente el lenguaje de programación, formato de salida, y requisitos de documentación.

Ejemplos

✅ Ejemplo Correcto

Objetivo del Prompt

Generar una función en Python que calcule el factorial de un número, incluyendo documentación, manejo de errores y un caso de prueba.

Parámetros Recomendados

  • Temperature: 0.3
  • Top-K: 5
  • Top-P: 0.8
  • Token Limit: 60

Prompt

Lenguaje: Python
Requisitos:
- Documentación inline
- Manejo de errores
- Caso de prueba incluido

Tarea: Escribe una función que calcule el factorial de un número entero positivo.

Ejemplo de entrada/salida:
Input: 5
Output esperado: 120

Output

def factorial(n):
"""Calcula el factorial de un número entero positivo."""
if not isinstance(n, int) or n < 0:
raise ValueError("El número debe ser un entero positivo.")
if n == 0:
return 1
return n * factorial(n-1)

# Caso de prueba
assert factorial(5) == 120

❌ Ejemplo Incorrecto

Objetivo del Prompt

Generar código, pero sin especificar lenguaje, requisitos ni ejemplos claros.

Parámetros Recomendados

  • Temperature: 0.3
  • Top-K: 5
  • Top-P: 0.8
  • Token Limit: 60

Prompt

Escribe código para calcular el factorial de un número.

Output

factorial(n) = n * factorial(n-1)

Justificación

La implementación consistente de Code Prompting es necesaria porque:

  1. Garantiza la consistencia y calidad del código generado
  2. Previene errores de interpretación y malas prácticas
  3. Facilita la integración con sistemas de control de calidad
  4. Mejora la mantenibilidad y documentación del código

Reglas de Uso

1. Estructura del Prompt

  • DEBE especificarse el lenguaje de programación objetivo
  • DEBE incluirse el formato de salida esperado
  • DEBE detallarse los requisitos de documentación
  • DEBE proporcionarse ejemplos de entrada/salida

2. Generación de Código

  • DEBE incluir manejo de errores
  • DEBE seguir las convenciones del lenguaje
  • DEBE incluir documentación inline
  • DEBE ser testeable y verificable

3. Validación

  • DEBE incluir casos de prueba
  • DEBE verificar la sintaxis
  • DEBE comprobar el rendimiento
  • DEBE validar la seguridad

Cuándo Aplicar

  1. Generación de funciones o scripts repetitivos
  2. Traducción entre lenguajes de programación
  3. Documentación automática de código
  4. Generación de pruebas unitarias
  5. Refactorización de código existente

Cuándo Evitar

  1. Generación de código crítico para la seguridad
  2. Implementación de algoritmos complejos sin supervisión
  3. Generación de código que requiere conocimiento de dominio específico
  4. Desarrollo de componentes core del sistema

Métricas de Calidad

MétricaDescripciónUmbral Mínimo
Cobertura de TestsPorcentaje de código cubierto≥ 80%
ComplejidadPuntuación de complejidad ciclomática≤ 10
DocumentaciónPorcentaje de funciones documentadas100%
SeguridadPuntuación de análisis estático≥ 90

Referencias Técnicas

  • Herramientas de análisis estático: SonarQube, ESLint
  • Frameworks de testing: Jest, Pytest, JUnit
  • IDEs con integración LLM: GitHub Copilot, Cursor
  • Métricas de calidad: CodeClimate, SonarCloud