================================================================================ PROMPT 02 - NIVEL CONVERSACIONAL: ChatGPT / Claude.ai / Gemini Pro (web) ================================================================================ Nombre del prompt : Extraccion batch 40 empresas en chat - matriz consolidada + actas_resumen via Code Interpreter Herramientas : ChatGPT (Advanced Data Analysis / Code Interpreter), Claude.ai (Analisis con archivos), Gemini Pro (con ejecucion de codigo). Plan pago recomendado. Tiempo estimado : 18-22 min (3 subir ZIP + 12 iterar + 5 export) Resultado esperado: 2 CSVs canonicos descargables del chat: - matriz_consolidada.csv (puesto x empresa x sector x municipio, normalizado) - actas_resumen.csv (sindicato, % aprobacion, n trabajadores cubiertos, fecha, incremento) + 3 hallazgos sectoriales en lenguaje de negocio. Estos CSVs alimentan el dashboard ejecutivo del breakout (carpeta 03_Prompts_Salary_Dashboard). DISCLAIMER: Los archivos son de dominio publico obtenidos del repositorio CFCRL. Uso educativo en sesion ERIAC. Esta extraccion complementa el trabajo de las consultoras especializadas en compensaciones, no lo reemplaza. No constituye benchmark formal de mercado. -------------------------------------------------------------------------------- PASO 0 - Preparar el ZIP de la muestra (3 min) -------------------------------------------------------------------------------- - Abre tu chat (ChatGPT con GPT-4o o superior, Claude.ai, o Gemini Pro con ejecucion de codigo). - Navega a: C:\Users\Gerardo Ayala\Desktop\Webinar_IA_HR_Comite\04_Datos_Demo\originales\ - Comprime las 40 carpetas en un solo ZIP llamado `originales_40_empresas.zip`. Click derecho sobre la carpeta originales/ -> Send to -> Compressed (zipped) folder. Tamano esperado: ~96 MB. Si tu plan tiene limite de adjunto < 100 MB, comprime en 2 ZIPs (empresas 01-20 y 21-40) y subelos en orden. - Sube el ZIP al chat. Confirma que el modelo lo recibio y ve el contenido (debe listar 40 subcarpetas). -------------------------------------------------------------------------------- PROMPT PRINCIPAL (pegar despues de subir el ZIP) -------------------------------------------------------------------------------- Actua como ingeniero de datos senior especializado en analitica de compensaciones para HR. Acabo de subirte un ZIP con 40 empresas mexicanas (subcarpetas numeradas 01_..._40_...). Dentro hay 144 archivos PDF y XLSX entre tabuladores salariales, actas de votacion sindical y contratos colectivos, todos publicos del repositorio CFCRL. Vamos a trabajar en 4 fases. Despues de cada fase entregame 2-3 hallazgos en lenguaje de negocio (no estadistico) y espera mi "ok" antes de continuar. Ejecuta codigo de verdad en cada fase, no inventes. FASE 1 - Inventario y deteccion de tipo de archivo - Descomprime el ZIP, recorre las 40 subcarpetas y arma una tabla inventario con: empresa, archivo, extension, tamano_kb, tipo_detectado (tabulador / acta / contrato / otro). El tipo se infiere por palabras clave en el nombre (tabulador, salarios, acta, votacion, legitimacion, contrato). - Reporta: cuantas empresas, cuantos tabuladores, cuantas actas, cuantos contratos, cuantos 'otro'. Confirma que la suma da 144. FASE 2 - Extraccion batch de tabuladores - Para cada archivo identificado como tabulador: - Si es XLSX, lee con pandas/openpyxl. - Si es PDF nativo (con texto), usa pdfplumber.extract_tables(). - Si es PDF escaneado, usa tu capacidad de vision (gpt-4o o Claude vision) sobre la pagina rasterizada y extrae a JSON. - Construye un solo DataFrame con este schema EXACTO (matriz_consolidada.csv): empresa, sector, municipio, puesto_normalizado, categoria, sueldo_diario_mxn, sueldo_mensual_mxn, n_trabajadores, fuente_archivo - Reglas: - sueldo_mensual_mxn = sueldo_diario_mxn * 30.4 si no viene. - puesto_normalizado: minusculas, sin acentos, expandiendo abreviaciones (OP. -> OPERADOR, AYTTE -> AYUDANTE, MTTO -> MANTENIMIENTO). - Reconcilia variantes del mismo puesto entre empresas (esto es el paso 2 del breakout: la IA reconoce que "operador de produccion", "op. produccion" y "operador prod" son lo mismo). - sector y municipio: infiere del nombre de carpeta o del PDF; si no hay forma, deja 'n/d'. - n_trabajadores: vacio si el tabulador no lo trae. - fuente_archivo: ruta relativa desde originales/. - Si un archivo falla, NO abortes; agregalo a una lista de "requiere_revision" que entregaras al final. - Al cierre de la fase reporta: cuantas filas, cuantos puestos normalizados unicos, cuantos archivos OK vs con error. FASE 3 - Extraccion batch de actas - Para cada acta detectada (suelen ser PDFs escaneados), usa vision para extraer JSON con: sindicato, pct_aprobacion (numero 0-100), n_trabajadores_cubiertos, fecha_revision (ISO YYYY-MM-DD), incremento_pct (si aparece pactado). - Consolida en actas_resumen.csv con schema EXACTO: empresa, sindicato, pct_aprobacion, n_trabajadores_cubiertos, fecha_revision, incremento_pct - Si un acta no es legible, marcala como REQUIERE_REVISION en log separado (no inventes numeros nunca). - Indicadores agregados que reportas en el chat: - Numero total de sindicatos firmantes distintos detectados. - Porcentaje de aprobacion promedio (ponderado por trabajadores cubiertos). - Numero total de trabajadores cubiertos en la muestra. - Incremento promedio cuando aparece (mediana y media). FASE 4 - Exportables y hallazgos - Empaca en un solo ZIP descargable: matriz_consolidada.csv, actas_resumen.csv, log_extraccion.csv. - Genera un .txt con 3 hallazgos sectoriales en lenguaje ejecutivo (no estadistico). Cada hallazgo: que paso + magnitud + implicacion para HR. Foco en patrones cross-empresa (no en una empresa individual). Estos 3 hallazgos son el cierre que el participante llevara al pleno. REGLAS DURAS - Si un archivo esta corrupto o ilegible, marcalo y sigue. - Todas las cifras redondeadas a entero o 1 decimal. - Ejecuta codigo en cada fase, no inventes. - Cita el archivo origen en cada fila de los CSVs. - Tiempo objetivo: < 12 min de reloj para procesar los 144 archivos. -------------------------------------------------------------------------------- FALLBACK SI EL MODELO NO TIENE CODE INTERPRETER (plan free) -------------------------------------------------------------------------------- Pega esto en lugar del prompt principal: "No puedes ejecutar codigo. En su lugar, voy a subir 6 archivos representativos: 4 tabuladores (uno por sector: autopartes, empaque, energia, retail) y 2 actas. Para cada tabulador devuelveme la tabla en formato CSV (separador coma, schema fijo: empresa, sector, municipio, puesto_normalizado, categoria, sueldo_diario_mxn, sueldo_mensual_mxn, n_trabajadores, fuente_archivo). Para cada acta devuelveme una linea CSV con schema: empresa, sindicato, pct_aprobacion, n_trabajadores_cubiertos, fecha_revision, incremento_pct. Si un campo no aparece, escribe vacio (no 'n/d', vacio literal). Yo concateno los CSVs manualmente despues." Para el breakout en vivo, esta version solo ilustra el patron; los demas participantes con plan pago corren el batch completo. -------------------------------------------------------------------------------- SI ALGO SALE MAL -------------------------------------------------------------------------------- 1. El modelo solo procesa los primeros archivos del ZIP y se detiene Pega: "Estas procesando solo los primeros archivos. Recorre la lista completa de 144 archivos en lotes de 20, guarda el progreso en un DataFrame acumulador entre lotes, y al final concatena todo. Si en algun lote te quedas sin contexto, guarda el parcial a CSV y avisame para reanudar." 2. La normalizacion de puestos deja 250 variantes para 'operador' Pega: "Imprime las 50 variantes mas frecuentes y propon un diccionario de normalizacion mas agresivo (minimo 15 reglas nuevas). Aplicalo y dime cuantos puestos_normalizados unicos quedaron al final." 3. Las actas escaneadas devuelven puros vacios Pega: "Las actas escaneadas no se estan leyendo. Usa tu capacidad de vision sobre la primera pagina rasterizada de cada acta y extrae solo: sindicato, pct_aprobacion, n_trabajadores_cubiertos, fecha_revision. Si no es legible, marca REQUIERE_REVISION pero no inventes." 4. El ZIP es muy grande para subir Subelo en 2 partes (empresas 01-20 y 21-40). Pidele al modelo "ya cargue la parte 1, espera la parte 2 antes de empezar el procesamiento batch para tener las 40 empresas juntas". -------------------------------------------------------------------------------- ALINEACION CON EL DASHBOARD -------------------------------------------------------------------------------- matriz_consolidada.csv y actas_resumen.csv son el INPUT del prompt 03_Prompts_Salary_Dashboard. El schema esta congelado: no renombres columnas. El dashboard espera exactamente esos nombres. -------------------------------------------------------------------------------- VARIANTES / EXTENSIONES -------------------------------------------------------------------------------- A. UBICA TUS PUESTOS INTERNOS EN LA MATRIZ Despues de fase 4: "Te paso 5 puestos de mi organizacion con su sueldo actual. Por cada uno, busca el match mas cercano en matriz_consolidada (mismo sector + municipio + fuzzy en puesto_normalizado >= 80) y dime mi posicion en percentil p25/p50/p75/p90 del segmento." B. PRE-DASHBOARD: percentiles por puesto "Genera un CSV adicional pivot_percentiles.csv con columnas: puesto_normalizado, sector, n_empresas, sueldo_p25, p50, p75, p90. Solo incluir puestos con n_empresas >= 3." C. RESUMEN EJECUTIVO PARA DIRECTOR "Convierte los 3 hallazgos en un correo ejecutivo de 200 palabras, con asunto, dirigido a Director(a) de RH no tecnico. Tono profesional, sin jerga sindical." -------------------------------------------------------------------------------- DISCLAIMER DE USO RESPONSABLE -------------------------------------------------------------------------------- Los archivos analizados son de dominio publico (CFCRL). El analisis derivado puede usarse internamente para benchmark exploratorio. Al compartir conclusiones fuera de la organizacion debe citarse la fuente y la fecha de corte. No atribuyas a una empresa una oferta salarial actual sin validarla contra su tabulador vigente. La extraccion automatica tiene tasa de error: revisa manualmente los datos criticos antes de tomar decisiones de compensacion. Esta herramienta complementa el trabajo de las consultoras especializadas, no lo reemplaza.