Programar con IA, en serio

LLMs + Workflows

Del modelo al obrero de software: córrelo donde estés, dale manos, y ponlo a trabajar con un workflow.

Benjamín· tuquipu.com· llama.cpp· QuipuFlow
presiona → para comenzar
El plan

Tres cosas que casi nadie explica

ACTO 01

El modelo

Correr un LLM donde tú estés — 8 GB, 16 GB o un VPS. Cuantización, KV cache y MoE.

ACTO 02

Darle manos

Tool use: cómo un generador de texto escribe archivos y corre comandos.

ACTO 03

El workflow

QuipuFlow: roles, briefs y control por diseño — el modelo convertido en trabajo real.

1
Acto 1

El modelo

Correr un LLM con lo que ya tienes. Tres trucos.

Acto 1 · La posibilidad

Lo que un LLM ya puede
hacer por ti

COPILOTO

Escribir código contigo

Autocompleta, refactoriza y explica — dentro de tu editor.

CONOCIMIENTO

Chatear con tus documentos

Contratos, manuales, código — sin que nada salga de tu control.

AUTOMATIZACIÓN

Trabajo en lote

Resumir, clasificar, redactar — mil veces, sin pagar por token.

AGENTES

Ejecutar tareas de verdad

El obrero de esta charla: un modelo que trabaja, no que opina.

Todo esto, con modelos abiertos. La pregunta no es cuánta máquina tienes — es cómo los pones a trabajar.

Acto 1 · El motor

llama.cpp + GGUF

  • Motor de inferencia en C/C++ — sin Python, sin frameworks pesados
  • GGUF: un solo archivo — pesos empaquetados y cuantizados, mapeados a memoria
  • Reparte capas entre GPU y CPU — tú decides con -ngl
  • Es lo que corre debajo de Ollama y LM Studio — aprenderlo es entender qué hacen por ti
llama-server
$ llama-server -m qwen3.8-27B.gguf -ngl 99 --port 8117
Acto 1 · Truco nº 1

De 16 bits a 4

fp16 · 16 bits por peso
4 bits · 4× más ligero

Pierdes una precisión casi imperceptible. Ganas que quepa.

Q4_K_M Q3_K_XL bits por peso + qué capas se protegen

Así, un modelo que nació para un servidor termina corriendo en una computadora de escritorio — con sitio de sobra para el contexto.

Acto 1 · Truco nº 2

El otro devorador de VRAM

Cada token procesado guarda sus keys y values para no recalcular el pasado. Ese cache crece con el largo del contexto — no con el modelo.

contexto largo · cache sin cuantizardesborda
pesos + cache desbordan la VRAM
mismo contexto · cache cuantizadocabe
✓ mitad o menos de consumo, pérdida mínima
--cache-type-k q8_0 --cache-type-v q5_0 mis scripts reales
Acto 1 · La joya

MoE: expertos en RAM,
atención en GPU

por cada token se encienden ~8 de 128 expertos — y cada token, expertos distintos
MoE offload
$ llama-server -m moe-gigante.gguf -ngl 99 --n-cpu-moe 20
# o por regex:  --override-tensor 'ffn_.*_exps=CPU'

Todos los expertos deben estar en memoria — pero no todos en la VRAM. Los expertos van a la RAM; la atención se queda en la GPU. Más lento que en VRAM pura — pero posible. Y posible es toda la diferencia.

Acto 1 · Menciones de honor

Cada una es otra charla

UNSLOTH

Fine-tuning eficiente

Afinar modelos hasta 2× más rápido y con menos VRAM. Sus quants «dynamic» protegen las capas críticas del modelo.

MTP / SPEC. DECODING

Varios tokens por paso

Un modelo pequeño propone, el grande verifica en una sola pasada. Velocidad casi gratis, misma calidad.

Acto 1 · Resumen
pesos en 4 bits+ cache cuantizado+ expertos en RAM=

Un modelo capaz,
con lo que ya tienes.

Ya cabe. Ya responde. Pero todavía solo habla. Ahora hay que darle manos.

2
Acto 2

Darle manos

Tool use: el secreto detrás de la palabra «agente».

Acto 2 · El malentendido

El modelo no escribe archivos.

No corre comandos.

Solo genera texto.

Entonces… ¿cómo es que «el agente» crea carpetas, edita código y ejecuta builds?

Acto 2 · Tool use

