Fragua Tech

Introducción a la Inteligencia Artificial

Clase 9

De Machine Learning a Agentes — qué hay realmente dentro de ChatGPT y cómo empezar a construir con ello.

Objetivos de aprendizaje

La IA no es magia: es estadística a escalaempaquetada en una API. Hoy ponemos nombre a las piezas y empezamos a usarlas como desarrolladores.

🧠

IA · ML · DL

Distinguir los tres términos y saber cuándo cada uno aplica.

💬

Cómo piensan los LLMs

Tokens, atención, predicción de siguiente palabra y por qué alucinan.

💻

Integrar IA

Usar las APIs de Anthropic y OpenAI desde Node.js con buenos prompts.

🤖

Agentes

Entender el ciclo razonar→actuar→observar que prepara la Clase 10.

IA, Machine Learning y Deep Learning

Los tres términos se usan como sinónimos en marketing, pero son cosas distintas. Cada uno es un subconjuntodel anterior.

Inteligencia Artificial

Campo más amplio. Cualquier sistema que exhiba comportamiento "inteligente": desde reglas si-entonces hasta GPT.

Machine Learning

Subconjunto de IA. En vez de programar reglas, el sistemaaprende patrones a partir de datos.

Deep Learning

Subconjunto de ML que usa redes neuronales conmuchas capas. Es lo que hay detrás de los LLMs.

Las capas que importan

Cuando alguien dice "es IA", suele estar hablando de la capa más profunda.

IA  ────────────────────────────────
│  reglas, búsqueda, expertos, ML…
└─ Machine Learning ────────────────
   │  aprende de datos
   └─ Deep Learning ───────────────
      │  redes neuronales profundas
      └─ LLMs ─────────────────────
         GPT · Claude · Gemini · …

Todo LLM es Deep Learning. Todo Deep Learning es ML. Todo ML es IA. Las flechas no se invierten.

El cambio de paradigma

El cerebro del programa cambia de sitio. Ya no escribes reglas: enseñas ejemplos.

Programación tradicional

Datos     ─┐
           ├─► Programa ─► Resultado
Reglas    ─┘

El humano escribe las reglas a mano. Funciona muy bien para problemas con lógica clara (impuestos, validaciones, parsing).

Machine Learning

Datos     ─┐
           ├─► Entrenamiento ─► Modelo
Resultados─┘                    │
Nuevo dato ─────────────► Predicción

El humano enseña con ejemplos. Funciona para problemas difíciles de verbalizar (¿qué hace que una cara sea "feliz"?).

Machine Learning: tres formas de aprender

Según el tipo de retroalimentación que recibe el modelo durante el entrenamiento.

TipoCómo aprendeEjemplo cotidiano
SupervisadoCon datos etiquetados (input → output correcto)Clasificar emails como spam / no spam
No supervisadoEncuentra patrones sin etiquetasAgrupar clientes con compras similares
Por refuerzoPrueba y error optimizando una recompensaEntrenar un agente para jugar al ajedrez
Auto-supervisadoInventa sus propias etiquetas (predecir parte oculta del input)Pre-entrenar un LLM con texto sin anotar

Los LLMs se entrenan con una mezcla: pre-entrenamiento auto-supervisado (predecir el siguiente token) + RLHF (refuerzo con retroalimentación humana).

El pipeline de un proyecto de ML

No es solo "entrenar un modelo". Es un proceso con etapas claras, y la mayor parte del trabajo está antes y después del fit.

Recolectar datos  ─►  Limpiar / explorar (EDA)
Feature engineering  ─►  Split train/val/test
Entrenar  ─►  Validar  ─►  Ajustar hiperparámetros
Evaluar en test  ─►  Desplegar  ─►  Monitorizar

Train / Val / Test

Típico 70/15/15. Train entrena, val ajusta hiperparámetros, test mide el rendimiento honesto una sola vez.

Overfitting

El modelo memoriza el train y falla en test. Síntoma: gran brecha entre accuracy de train y val.

