Fase 1: Inteligencia Artificial

Contenidos

  • ¿Qué es un LLM? ¿Qué es la IA?
  • Evolución de la forma de trabajar con IA
  • LLM conversacionales (cloud)
  • LLM conversacionales (local)
  • Modelos de IA generativa de imagen

¿Qué es realmente la IA? Hay vida más allá de ChatGPT y Claude.

Desmitificación: «Voy a usar IA»

Rama Inicios Popular Descripción
IA ~1950 ~1980 Hacer tareas que requieren inteligencia humana
ML ~1960 ~2000 Aprender patrones desde datos (sin ser programados)
DL ~1980 ~2012 Usar redes neuronales para procesar información
👉 GenIA ~1960/~2014 ~2022 Crear contenido nuevo (texto, imagen, audio, video)
👉 LLM ~2017 ~2022 Grandes modelos entrenados para leer/generar textos
👉 Difusión ~2015 ~2022 Generar datos (I/A/V) aprendiendo a eliminar ruido

Redes neuronales

Categorías de la IA

Evolución en la forma de trabajar con IA

Año Estrategia Productos
2021 Autocompletado inteligente GitHub Copilot, TabNine, 💀 Kite...
2022 Chat para preguntar dudas ChatGPT, 💀 Phind, 🔄 Google Bard...
2023 Generación de código completo GPT4, Claude, Codex, CodeWhisperer...
2024 Vibe Coding / Vibe Learning Vercel V0, Bolt, Lovable...
2025 IDE asistidos de código (Copilotos) Cursor, WindSurf, Continue.dev...
2026 Modelos agénticos Claude Code, Gemini CLI...

Vibe Coding

  • Prueba-error hasta que funciona
  • Iterar rápido sin modelo mental
  • Confíar en intuición, no en conocimiento
  • Filosofía: «No funciona → Haz que funcione»


  • ✅ Muy rápido en fases iniciales
  • ✅ Resultados inmediatos
  • ❌ Poco control
  • ❌ Difícil hacer modificaciones
  • ❌ Riesgo alto a largo plazo

Vibe Learning

  • Pide explicaciones si es necesario
  • Mayor entendimiento que el Vibe Coding
  • Explora patrones, pero sin entender por qué
  • Filosofía: «No funciona → Explícame cómo arreglar esto»


  • ✅ Adquieres ciertos conocimientos
  • ✅ Algo más de control
  • ❌ No tan rápido como Vibe Coding
  • ❌ Requiere algo más de esfuerzo
  • ❌ Riesgo medio a largo plazo

  • Aplicar IA sin conocimientos / Aplicar IA con conocimientos → Resumen

Loros estocásticos

LLM: Large Language Model

  • 🧠 IA != Fuente de verdad: Tener claro como funciona la IA, cuando se debe y cuando NO se debe usar.
  • 🦜 Loros estocásticos: Repetir patrones estadísticos sin comprender
  • 🔮 Predicción de la siguiente palabra/token (no entienden, predicen)
  • 🟥 1 token ~ 0.75 palabras (en inglés) pero es muy variable → Token Calc / LLM Cost / LLM Calculator
  • 🌕 Contexto: Cuánta información puede «recordar» (prompt + system prompt + chat messages)
  • 🧠 ¿Una IA puede pensar o razonar?⬇ Prompt


Prueba este prompt

Tengo que llevar el coche a lavar. El local está a menos de 1km. ¿Me conviene ir en coche o caminando?

LLM vs Models

Conceptos

  • 🌡 Temperatura: Permite definir el nivel entre precisión-creatividad
  • ➡ Prompt: Input, texto que escribes donde defines tu objetivo
  • ⬅ Respuesta: Output, texto que responde a tu prompt
  • 👻 Alucinaciones: Errores (fallos al procesar) que producen información inventada
  • 🔒 Prompt Injection: Formas inesperadas de inyectar órdenes para el modelo → Prompt Injection
  • 🛡 Seguridad/Privacidad: Sé consciente de los datos que envías (evita claves, datos sensibles...)

  • 🙈 Sesgo: En los datos de entrenamiento → ⬇ Prompt
  • 🧠 Modelo: Máquina que decide como predecir los tokens, basado en el historial y su entrenamiento.
  • 🔢 Modelos cuantizados: Modelos con menos precisión numérica. Más pequeño y rápido, pérdida mínima de rendimiento.
  • 🍷 Modelos destilados: Modelo más pequeño entrenado para imitar un modelo más grande.
Prompt

Dime un número al azar del 1 al 10073?