Le describes herramientas…

…y le pides que, cuando quiera usar una, no conteste en prosa: que devuelva un JSON con su intención.

salida del modelo — sigue siendo texto
{
  "tool": "write_file",
  "path": "src/views/CosteoView.vue",
  "content": "<template>…</template>"
}
write_file run_command list_dir mkdir
Acto 2 · Quién ejecuta

El modelo propone.
El harness dispone.

Modelo

genera el JSON

Harness

parsea y valida

Sistema real

disco · terminal · navegador

Resultado

vuelve al modelo

El programa que envuelve al modelo ejecuta la función real: abre el archivo, corre el comando. El modelo nunca toca el disco. Crear una carpeta es una herramienta. Correr un test es una herramienta.

Acto 2 · El nacimiento del agente

El loop agéntico

01

Propone

emite una tool call

02

Ejecuta

el harness corre la acción

03

Observa

recibe el resultado — o el error

04

Decide

siguiente paso, corrección… o «terminé»

repite hasta terminar

Eso — y nada más — es un «agente». No hay magia. Hay un bucle.

Acto 2 · El peligro

Con run_command sin límites…

…puede hacer cualquier cosa: borrar archivos, tocar producción, salirse del proyecto.

Por eso el diseño importa: dónde actúa, qué herramientas tiene, qué le está prohibido.

aislamiento permisos → Acto 3
3
Acto 3

El workflow

QuipuFlow · roles, briefs y control · un ERP en producción.

Acto 3 · La cuadrilla

Una obra de construcción

Arquitecto

Claude

Diseña, escribe el brief, audita el diff. No pone ladrillos: no escribe código.

Director

yo

Da la orden. Firma cada avance. Nada llega a la rama sin su visto bueno.

Obrero

modelo en mi GPU

qwen38 vía OpenCode. Ejecuta la tarea — solo dentro de su caja aislada.

Acto 3 · El flujo

Siete pasos, cero confianza ciega

  1. Orden en lenguaje natural — del director
  2. Planos: .worker-brief.md — objetivo, permitido, prohibido, criterios
  3. Worktree aislado — copia del repo, caja de arena
  4. El obrero ejecuta — solo dentro de la caja
  5. Auditoría del diff — línea por línea, como el PR de un junior
  6. Tests y verificación — gates antes de tocar nada real
  7. Commit — firmado por el arquitecto, nunca por el obrero

El brief es la única fuente de contexto del obrero: no conoce las convenciones del proyecto — solo lo que dicen sus planos.

Acto 3 · Demo

El obrero, trabajando de verdad

worker-costeo · registro real · SQ-168
$ opencode run --dir /tmp/oc-worker-SQ-168 --auto "Lee .worker-brief.md y ejecuta" brief leído — 3 archivos permitidos 6 ediciones · 1 componente nuevo (CosteoView.vue) npm run build — 2 515 módulos · 18.13 s validación en navegador (Playwright) — click a click— el obrero nunca salió de su worktree 

No es un ejemplo de laboratorio: es el registro de una feature real de costeo en mi ERP. Un modelo, las herramientas que le di, su caja aislada. Y todo esto corre en una GPU de gamer de 16 GB — la prueba, no el requisito.

Acto 3 · El remate

El control no es confianza.

Es diseño.

El arquitecto tiene las herramientas de escribir código removidas: no puede tocar una línea ni aunque se lo ordene. El obrero no puede hacer commit ni salir de su worktree.

El sistema no espera que la IA se porte bien. Está diseñado para que no pueda portarse mal.

Acto 3 · Un detalle

A un obrero nuevo no lo sueltas:
primero, el manual

llms.txt

raíz · el mapa

módulo

su llms.txt

capa

su llms.txt

archivos

recién ahora

Consumir el índice antes que los archivos: menos tokens, mejor orientación. Mi estándar wake-up.

Hacia dónde va

Que la obra avance
mientras duermo

Un alter ego en un VPS: el mismo patrón que acaban de ver — director, arquitecto, cuadrilla — corriendo sin mí.

El obrero no vive en el hardware: vive en el workflow. No es ciencia ficción — es el siguiente paso.

El futuro no es de quien
usa la IA.

Es de quien sabe dirigirla.

Gracias

Benjamín·tuquipu.com
llama.cpp OpenCode Claude Code QuipuFlow
¡Hola!

Notas del expositor