Métricas

Accuracy, precision, recall, F1 para clasificación · MAE, RMSE, R² para regresión. Elige la que refleja tu problema real.

Algoritmos clásicos que todavía importan

No todo es Deep Learning. Para tabular, pocos datos o explicabilidad, los algoritmos clásicos siguen ganando.

AlgoritmoFamiliaBueno para
Regresión lineal / logísticaSupervisadoBaseline, interpretabilidad, relaciones lineales
Árboles de decisiónSupervisadoReglas explicables, datos mixtos
Random Forest · XGBoostEnsembleDatos tabulares — siguen siendo el rey en Kaggle
SVMSupervisadoFronteras complejas con pocos datos
k-NNSupervisadoBúsqueda por similitud, recomendaciones
K-Means · DBSCANNo supervisadoSegmentación de clientes, detección de anomalías
PCA · t-SNE · UMAPNo supervisadoReducir dimensionalidad, visualizar datos

Regla práctica: si tu dataset cabe en una hoja de cálculo, empieza por XGBoost. Si es texto, imagen o audio sin estructura, Deep Learning.

Cómo se ve en código

El stack estándar para ML clásico:scikit-learn en Python. Misma API para todos los modelos.

from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
 
X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42)
 
model = RandomForestClassifier(n_estimators=100)
model.fit(X_train, y_train)        # entrena
pred = model.predict(X_test)       # predice
 
print(accuracy_score(y_test, pred))

Cambia RandomForestClassifier porLogisticRegression o SVC y el resto del código queda igual. Esa es la magia de la API uniforme.

Deep Learning

Una red neuronal artificialcon muchas capas. Cada neurona suma sus entradas pesadas, aplica una función no lineal y propaga el resultado. Apilando capas, el modelo aprende representaciones cada vez más abstractas.

  Entrada      Capas ocultas      Salida
  ───────      ─────────────      ──────
   [x1] ──┐                              
           ├──► [h1] ──┐                  
   [x2] ──┤            ├──► [y]            
           ├──► [h2] ──┘                  
   [x3] ──┘                              

Capas ocultas

Cuantas más, más complejas las relaciones que puede capturar el modelo. "Deep" = muchas capas.

Parámetros

Pesos que el entrenamiento ajusta. GPT-4 supera loscientos de miles de millones.

Backpropagation

El modelo se equivoca, mide el error y ajusta los pesos en sentido inverso al gradiente para fallar menos la próxima.

Familias de arquitecturas

No todas las redes son iguales. La arquitectura se elige según laestructura del dato: ¿tabular?, ¿imagen?, ¿secuencia?

ArquitecturaDiseñada paraEjemplo de uso
MLP (feedforward)Datos tabulares, vectoresClasificación simple, scoring
CNNDatos con estructura espacialVisión: clasificación, detección
RNN · LSTM · GRUSecuencias (orden importa)Voz, series temporales, NLP clásico
TransformerSecuencias en paralelo, contexto largoLLMs, traducción, multimodal
GAN · DiffusionGeneración de datosImágenes (DALL·E, Stable Diffusion)
GNNGrafosRedes sociales, química, recomendación

En esta clase nos centramos en las tres que dominan el campo:CNN, RNN y Transformer.

Redes convolucionales (CNN)

Inspiradas en la corteza visual. Deslizan pequeñosfiltros sobre la imagen detectando patrones locales (bordes, texturas, formas) y los combinan en patrones cada vez más abstractos.

Imagen 224×224×3
   ▼  conv + ReLU (filtros 3×3)
feature maps  ←  detectan bordes
   ▼  pooling (max 2×2)
reduce resolución, conserva señal
   │  repetir N veces…
flatten + dense ──► clase
                    (gato? perro? coche?)

Por qué funcionan

Pesos compartidos + invarianza a la traslación: el mismo filtro detecta un ojo esté donde esté en la imagen.

Arquitecturas icónicas