Compañías




  • ✅ No requiere que tengas hardware potente
  • ✅ Modelos más potentes
  • ✅ Multimodales (texto, imagen, audio, video...)
  • ❌ Necesita conexión a Internet
  • ❌ Coste/Dependencia (APIs o suscripciones)
  • ❌ Privacidad (tus datos viajan al proveedor)

Modelos (planes)

Nombre del modelo OSS? Propietarios Precio aprox (cada 1M tokens)
MiniMax M2.5 💖 MiniMax (startup) Input: $0.30 / Output: $1.20
GLM 5 💖 Z.ai Input: $0.60 / Output: $2.20
Kimi K2.5 💖 Moonshot/Kimi Team Input: $0.60 / Output: $3.00
Qwen3 Coder 480B 💛 Alibaba Input: $0.45 / Output: $1.80
Claude Sonnet 4.5 ❌ Anthropic Input: $3.00 / Output: $15.00
Claude Opus 4.6 ❌ Anthropic Input: $5.00 / Output: $25.00
Gemini 3 Pro ❌ Google Input: $2.00 / Output: $12.00
Gemini 3 Flash ❌ Google Input: $0.50 / Output: $3.00
GPT 5.2 ❌ OpenAI Input: $1.75 / Output: $14.00
GPT 5.2 Codex ❌ OpenAI Input: $1.75 / Output: $14.00
  • Las compañías suelen tener varios modelos/versiones → OpenRouter Ranking

  • Los precios se calculan cada 1 millón de tokens y se dividen en input (prompts) y output (respuestas) → Models.dev / LLM Explorer

  • Los prompts son más baratos cuando son cacheados (se pide varias veces exactamente el mismo prompt).

Herramientas para agentes

  • OpenCode: Open Source, moderno, eficiente
    Recomendado: Plan OpenCode Zen
  • Claude Code: Herramienta oficial de Claude
    ❌ No es open source
  • Crush: Muy eficiente, de la gente de Charm
  • Cline-CLI: Trabaja con agentes desde terminal
  • Goose: Open Source, de los primeros
  • AmpCode: Permite uso de modelos de forma gratuita mostrando anuncios

OpenCode

OpenCode


Para instalar opencode simplemente escribe:

curl -fsSL https://opencode.ai/install | bash
  • Si llevas mucho sin usarlo, con opencode upgrade actualizas a la última versión.
  • Al ejecutar opencode, el sistema tiene acceso sólo a la carpeta donde lo abras. Asegurate abrirlo en el raíz del proyecto.

OpenCode



  • CTRL+P / Switch Model → Cambiar de modelo
  • TAB Cambiar modo Plan ↔ Build
  • Plan: Analiza y te da información interesante. SIN cambios.
  • Build: Actúa. Crea, realiza cambios o refactorizaciones.
  • En la caja central puedes escribir el prompt para el agente.
  • ❌ "Arréglalo" / "Haz que funcione" ✅ Entiende que falla.
  • CTRL++ Moverte entre palabras del prompt
  • ! Ejecuta un comando en el contexto !ls -lh

OpenCode



  • Prompt → Crea una estructura de carpetas de un proyecto Javascript vanilla
  • Localiza la zona superior derecha (en ella aparece el tamaño del contexto y el gasto de tokens)
  • Revisa bien el output para asegurar que es todo correcto. Toma nota de lo incorrecto para pedir cambios (el ratón funciona).
  • Itera: Prompt → Revisa output/feedback → Corrige → Repite

  • Si no te convence trabajar en terminal (que debería), el comando opencode web abre una interfaz web.

AGENTS.md

# Estructura del proyecto

- Proyecto JS vanilla moderno, ESM, legible, librerías pequeñas (a ser posible sin dependencias).
- Usamos WebComponents nativos en lugar de componentes de otros frameworks. Usaremos APIs modernas como CSSStyleSheet, setHTMLUnsafe() e imports attributes con `with`.
- Utilizaremos `servor` como servidor local de desarrollo con `npm run dev`.
- Los archivos fuentes, incluido el punto de entrada `index.html` deben estar dentro de `src/`
- Preferiremos un fichero `.test.js` en la misma ubicación de cada `.js`. No usar carpeta global `tests/`.
- La carpeta `src/components/` incluirá los componentes. Si son varios archivos, los guardaremos en subcarpetas relacionadas.
- Los estilos globales y clases de utilidad se guardarán en una carpeta `src/css` y un fichero `index.css`. Se preferirá estilos locales al componente siempre que se pueda.
- Intentar evitar uso de carpeta `src/utils`. Usar `src/modules` para módulos JS globales o de utilidad.
- La ruta de `assets` se llamará `public`.

