Lab IA²-4 · Pair programming aumentado
Sesión S06 · Copilot como compañero, humano como auditor
Contexto
Ludwig, Mullainathan & Rambachan (2025) (Ludwig et al., 2025) documentan que outputs de LLM como datos en regresiones introducen un nuevo tipo de error. Roth et al. (2023) (Roth et al., 2023) muestran que TWFE clásico está roto con tratamiento escalonado y los estimadores modernos (CS, CDH, BJS) requieren validación cuidadosa.
Este lab te entrena a codificar con Copilot sin que Copilot codifique por ti. La meta es producir 2 versiones (humana + asistida) y detectar dónde la IA introdujo errores.
Objetivos
- Replicar un fragmento de código de (Roth et al., 2023) (event-study con CS) en R o Python.
- Producir 2 versiones: humana (sin Copilot) y asistida (con Copilot).
- Comparar via
diffy validar línea por línea. - Detectar al menos 1 error introducido por Copilot.
Procedimiento
Paso 1 — Setup (15 min)
Carga el dataset proporcionado en 07-data/lab04/ (subset de tu propia tesis si aplica, o uno público como [LaPorta et al. 1999 — financial development]).
library(tidyverse)
library(did) # Callaway-Sant'Anna
library(fixest) # TWFE clásico
library(bacondecomp) # Goodman-Bacon
data <- read_csv("data/lab04/dataset.csv")
glimpse(data)Paso 2 — Versión humana (30 min)
Sin asistencia de IA, escribe código que:
- Computa Goodman-Bacon decomposition.
- Reporta % de pesos negativos.
- Si % > 5%, abandona TWFE y corre Callaway-Sant’Anna.
- Reporta ATT(g,t) agregado dinámicamente.
- Genera event-study plot.
Guarda en lab04-humano.R.
Paso 3 — Versión asistida (30 min)
Borra lab04-humano.R mentalmente (no lo mires). Abre un editor con Copilot activado.
Pídele a Copilot que escriba el mismo análisis. Acepta sus sugerencias sin pensar en una primera pasada (esto es deliberado — para detectar errores después).
Guarda en lab04-copilot.R.
Paso 4 — Diff y validación (25 min)
diff lab04-humano.R lab04-copilot.R > diff.txtPara cada diferencia, evalúa:
| Diferencia | Categoría | ¿Error? |
|---|---|---|
| Sintaxis distinta, mismo resultado | Estilo | No |
| Función distinta, mismo resultado | Estilo | No |
| Parámetro por default cambiado | Sustantivo | Posible — investigar |
| Lógica distinta, distinto resultado | ERROR | Sí — documentar |
Corre ambas versiones y compara outputs. ¿Coinciden los coeficientes? ¿Los errores estándar?
Paso 5 — Audit log (10 min)
En el audit-template.md documenta:
- Errores detectados en versión Copilot (≥1 obligatorio).
- Razón del error (paquete obsoleto, parámetro mal entendido, etc.).
- Si Copilot te aumentó (escribiste mejor código que solo) o te reemplazó (aceptaste código erróneo sin pensar).
Audit log obligatorio
Llena el audit-template.md. Mínimo 1 error de Copilot detectado o justificación robusta.
Regla de aprobación
✅ Lab aprobado si: - Versión humana corre y produce output válido. - Versión Copilot corre y produce output (puede tener errores). - Diff documentado. - ≥1 error detectado en versión Copilot O justificación de por qué no se encontró. - Audit log completo.
Conexión con H3
Este lab es parte de H3 (PAP moderado + Lab-4). La rúbrica de H3 evalúa explícitamente si detectaste errores de Copilot.
Recursos
- (Roth et al., 2023) — síntesis DiD revolution
- (Goodman-Bacon, 2021) — diagnóstico TWFE
- (Callaway & Sant’Anna, 2021) — estimador moderno
- (Ludwig et al., 2025) — LLMs como datos econométricos
- Paquete
did: https://bcallaway11.github.io/did/