LeNet (1998), AlexNet (2012, ganó ImageNet), VGG, ResNet (capas residuales), EfficientNet, YOLO (detección en tiempo real).

Casos de uso

Diagnóstico médico por imagen, conducción autónoma, OCR, detección de defectos en producción industrial.

Redes recurrentes (RNN, LSTM, GRU)

Para datos donde el orden importa: lenguaje, audio, series temporales. La red mantiene un estado oculto que se actualiza paso a paso conforme procesa la secuencia.

tiempo:   t=1     t=2     t=3     t=4
          ┌───┐   ┌───┐   ┌───┐   ┌───┐
input  ──►│   │──►│   │──►│   │──►│   │──►
estado ──►│ h ├──►│ h ├──►│ h ├──►│ h │
          └─┬─┘   └─┬─┘   └─┬─┘   └─┬─┘
  output:   y1      y2      y3      y4
 
"El gato se sentó en el sofá"
 palabra a palabra, en orden

LSTM y GRU

Variantes con compuertas (gates) que deciden qué recordar y qué olvidar. Resuelven el problema del gradiente que desaparece en secuencias largas.

Limitación clave

Procesan en secuencia: no se paralelizan en GPU. Y tienen memoria limitada — palabras lejanas se diluyen.

Casos de uso

Reconocimiento de voz, traducción (pre-2017), predicción de series temporales (finanzas, energía), autocompletado.

Para NLP las RNN dominaron 2010-2017. Luego vino el Transformer y se las comió: misma tarea, paralelizable, mejor con contexto largo.

Transformer: la arquitectura que lo cambió todo

Google, 2017,"Attention Is All You Need". Adiós a la recurrencia: el modelo mira toda la secuencia en paralelo y decide a quién prestar atención.

Tokens ──► Embeddings + posición
   ▼  ── bloque Transformer ──┐
   │   ┌──────────────────┐   │
   │   │  Multi-Head      │   │
   │   │  Self-Attention  │   │
   │   ├──────────────────┤   │
   │   │  Feed-Forward    │   │  × N capas
   │   │  (MLP por token) │   │
   │   └──────────────────┘   │
   │      residual + norm     │
   └──────────────────────────┘
probabilidad del siguiente token

Self-attention

Cada token calcula Q, K, V (query, key, value) y decide cuánto atender a cada otro token. Multi-head = varios "puntos de vista" en paralelo.

Embeddings posicionales

Sin recurrencia, el modelo no sabe el orden. Se inyecta como un vector adicional (sinusoidal o aprendido, RoPE en los modelos modernos).

Variantes

Encoder-only (BERT, embeddings),decoder-only (GPT, Claude — generativos),encoder-decoder (T5, traducción).

Toda la generación moderna es decoder-only. La siguiente sección entra al detalle de cómo, sobre esto, se construye un LLM.

Cómo funcionan los LLMs

Toda la generación moderna —ChatGPT, Claude, Gemini— está construida sobre una misma arquitectura: el Transformer, introducido por Google en 2017 en"Attention Is All You Need".

La idea central: atención

Para cada palabra, el modelo decidecuánto atender a cada otra palabra del contexto. Así captura relaciones a larga distancia sin recurrencia.

Lo que cambió en 2017

Adiós a las RNN secuenciales. La atención permite procesar todo el contexto en paralelo en la GPU, lo que hizo viable entrenar modelos gigantes.

Si nunca leíste un paper, "Attention Is All You Need" es un buen primero. 8 páginas, gráficos claros, cambió la historia del campo.

Tokenización: el modelo no ve palabras

Antes de entrar al modelo, el texto se trocea entokens: fragmentos sub-palabra. Cada token tiene un id numérico en un vocabulario fijo (~50–100 k tokens).

"Hola, estoy aprendiendo programación!"
 
["Hol", "a", ",", " est", "oy", 
 " aprend", "iendo", " program",
 "ación", "!"]
 
[15043, 64, 11, 1826, 26644, …]

Por qué importa

