Yeda AI Tips · #164

English

Haz que tu IA lea package.json primero

Haz que tu IA lea package.json y traiga la documentación de la versión exacta antes de escribir código de framework. Los datos de entrenamiento traen APIs obsoletas. El modelo aprendió tu framework en cierta fecha de corte y luego dejó de mirar, así que escribe la sintaxis de ayer con la confianza de hoy, y te enteras en tiempo de ejecución.

Por qué el modelo adivina

Todo LLM tiene una fecha de corte de entrenamiento: un punto después del cual no ha visto nada. Los frameworks no revisan esa fecha antes de publicar un cambio que rompe compatibilidad. Pídele código contra una librería que cambió el mes pasado y el modelo recurre a lo más parecido que conoce: el nombre de un método de una versión anterior, una firma que desde entonces ganó un argumento obligatorio, un formato de configuración que renombraron hace dos versiones mayores.

El resultado parece correcto porque el modelo no sabe que está desactualizado. Reproduce patrones de lo que aprendió. La brecha es invisible hasta que un parámetro alucinado falla en tiempo de ejecución o, peor, hace en silencio lo incorrecto.

La solución: primero la versión, después el código

Ya tienes la verdad de referencia en tu repositorio. package.json registra la versión exacta de cada dependencia que instalaste. Apunta el asistente hacia ese archivo antes de que escriba nada:

  1. Detecta el stack. El archivo de dependencias le dice al modelo con qué está trabajando: React, Next.js, un SDK de base de datos, un proveedor de autenticación.
  2. Lee las versiones exactas. No "React", sino react@18.3.1. La versión fijada en package.json (o la versión resuelta en el lockfile) es la que tu código realmente ejecuta.
  3. Trae la documentación que corresponde. Que consulte la página oficial de esa versión, no la más reciente ni lo que recuerda a medias.
  4. Implementa y cita. Escribe el patrón documentado y enlaza la fuente, para que verifiques la afirmación en diez segundos en vez de depurar una firma cambiada durante una hora.

Leer la versión tú mismo

Los rangos de versión en package.json no son exactos por defecto. Entiende qué significa cada uno antes de confiar en él:

NotaciónEjemploSignifica
Exacta"18.3.1"Solo esa versión
Caret"^18.3.1"Compatible: >=18.3.1 <19.0.0
Tilde"~18.3.1"Aproximada: >=18.3.1 <18.4.0

El rango en package.json es lo que pediste; el lockfile (package-lock.json, pnpm-lock.yaml, yarn.lock) registra lo que de verdad se instaló. Cuando la precisión importa, apunta el modelo a la versión resuelta del lockfile.

Jugada avanzada: automatiza el fetch

Pegar la documentación a mano funciona, pero no escala. Un servidor MCP que trae documentación en vivo y específica de la versión bajo demanda convierte "lee package.json y trae la documentación" en un solo paso que el agente ejecuta solo. Herramientas como Context7 leen la librería y la versión solicitadas e inyectan la superficie de API actual en el contexto, así el modelo trabaja con documentación real en lugar de memoria vieja, en cada prompt, sin que copies y pegues nada.

De cualquier forma, la regla se mantiene: fija la versión, trae la documentación que corresponde, cita la fuente. La documentación le gana a la memoria.

Recursos

¿Construyendo una función con IA? Yeda AI diseña, audita y lanza sistemas LLM en producción.