Copiado ✓
Comunidad  /  Recursos  /  Loops con DeepSeek
Framework práctico

Loops: haz que la IA trabaje sola, sin vigilarla a cada paso

Hasta ahora le has hablado a la IA turno por turno: le pides algo, revisas, le pides lo siguiente. Un loop es distinto — armas un sistema que le pide a la IA lo que falta, revisa el resultado y decide solo cuándo terminó. Aquí aprendes el framework y lo construyes con DeepSeek, el modelo de IA más barato del mercado (desde $0.14 USD por millón de palabras procesadas).

20 minutos Nivel intermedio No necesitas saber programar

Qué necesitas: el mismo servidor y la misma terminal que usaste en Construye tu sistema IA (no hace falta instalar nada nuevo), y una cuenta en platform.deepseek.com para tu clave de API.

1

De promptear a diseñar loops

Promptear es pedirle a la IA una cosa a la vez y supervisar cada paso: tú eres el motor y el cuello de botella. Un loop cambia el rol: dejas de ejecutar cada turno y pasas a definir la meta, dejar que la IA trabaje sola varias vueltas, y verificar solo cuándo terminó de verdad.

Boris Cherny, el creador de Claude Code (el asistente de programación de Anthropic), lo resumió así en junio de 2026: "Ya no le hago prompts a la IA. Tengo loops corriendo — mi trabajo es escribir loops." El apalancamiento no es que la IA piense mejor: es que tú dejas de ser el cuello de botella de cada paso.

Pero solo es seguro con tres condiciones: la meta se puede comprobar sin opinión humana, quien revisa el trabajo no es quien lo hizo, y hay un freno de gasto que corta el loop antes de que se descontrole. Sin esas tres cosas, un loop es un desastre — pero automático y cobrándote cada vuelta.

2

El framework: 5 piezas que todo loop necesita

Cualquier loop bien diseñado — lo llames como lo llames — tiene estas cinco piezas. Si falta una, el loop falla de forma predecible (casi siempre por la última: nadie define cuándo parar).

D

Disparador

Qué arranca cada vuelta: un evento (llega un mensaje), un horario (cada día a las 9am) o tú mismo apretando "ejecutar".

A

Agente

Quien ejecuta el trabajo — en este caso, DeepSeek respondiendo a un prompt con instrucciones claras.

M

Meta verificable

El resultado final, no el proceso — y debe poder comprobarse SIN que un humano opine: "el archivo existe", "la respuesta contiene la palabra X", "el número llegó a 10".

E

Estado

Dónde vive la memoria entre una vuelta y la siguiente: NO es el chat — es una hoja de cálculo, un archivo o una base de datos que el loop lee y actualiza cada vez.

V

Verificación + presupuesto

La pieza que casi todos olvidan: tope de vueltas, tope de gasto en dólares, y quién decide "ya terminó" — nunca la propia IA que hizo el trabajo.

3

¿Loop con fin, o loop de vigilancia?

Antes de construir, decide qué tipo de loop necesitas — cambia todo el diseño:

Loop ACOTADO

Trabaja vuelta tras vuelta hasta cumplir una meta y se detiene solo. Ejemplo: "redacta 20 descripciones de producto, una por vuelta, hasta que las 20 estén en la hoja de cálculo".

Loop DE VIGILANCIA

Se repite cada cierto tiempo, sin fin, revisando algo. Ejemplo: "cada mañana revisa si hay reseñas nuevas y redacta una respuesta borrador".

Regla rápida: si puedes terminar la frase "esto para cuando ___" con algo comprobable, es acotado. Si la frase es "cada ___ revisa ___", es de vigilancia.

4

La regla de oro: quien produce nunca se aprueba a sí mismo

Si la misma IA que hizo el trabajo es la que decide "quedó bien", va a decir que sí casi siempre — no porque mienta, sino porque optimiza lo que tú le pediste medir, no la realidad (los expertos lo llaman Ley de Goodhart). La corrección es simple: separar quien produce (maker) de quien revisa (auditor).

Con DeepSeek lo logras con dos llamadas separadas: una que produce el trabajo, y otra — con un prompt distinto, que nunca ve cómo se hizo el trabajo — que solo revisa si cumple la meta. Si puedes, usa un segundo modelo para el auditor (por ejemplo ChatGPT o Gemini); si no, dos llamadas a DeepSeek con roles claramente separados ya es mucho mejor que una sola IA aprobándose a sí misma.

Cuándo NO usar un loop: si es una sola tarea (una imagen, un correo) — ahí un prompt directo basta. Si no hay forma de comprobar el resultado sin opinar. O si la acción es de alto riesgo sin humano de por medio (cobrar dinero, borrar datos, escribirle a un cliente real, publicar en redes) — eso necesita aprobación humana en el medio, nunca un loop corriendo solo.

5

Construye tu primer loop con DeepSeek V4

DeepSeek lanzó en abril de 2026 su nueva generación V4 — según sus propias pruebas, compite con Opus 4.6 a una fracción del costo. Vive en dos versiones: deepseek-v4-flash (rápida y barata) y deepseek-v4-pro (su inteligencia más potente). No necesitas ninguna herramienta nueva: construyes el loop con un script simple en el mismo servidor donde ya instalaste Claude Code, programado con cron (el reloj del servidor que ya usa tu sistema).

a) Consigue tu clave de API