Los modelos cobran por token, no por carácter. Y la ventana de contexto se mide en tokens (típicamente 128 k–1 M).

Inglés vs español

El tokenizador está entrenado en mayoría inglés. El español usa ~30 % más tokens para la misma idea.

BPE

Byte-Pair Encoding. Algoritmo que aprende los fragmentos más frecuentes mirando un corpus enorme.

Escribe un texto y observa cómo se trocea:

Esta demo usa una heurística simple. Los LLMs reales usan algoritmos como BPE (Byte-Pair Encoding) entrenados sobre billones de palabras.

Tokens generados

GPT-4 promedio: ~4 chars/token en inglés, ~2-3 en español

Cómo "escribe" un LLM

Es —fundamentalmente— un predictor del siguiente token. Genera uno, lo añade al contexto, y vuelve a predecir.

Input: "El gato se sentó en el ___"
 
sofá   ████████████████  15 %
suelo  █████████████     12 %
tejado █████████          8 %
salón  ███                3 %
 
elige: "sofá"

Y vuelve a empezar

Nuevo input: "El gato se sentó en el sofá". ¿Siguiente token?: "y", ".", ","… Repite hasta que el modelo elige un token especial de fin.

El parámetro temperature controla cuánto se desvía de los tokens más probables. 0 = siempre el top; 1 = bastante aleatorio.

Lo que un LLM no hace

Saber sus límites es tan importante como saber su poder. No confundas fluidez con razonamiento.

No "piensa" como un humano

Predice tokens estadísticamente plausibles. La sensación de razonamiento emerge del contexto, no de una mente.

No tiene memoria persistente

Cada conversación parte de cero. Si quieres "memoria" se la das tú en el prompt o en un sistema externo.

No busca en internet (por defecto)

Solo sabe lo que aprendió en su corpus de entrenamiento. Para datos actuales necesita una herramienta (búsqueda, RAG…).

Puede alucinar

Genera información falsa que suena correcta: APIs inexistentes, citas inventadas, fechas erróneas. Verifica lo crítico.

Los grandes modelos (2025-2026)

El campo se mueve rápido. Esta foto envejecerá; los nombres cambian, las diferencias se acortan.

ModeloEmpresaFortalezas
GPT-5.5 · GPT-5.5 Pro · GPT-5.5 Instant · GPT-5.3-CodexOpenAIVersatilidad, ecosistema enorme, agentes y código de frontera
Claude Opus 4.8 · Sonnet 4.6 · Haiku 4.5AnthropicRazonamiento largo, código, agentes de navegador, instrucciones precisas
Gemini 3.5 Flash · Gemini 3 Flash · Gemini OmniGoogleMultimodal nativo, integración Google, agentes long-horizon
Llama 4 Scout · MaverickMetaOpen weights, contexto hasta 10M tokens, ejecutable localmente
DeepSeek V4 PreviewDeepSeekOpen weights, atención comprimida (CSA/HCA), coste muy bajo
Grok 4xAIAcceso en tiempo real a X, razonamiento competitivo
Qwen 3AlibabaOpen weights, fuerte en chino e inglés, variantes MoE

Regla práctica: prototipa con el SDK de Anthropic u OpenAI, valida con métricas reales, y solo después decide si te interesa autohospedar.

APIs de IA para desarrolladores

Como dev, no entrenas modelos: los consumes vía API. Una llamada HTTP, una respuesta JSON, lista.

Anthropic (Claude)

const Anthropic = require('@anthropic-ai/sdk');
const anthropic = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY
});
 
async function preguntarAClaude(pregunta) {
  const response = await anthropic.messages.create({
    model: "claude-sonnet-4-20250514",
    max_tokens: 1024,
    messages: [{ role: "user", content: pregunta }]
  });
  return response.content[0].text;
}

La API key siempre en process.env. Nunca en el código ni en el repo.

OpenAI (GPT)

Misma idea, otra estructura. Aquí los messages incluyen también un system que define el rol global del asistente.