OpenCode

  • Revisa bien el output para detectar y localizar incoherencias o alucinaciones.
  • Si estás satisfecho, haz un commit en git para guardar cambios y establecer puntos de control.
  • Escribiendo / podemos hacer referencia a comandos. Ej: /export guarda un .md con la transcripción de la sesión.
  • Escribiendo @ podemos hacer referencia a ficheros concretos. Ej: Revisa el @package.json y añade scripts útiles.

  • ⚠️ Recuerda: La herramienta puede realizar acciones en tu disco, descargar archivos y envíar datos a los servidores del modelo que uses. Puedes cambiar permisos.

OpenCode

  • Editamos ~/.opencode/commands/refactor.md
---
description: Refactoriza el código
agent: build
model: opencode/kimi-k2.5
---
Refactoriza el código para hacerlo más compacto, legible y reutilizable.


  • Escribiendo /compact compacta el contexto (y de paso hace un resumen del output). Útil para resumir y ahorrar.
  • Escribiendo /undo puedes deshacer el último mensaje y revertir los cambios rapidamente.
  • Escribiendo /thinking puedes ocultar/mostrar el razonamiento del modelo (pensamientos).
  • Escribiendo /timeline puedes ver rápidamente un acceso directo a acciones sobre los mensajes anteriores.
  • Podemos crear nuestros propios comandos personalizados.
  • El comando ccusage pnpm dlx @ccusage/opencode nos puede ayudar a revisar los tokens/coste consumido.

SKILL.md



  • pnpx skills find ____ permite buscar skills para instalar.
  • pnpx skills add ____/____ permite instalar un skill.
  • pnpx skills list muestra los skills instalados en el proyecto.
  • pnpx skills remove elimina los skills seleccionados.



  • pnpx skills add https://github.com/ManzDev/web-core/skills/web-components/

  • También tienes plugins para OpenCode

Ollama

LLM (Modalidad Local)

  • Google: Gemma / TranslateGemma
  • Alibaba: Qwen
  • Deepseek: Deepseek-R1
  • OpenAI: GPT-OSS

  • Ver otros modelos

Tamaño modelo VRAM RAM Velocidad
1B - 3B 4GB 8GB ⚡⚡⚡ Rápido
7B - 8B 8GB 16GB ⚡⚡ Medio
13B - 14B 16GB 32GB ⚡ Lento
30B+ 24GB+ 64GB+ 🐌 Muy lento




  • ✅ Privacidad (los datos no salen de tu máquina)
  • ✅ Sin costes recurrentes (trabajas con tu GPU)
  • ✅ No requiere Internet
  • ❌ Requiere un hardware muy potente
  • ❌ Requiere más conocimiento/experiencia

Instalación de Ollama

# Instalar Ollama en WSL
curl -fsSL https://ollama.com/install.sh | sh

# Comprueba si se instaló
ollama --version

# Consulta como ve la IP del host y añadela a /home/manz/.config/fish/config.fish
ip route show default
set -x OLLAMA_HOST 172.21.0.1:11434
# Lista los modelos LLM locales que tenemos
ollama list

# Descargamos un modelo concreto
ollama pull gemma3:4b

# Ejecutamos un modelo y abrimos una sesión
ollama run gemma3:4b
ollama run gemma3:4b "Explicame de forma muy breve que es CSS"  # Directamente
ollama run --verbose gemma3:4b "Hola mundo" # Nos dice los tokens/segundo del modelo
# Vamos a crear un script
nano /usr/local/bin/llm
#!/bin/bash

MODEL="gemma3:4b-it-q4_K_M"
QUESTION="$@"

# Alternativa a glow: bat --style=plain -l md --paging=never
ollama run $MODEL "$QUESTION. Responde en español. Sé breve en la respuesta." | glow -

Conectar Ollama con OpenCode

  • OJO: Necesitas un buen equipo (CPU/RAM/GPU) y configuración o será bastante lento
  • Para tareas agénticas, necesitas modelos que soporten tool
# Lanzamos el configurador (ENTER=selecciona, SPACE=continuar)
ollama launch opencode --config
Select models for OpenCode:
  >  [x] glm-4.7-flash:q4_K_M (default)
     [x] qwen2.5-coder:7b-instruct-q4_K_M
     [x] qwen3-coder:latest
     [x] qwen3:4b-instruct-2507-q4_K_M
     [x] qwen3:8b
     [ ] gemma3:12b-it-q4_K_M
  ... and 15 more

