La AI puede ser un copiloto poderoso para Data Engineers. Aprende cuándo y cómo usarla efectivamente.
1. Generar código boilerplate
# Prompt: "Crea una función Python que lea un CSV y retorne un DataFrame con validación de esquema"
# La AI genera el código base, tú lo revisas y ajustas2. Explicar código existente
# Selecciona código complejo y pregunta: "¿Qué hace este código?"
# La AI explica la lógica, tú validas que sea correcto3. Refactorizar código
# Prompt: "Refactoriza esta función para que sea más legible y eficiente"
# La AI sugiere mejoras, tú decides qué aplicar4. Generar documentación
# Prompt: "Genera docstrings para estas funciones siguiendo el estilo Google"
# La AI crea documentación, tú la revisas y ajustas5. Crear tests
# Prompt: "Crea tests unitarios para esta función usando pytest"
# La AI genera tests, tú los ejecutas y ajustas6. Debugging asistido
# Pega el error y pregunta: "¿Por qué falla este código?"
# La AI sugiere causas, tú investigas y solucionas7. Generar queries SQL
-- Prompt: "Crea una query SQL que calcule ventas por mes con crecimiento mes a mes"
-- La AI genera la query, tú la validas y optimizas1. Reemplazar tu entendimiento
- ❌ No uses código que no entiendas
- ❌ No copies sin revisar
- ❌ No confíes ciegamente
2. Decisiones de arquitectura críticas
- ❌ No dejes que AI diseñe sistemas complejos
- ❌ No uses sugerencias sin validar impacto
3. Datos sensibles o secretos
- ❌ No compartas datos reales con AI
- ❌ No uses credenciales en prompts
4. Lógica de negocio compleja
- ❌ No uses AI para reglas de negocio sin validar
- ❌ No confíes en cálculos críticos sin verificar
❌ Mal prompt:
"haz un pipeline"
✅ Buen prompt:
"Crea una función Python que:
1. Lea un archivo CSV de ventas
2. Valide que tenga las columnas: fecha, producto_id, cantidad, precio
3. Calcule el total (cantidad * precio)
4. Retorne un DataFrame con los datos procesados
5. Maneje errores si el archivo no existe"
Usa el prompt claro para generar código inicial.
Siempre:
- Lee el código generado
- Entiende qué hace cada parte
- Verifica la lógica
Siempre:
- Ejecuta el código
- Prueba casos edge
- Verifica resultados
Siempre:
- Refina según tus necesidades
- Optimiza si es necesario
- Documenta cambios importantes
- Cursor: Editor con AI integrada (recomendado)
- GitHub Copilot: Extensión para VS Code
- ChatGPT/Claude: Para consultas y explicaciones
- Cursor Chat: Para generar documentación
- ChatGPT: Para explicar conceptos complejos
- Cursor: Para generar queries SQL
- ChatGPT: Para optimizar queries existentes
Prompt:
"Crea un pipeline ETL en Python que:
1. Extraiga datos de un CSV
2. Transforme: limpie nulos, calcule totales
3. Cargue a Parquet
4. Incluya logging y manejo de errores"
Resultado: Código base que revisas y ajustas.
Acción:
- Selecciona código que no entiendes
- Pregunta: "Explica qué hace este código paso a paso"
- La AI explica, tú validas
Prompt:
"Optimiza esta query SQL para que sea más rápida:
[pega tu query]
La tabla tiene índices en: fecha_venta, producto_id
Tiene 10 millones de filas"
Resultado: Sugerencias de optimización que validas.
Prompt:
"Crea tests unitarios para esta función usando pytest:
[pega tu función]
Incluye:
- Test de caso normal
- Test de caso edge (valores nulos)
- Test de error esperado"
# ❌ Vago
"haz una función"
# ✅ Específico
"Crea una función Python llamada 'procesar_ventas' que:
- Recibe un DataFrame con columnas: fecha, producto_id, cantidad, precio
- Valida que todas las columnas existan
- Calcula total = cantidad * precio
- Retorna el DataFrame con una columna adicional 'total'
- Maneja errores con try/except y logging"# ✅ Proporciona contexto
"""
Estoy trabajando con un pipeline ETL que procesa ventas.
Necesito una función que:
- Lea de PostgreSQL (usando sqlalchemy)
- Transforme los datos
- Escriba a S3 en formato Parquet
- Use variables de entorno para credenciales
"""# Primera iteración: Genera código básico
# Segunda iteración: "Agrega validación de esquema"
# Tercera iteración: "Optimiza para grandes volúmenes"# ✅ Siempre valida
def funcion_generada_por_ai():
# Código generado
pass
# Ejecuta y verifica
resultado = funcion_generada_por_ai()
assert resultado is not None
assert len(resultado) > 0# ❌ Mal
codigo_ai = generar_codigo()
ejecutar(codigo_ai) # Sin revisar
# ✅ Bien
codigo_ai = generar_codigo()
revisar(codigo_ai) # Entender qué hace
testear(codigo_ai) # Probar
ejecutar(codigo_ai) # Solo entonces# ❌ Mal
"haz algo con datos"
# ✅ Bien
"Crea una función que procese ventas diarias y calcule totales por categoría"# ❌ Mal
# Usar código sin entenderlo
# ✅ Bien
# Leer, entender, validar, luego usar- Genera un pipeline ETL básico con AI y revísalo
- Usa AI para explicar código complejo que no entiendas
- Genera tests para una función existente
- Optimiza una query SQL con ayuda de AI
Continúa con Ejemplos de Prompts para ver prompts efectivos específicos.
Recuerda: La AI es un copiloto, no un piloto. Tú siempre estás al control y eres responsable del código que produces.