const OpenAI = require('openai');
const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
 
async function preguntarAGPT(pregunta) {
  const response = await openai.chat.completions.create({
    model: "gpt-4o",
    messages: [
      { role: "system", content: "Eres un asistente de programación." },
      { role: "user",   content: pregunta }
    ]
  });
  return response.choices[0].message.content;
}

Las dos APIs, lado a lado

Las diferencias son cosméticas. Mismo patrón: array de mensajes, modelo, límite de tokens, respuesta JSON.

ConceptoAnthropicOpenAI
Paquete@anthropic-ai/sdkopenai
Métodomessages.createchat.completions.create
System promptCampo system aparteMensaje con role: "system"
Respuestaresponse.content[0].textresponse.choices[0].message.content
StreamingSí (stream: true)Sí (stream: true)

Prompt engineering

El mismo modelo da resultados radicalmente distintos según cómo lo pidas. La diferencia entre un prompt pobre y uno bueno escontexto + restricciones.

Prompt pobre

"Ayuda con código"

Respuesta: genérica, asume contexto, probablemente inútil.

Prompt bueno

"Eres un desarrollador senior
 de Node.js. Necesito una función
 que valide un email: formato
 válido, dominio existente, y no
 en lista negra. Usa TypeScript.
 Incluye manejo de errores y tests."

Tiene rol, tarea,requisitos, stack yformato.

Regla: si tu prompt cabe en un tweet, probablemente no le diste suficiente contexto al modelo.

Temperatura: el dial de la aleatoriedad

Cuánto se aparta el modelo del token más probable. No la confundas con "creatividad" — es ruido controlado.

0.0

determinista

Siempre elige el token más probable. Misma entrada → misma salida.

Ideal: extracción de datos, código, clasificación.

0.7

equilibrado

Suficiente variabilidad para que las respuestas no parezcan robóticas.

Ideal: chat, contenido, explicaciones.

1.0+

caótico

Mucho ruido. Salidas creativas pero también más errores.

Ideal: brainstorming, exploración de ideas.

Si no sabes qué usar, deja 0.7 y mide. Sube si las respuestas son demasiado iguales; baja si fallan por inconsistencia.

RAG · Retrieval-Augmented Generation

El LLM no sabe nada de tu empresa. RAG resuelve estoinyectando contextorelevante en el prompt en tiempo real. Es el patrón más usado en producción.

Usuario: "¿Cuál es la política de reembolso?"
         ▼  embedding de la pregunta
   ┌──────────────────────────────┐
   │  Vector DB (Pinecone, pgvector) │
   │  → top-k documentos similares  │
   └──────────────────────────────┘
         ▼  prompt + documentos
   LLM ──► respuesta basada en TUS datos

Por qué

Más barato que fine-tuning, fácil de actualizar, citable, no expone los datos al entrenamiento del modelo.

Piezas

Embeddings (vectorización), un vector store y un orquestador que junta pregunta + contexto antes de llamar al LLM.

Cuidado

Si recuperas basura, el LLM repite basura. La calidad depende más del retrieval que del modelo.

Agentes de IA

Un agente es un LLM con manos: decidequé hacer y ejecuta acciones en bucle hasta cumplir un objetivo.

🧠 Cerebro (LLM)

Razona, decide qué herramienta usar y cuándo dar la respuesta final.

🛠 Herramientas

Funciones que el agente puede invocar: búsqueda web, lectura de archivos, ejecución de código, llamadas a APIs.

💾 Memoria

Historial de la conversación + estado intermedio. Lo que el LLM "sabe" en cada iteración.

🗺 Planificador

Descompone tareas grandes en pasos. Puede ser explícito o emergente del propio prompt.

El ciclo de un agente

No es una llamada al LLM: son muchas, en bucle, hasta que el modelo decide que ya tiene la respuesta.

recibe objetivo del usuario
piensa: "¿qué necesito hacer?"
decide: "voy a usar la herramienta X"
ejecuta la herramienta
observa el resultado
¿completo? ─► no → vuelve al paso 3
             sí → responde