Memoria LLM

Creación de modelos Ollama (Avanzado)

  • Buscar colecciones de .gguff en HuggingFace (Unsloth, por ejemplo)
  • Descargar una versión cuantizada, para que sea más rápida y eficiente
# Descargamos el modelo .gguf en nuestro equipo
mkdir -p ~/.ollama/gguf
wget "DOWNLOAD_URL_GGUF_FILE" -O ~/.ollama/gguf/glm-4.7-flash-q6.gguf

# Creamos un fichero Modelfile
nano Modelfile
FROM ~/.ollama/gguf/glm-4.7-flash-q6.gguf
PARAMETER temperature 0.9
PARAMETER top_p 0.95
PARAMETER repeat_penalty 1.0
# Ahora, podemos crear nuestro modelo de ollama
ollama create glm-4.7-flash-local -f Modelfile

# Una vez terminado, podemos ejecutar ese modelo
ollama run glm-4.7-flash-local "Aquí el prompt deseado para utilizar"

IA generativa de imagen

Entrenamiento

Conceptos

  • 1- Entrenamiento: Muchísimas imágenes → asociación de números a conceptos
  • 2- Difusión: A esos conceptos se le añade ruido (difusión) para hacerlas irreconocibles
  • 3- Generación: Partiendo de una nube de ruido, se le aplican pasos inversos aprendidos para eliminar ruido

Plataformas (Cloud)

Modelos

Instalación ComfyUI

# Instalación python
sudo apt install python3-full python3 python3-pip

# Crear entorno virtual
python3 -m venv ~/.python

# Activar el entorno
source ~/.python/bin/activate
# Instalación ComfyUI
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt
# Arrancar ComfyUI
python main.py

# Arrancar ComfyUI con recursos limitados
python main.py --medvram

# Arrancar ComfyUI con recursos mínimos
python main.py --lowvram

Conceptos (II)

  • T2I: Text to image → Prompt para conseguir una imagen
  • I2I: Image to image → Prompt + Imagen para conseguir imagen relacionada
  • T2A: Text to audio → Prompt para conseguir audio
  • T2V: Text to video → Prompt para conseguir un video
  • I2V: Image to video → Prompt + Imagen para conseguir video relacionado

I2I: Workflow de RMBG (fácil)

  • Load Image → Remove Background (RMBG) → Grow Mask → Invert Mask → Join Image with Alpha

Workflow RMBG

Conceptos (II)

  • 📦 Checkpoint: Ficheros «todo-en-uno» con todo lo necesario. .ckpt o .safetensors
  • 🌀 Modelos de Difusión: Modelo para hacer «denoising» (eliminar ruido) .safetensors o .gguf
  • 📎 CLIP: Modelo para entender relación texto-imagen (interpreta el prompt) .safetensors o .gguf
  • 💬 VAE: Traductor entre imágenes reales y espacio latente (conceptos comprimidos) .safetensors



HuggingFace:

T2I: Workflow de Stable Diffusion (medio)

  • Checkpoint → CLIP → KSampler → VAE Decode → Image

Workflow SD

Conceptos (III)

  • 🏍️ Sampler: Motor de muestreo. Conversor de ruido en imagen
  • 🌻 Semilla: Valor numérico para añadir aleatoriedad a la imagen
  • 👞 Pasos (steps): Número de pasos para trabajar la imagen
  • 🎨 Guía (cfg): Equilibrio entre Creatividad (menos fiel al prompt) y Fidelidad (+ fiel al prompt)
  • 🔋 Sampler/Scheduler: Algoritmo para hacer funcionar el motor
  • 🔮 LoRA (Low-Rank Adaptation): Parches para modificar el estilo base del modelo.



HuggingFace:

T2I: Workflow de Z Image Turbo (medio)

  • Load Image → Ollama → Load Model + CLIP + Lora + VAE → Prompt → KSampler → Image

Z-Image Turbo Workflow

I2I: Workflow de Qwen Image Edit (avanzado)

  • Load Image → Ollama → Load Model + CLIP + Lora + VAE → Prompt → KSampler → Image

Qwen Image Workflow


(Original image)


A black robot cat in a car on road with fast movement


Set black robot cat resting on white hammock in beach


Turn black robot cat to lateral side view on dark background bokeh


Set black robot cat as clown with red nose, clown wig and large shoes. Circus background bokeh


Set an army of black cat robots walking in a street, warlike atmosphere, destruction

Herramientas útiles

Preguntas