b) Elige el modelo

Los nombres antiguos deepseek-chat y deepseek-reasoner dejan de funcionar el 24 de julio de 2026 — usa siempre uno de estos dos:

uso recomendado
Tareas repetitivas y de alto volumen: redactar, clasificar, revisar.
Precio: ~$0.14 USD por millón de palabras de entrada, $0.28 de salida.
Ideal para: la mayoría de tus loops — es el que usarás casi siempre.

c) El script que hace el trabajo (maker + auditor)

Entra a la terminal de tu servidor y crea una carpeta para tu loop:

bash
$ mkdir -p ~/loops/mi-loop && cd ~/loops/mi-loop
$ sudo apt install -y jq   # para leer la respuesta de la API
$ nano run-loop.sh

Pega este script — es tu loop completo: llama al maker (produce), luego al auditor (revisa, sin haber visto cómo se hizo), y solo marca la tarea como hecha si el auditor aprueba:

run-loop.sh
#!/bin/bash
cd ~/loops/mi-loop
API_KEY="tu_clave_aqui"
MODELO="deepseek-v4-flash"
MAX_ITER=25
# --- freno de emergencia: crea un archivo llamado STOP para detener todo ---
[ -f STOP ] && { echo "Detenido por freno de emergencia"; exit 0; }
# --- tope de vueltas ---
ITER=$(cat iter.txt 2>/dev/null || echo 0)
[ "$ITER" -ge "$MAX_ITER" ] && { echo "Tope de vueltas alcanzado, revisa a mano"; exit 0; }
# --- toma la primera tarea pendiente del archivo tareas.txt ---
TAREA=$(grep -m1 "^pendiente:" tareas.txt | sed 's/^pendiente: //')
[ -z "$TAREA" ] && { echo "No hay tareas pendientes"; exit 0; }
# --- MAKER: produce el trabajo ---
RESPUESTA=$(curl -s https://api.deepseek.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" \
  -d "{\"model\":\"$MODELO\",\"messages\":[{\"role\":\"system\",\"content\":\"Escribe lo que se te pide, directo y claro.\"},{\"role\":\"user\",\"content\":\"$TAREA\"}]}" \
  | jq -r '.choices[0].message.content')
# --- AUDITOR: revisa SIN saber cómo se hizo, con SUS PROPIOS criterios ---
VEREDICTO=$(curl -s https://api.deepseek.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" \
  -d "{\"model\":\"$MODELO\",\"messages\":[{\"role\":\"system\",\"content\":\"Responde SOLO 'SI' o 'NO': ¿este texto cumple lo pedido, es correcto y no inventa nada? Texto:\"},{\"role\":\"user\",\"content\":\"$RESPUESTA\"}]}" \
  | jq -r '.choices[0].message.content')
# --- decide y guarda el estado ---
if echo "$VEREDICTO" | grep -qi "^SI"; then
  echo "$(date) HECHO: $TAREA -> $RESPUESTA" >> progreso.log
  sed -i "0,/^pendiente: $TAREA/{s/^pendiente:/hecho:/}" tareas.txt
else
  echo "$(date) RECHAZADO: $TAREA -> $VEREDICTO" >> progreso.log
fi
echo $((ITER+1)) > iter.txt

Guarda (Ctrl+O, Enter, Ctrl+X en nano) y dale permiso de ejecución:

bash
$ chmod +x run-loop.sh
$ nano tareas.txt   # escribe una tarea por línea, así: pendiente: redacta un correo de bienvenida

d) El estado — dónde vive la memoria entre vueltas

Todo queda en tu propio servidor, en la misma carpeta: tareas.txt (qué falta y qué ya está hecho), progreso.log (el historial de cada vuelta) e iter.txt (el contador de vueltas). Puedes leerlos en cualquier momento con cat progreso.log — esa es tu forma de comprobar que el loop de verdad avanza.

e) El disparador — prográmalo con cron

Para que corra solo cada cierto tiempo (por ejemplo, cada 10 minutos, una tarea por vuelta, hasta que se acaben o llegue al tope):

bash
$ crontab -e
# agrega esta línea al final del archivo y guarda:
*/10 * * * * ~/loops/mi-loop/run-loop.sh
6

Los guardarraíles: no son opcionales

Un loop mal cuidado puede seguir gastando y produciendo basura sin que te des cuenta — el fallo más peligroso es que parezca que sigue funcionando. Antes de dejarlo corriendo sin supervisión:

Plantilla — Meta Verificable (cópiala antes de construir cualquier loop)

plantilla
OBJETIVO (una frase, resultado final, no el proceso): _____

CRITERIOS QUE SE PUEDEN COMPROBAR (todos deben cumplirse):
[ ] _____________________________________________
[ ] _____________________________________________
[ ] _____________________________________________

QUIÉN AUDITA (distinto de quien produce): _____

TOPES DUROS:
- Máximo de vueltas: _____
- Máximo de gasto (USD): _____
- Si se traba, avisa a: _____

NO uso loop si: la tarea es de un solo paso, no hay forma de comprobar el
resultado sin opinar, o la acción es riesgosa sin un humano de por medio.

¿Algo salió mal?

Listo. Ya sabes diseñar tu primer loop 🔁

Empieza pequeño: 5-10 vueltas de prueba, con tope de gasto bajo, antes de dejarlo corriendo solo.

Volver a mis recursos