Cada vuelta es una nueva llamada al LLM con el contexto acumulado. De ahí que los agentes consuman mucho más que un chat normal.

Patrones y frameworks

Los patrones describen cómo razona el agente. Los frameworks dan el andamiaje para no implementarlo desde cero.

Patrones de diseño

PatrónIdea
ReActRazona → Actúa → Observa, en ciclo
Orchestrator-WorkerUn agente dirige, otros ejecutan
Chain of ThoughtRazonar paso a paso antes de responder
Tool UseEl LLM elige y llama funciones externas

Frameworks populares

FrameworkStackCuándo
LangChainPython / JSIntegraciones, prototipado
CrewAIPythonEquipos de agentes
Claude CodeTerminalAgente de desarrollo
Vercel AI SDKJSApps web con streaming

Adelanto Clase 10: profundizaremos en cómo construir sistemas multi-agente serios, no juguetes.

Resumen de la Clase 9

ConceptoDefinición
Machine LearningSistemas que aprenden patrones a partir de datos
Deep LearningML con redes neuronales de muchas capas
LLMModelo grande de lenguaje entrenado para predecir texto
TransformerArquitectura base de todos los LLMs modernos
TokenFragmento de texto que el modelo procesa como unidad
PromptInstrucción o pregunta que envías al modelo
TemperaturaParámetro que controla la aleatoriedad de la salida
RAGInyectar contexto recuperado al prompt del LLM
AgenteSistema de IA que planifica, usa herramientas y actúa en bucle
Básico

Ejercicio 9.1: Clasificar tipos de IA

Siete sistemas, cinco categorías. Coloca cada uno donde corresponda y comprueba tu puntuación.

#1Filtro de spam entrenado con miles de emails etiquetados como "spam" y "no spam".

#2Sistema de recomendaciones que agrupa usuarios con gustos similares sin etiquetas previas.

#3Chatbot con respuestas pre-programadas tipo "si el usuario dice X, responde Y".

#4Modelo que genera imágenes realistas a partir de una descripción en texto (tipo DALL·E).

#5Programa que aprende a jugar ajedrez jugando millones de partidas contra sí mismo.

#6Traductor automático moderno tipo Google Translate o DeepL.

#7Sistema bancario que aprueba créditos con reglas "si ingresos > X y deuda < Y entonces aprobar".

Básico

Ejercicio 9.2: Prompt engineering

Para cuatro tareas, contrasta un prompt pobre con uno bueno. Pruébalos en ChatGPT o Claude y observa la diferencia en las respuestas.

Prompt pobre

0/5

Prompt bueno

0/5

Checklist heurístico

  • Define un rol"Eres un…"··
  • Da contexto suficiente≥ 80 caracteres··
  • Especifica formatolista, JSON, markdown…··
  • Pone restriccioneslongitud, stack, qué evitar··
  • Incluye ejemplos o inputfragmento de código, dato··
pobrebueno

Es solo una heurística textual. La calidad real se mide en la respuesta del LLM.

Edita los textos: la heurística marca cuántas piezas clave incluyes (rol, contexto, formato, restricciones, ejemplos).

Intermedio

Ejercicio 9.3: Tu primera integración con IA

Script en Node.js que recibe un fragmento de código y le pide al LLM un code review estructurado.

Requisitos

  • • Recibe el código como input (CLI o fichero)
  • • Lo envía al LLM pidiendo un code review
  • • El LLM devuelve: problemas, sugerencias, código corregido
  • • Muestra el resultado formateado en terminal
  • • API key vía process.env (.env + dotenv)

Código de prueba

function getData(url) {
  var data = fetch(url)
  data = JSON.parse(data)
  return data
}
 
function processUsers(users) {
  for (var i = 0; i < users.length; i++) {
    if (users[i].age > 18) {
      console.log(users[i].name + " is an adult")
    }
  }
}
Ver pista

Pide al modelo que devuelva la respuesta como unJSON con campos problemas,sugerencias y codigoCorregido. Así es trivial formatearla en la terminal.

Bonus: usa response_format: { type: "json_object" } (OpenAI) o instrucciones explícitas en el system prompt (Claude) para forzar JSON.

Avanzado

Ejercicio 9.4: Diseñar un agente (en papel)

Antes de programar agentes, hay que diseñarlos. Elige una opción y entrega un documento con: objetivo, 4-6 herramientas,flujo de decisión, system prompt y unejemplo de interacción.

Opción A · Soporte técnico

Agente que busca en documentación interna y escala a humano cuando no encuentra respuesta con confianza suficiente. Herramientas candidatas: búsqueda en KB, lectura de tickets pasados, creación de ticket, ping a un humano de guardia.

Opción B · Investigación de mercado

Agente que investiga un producto, analiza competidores y genera un reporte. Herramientas candidatas: búsqueda web, scraping, lectura PDF, cálculos, generador de gráficos, exportador a Markdown.

Plantilla de entrega

1. Objetivo en una frase.

2. Herramientas: nombre, input, output, cuándo usarla.

3. Flujo: diagrama o pseudocódigo del ciclo.

4. System prompt completo, listo para pegar.

5. Interacción de ejemplo: usuario → razonamientos → llamadas a herramientas → respuesta final.

🤖

Proyecto: Asistente de programación con IA

Una CLI interactiva que funciona como asistente de programación tirando de la API de un LLM real. Es el "Hello World" de las apps con IA.

Modos mínimos

  • explicar — explica un concepto técnico
  • revisar — code review de un fragmento
  • generar — genera código a partir de una descripción

Requisitos técnicos

  • • CLI interactiva (readline, inquirer, etc.)
  • • System prompt que defina al asistente
  • • Mantiene historial → contexto en cada turno
  • • Maneja errores: sin red, key inválida, rate limit
  • • API key en .env, nunca en el código

Criterios de evaluación

Checklist

  • ☑ Conecta con éxito a la API del LLM
  • ☑ Los 3 modos funcionan
  • ☑ Mantiene historial entre turnos
  • ☑ Maneja errores sin crashear
  • ☑ API key no hardcodeada
  • ☑ Prompts bien diseñados (rol, formato, restricciones)

Bonus

  • ⭐ Streaming de la respuesta token a token
  • ⭐ Colores en terminal (chalk, kleur)
  • ⭐ Persistir conversaciones en JSON
  • ⭐ Soporte para multi-modelo (flag --model)
  • ⭐ Conteo de tokens y coste estimado por sesión
📚

Para profundizar

Recursos para construir intuición real sobre IA y LLMs. No leas todo: elige uno por categoría y empieza por ahí.

📖 Fundamentos

  • Attention Is All You Need — Vaswani et al.
  • • 3Blue1Brown — serie sobre redes neuronales
  • • Andrej Karpathy — Neural Networks: Zero to Hero
  • The Illustrated Transformer — Jay Alammar

💬 LLMs en práctica

  • • Anthropic — Prompt Engineering Guide
  • • OpenAI Cookbook
  • Prompting Guide (promptingguide.ai)
  • • Karpathy — Intro to LLMs (1h vídeo)

🤖 Agentes

  • ReAct — Yao et al. (paper)
  • • Anthropic — Building effective agents
  • • LangChain · LangGraph · CrewAI (docs)
  • • Vercel AI SDK — agents quickstart

💻 SDKs y APIs

  • • docs.anthropic.com (API + tool use)
  • • platform.openai.com/docs
  • • ai.google.dev (Gemini)
  • • ollama.com (modelos open source locales)
Material complementario

El stack de la inteligencia artificial

Tokens, atención, prompts, temperatura, RAG, agentes. Con este vocabulario puedes leer un paper, integrar una API y discutir trade-offs con criterio. El resto es practicar.

Fragua Tech — Clase 9