PTENES
MÓDULO 4-1

🧱 Desde cero hasta el primer Jarvis (la receta mínima)

Ya entendiste las piezas (Trilha 3). Ahora vamos a armarlo. Este módulo te da la receta mínima — el «hello world» de un Jarvis — y el orden correcto para apilar las piezas: los 5 Build Levels. Aprenderás a construir CON una IA y a probar cada pieza antes de continuar, en vez de armarlo todo de una vez y rezar.

6
Temas
~45
Minutos
Intermedio
Nivel
Práctico
Tipo
1

🧱 La receta mínima

Existe la tentación de empezar en grande: voz, diez integraciones, subagentes, un panel bonito. Ese es el camino más rápido para abandonar. Jarvis nace mucho más pequeño de lo que imaginas. La receta mínima tiene exactamente cinco ingredientes, ni uno más. Si solo una de esas piezas está en su lugar, ya tienes un asistente que conversa de verdad y que puede crecer de forma segura.

🍳 Los 5 ingredientes del "hello world" de Jarvis

  • 1.Un canal — la puerta por la que hablas con él. Usa Telegram: solo necesitas un token, sin exponer un servidor.
  • 2.Un cerebro — un único modelo de IA (LLM) detrás, en la nube o local. Uno solo, no tres.
  • 3.Uno soul.md — un archivo de texto que dice quién es (nombre, tono, valores).
  • 4.El bucle agéntico — el ciclo «piensa → actúa → lee el resultado → responde» que vimos en la Ruta 1.
  • 5.Una herramienta — una sola (p. ej., buscar en la web). Le da una «mano» para hacer algo en el mundo.

Fíjate en lo que no está en la lista: voz, múltiples canales, banco vectorial, diez plugins, dashboard. Todo eso es legítimo, pero viene después. El principio que organiza toda la ruta es brick-by-brick (ladrillo por ladrillo): construye una pieza, comprueba que funciona y solo entonces añade la siguiente. Es lo contrario de volcarlo todo en un archivo gigante y cruzar los dedos para que funcione.

¿Eres nuevo aquí? "Brick-by-brick" (literalmente, «ladrillo por ladrillo») y es la filosofía de construir software en pequeños bloques comprobables, uno a la vez. Cada bloque que entiendes y pruebas se convierte en una base sólida para el siguiente. Lo contrario —pegar 100 mil líneas que nadie leyó— fue exactamente el problema de los sistemas inflados que vimos en la Trilha 2.

Conceptos clave

Receta mínima

Canal + cerebro + soul + loop + 1 herramienta. Nada más.

Hello world

El Jarvis más pequeño que ya «vive» y responde de verdad.

Brick-by-brick

Construir y probar un ladrillo antes de apilar el siguiente.

Bucle agéntico

El ciclo piensa-actúa-responde, el corazón que ya vimos en la Ruta 1.

2

🪜 Los 5 Build Levels

La receta mínima dice lo que entra. Los Build Levels dicen en qué orden. Son cinco peldaños y el orden importa: cada uno solo tiene sentido si el anterior ya funciona. No le das voz a un bot que todavía no responde, ni cron a un bot que todavía no tiene memoria. Subir un peldaño a la vez convierte un proyecto abrumador en cinco tareas pequeñas y celebrables.

Construye de abajo hacia arriba: un peldaño a la vez L1 · Foundation el bot responde L2 · Memory recuerda L3 · Voice habla/escucha L4 · Tools / MCP actúa en el mundo L5 · Heartbeat actúa por su cuenta

Cada escalón solo es seguro de subir cuando el de abajo ya funciona. En ámbar, los niveles que estás creando ahora (Foundation y Memory, en este módulo); en cian, los que verás en los recorridos 3 y 5 (voz, herramientas) y completan la cadencia (heartbeat).

1

Foundation — responde

Bot de Telegram conectado a un modelo. Le mandas «hola» y te responde. Eso ya demuestra canal + cerebro + bucle.

2

Memory — recuerda

Agrega el soul.md (quién es) + una base de conversaciones. Deja de tratarte como a un desconocido en cada mensaje.

3

Voice — habla y escucha

Los mensajes de audio entran (transcripción) y salen (voz). Es la Trilha 5 — opcional, se decide en runtime.

4

Tools / MCP — actúa en el mundo

Conecta herramientas reales (correo electrónico, calendario, GitHub) mediante MCP. Fue la capa «Herramientas» de la Trilha 3.

5

Heartbeat: actúa por sí solo

Cron/rutinas hacen que actúe a la hora prevista ("resumen de las 7 h"), incluso con la laptop cerrada. El salto a lo proactivo.

💡 Consejo práctico

En este módulo solo montas los Levels 1 e 2. Resiste la tentación de pasar a la voz o a las herramientas antes de tener un bot que responda y recuerde. La mayoría de los proyectos que mueren intentaron subir tres peldaños de una vez y tropezaron.

Conceptos clave

Build Levels

Los 5 escalones: Foundation, Memory, Voice, Tools/MCP, Heartbeat.

El orden importa

Cada escalón supone que el anterior funciona.

Alcance de este módulo

Solo Levels 1 y 2: una base sólida antes de crecer.

Pequeñas victorias

Cada escalón es motivo de celebración; mantiene vivo el proyecto.

3

🏗️ Level 1: Foundation (responde)

El primer paso es el más emocionante: la primera vez que envías un mensaje y la cosa responde. Foundation tiene solo tres piezas conectadas: un canal (Telegram), un cerebro (un modelo) y el ciclo que conecta ambos; además de dos bloqueos de seguridad que se incorporan desde el primer minuto: la lista de permitidos e o .env.

📊 Anatomía del Level 1

  • •Canal: un bot creado en @BotFather de Telegram te da un token. Sin servidor web ni puertos abiertos: el bot busca mensajes mediante long-polling.
  • •Cerebro: un modelo en la nube (Claude/GPT mediante clave de API) o local (Ollama en tu PC). Solo uno.
  • •Lista de permitidos: una lista con TU chat ID. Los mensajes de cualquier otra persona se ignoran en silencio.
  • •.env: un archivo donde se guardan los secretos (token, clave de API). Nunca dentro del código, nunca en Git.

¿Eres nuevo aquí? Uno .env ("dot env") es un archivo de texto simple con pares CHAVE=valor que guarda secretos — contraseñas, tokens, claves de API. El programa lee estos valores al iniciarse, pero quedan fuera del código. Así puedes publicar el código sin filtrar tus claves. La lista de permitidos ("lista blanca") es lo opuesto a una lista negra: solo se atiende a quienes están en ella; todo lo demás se bloquea de forma predeterminada.

✓ Foundation bien hecho

  • ✓El token y la clave de API están en el .env.
  • ✓Lista de permitidos con tu ID, activada desde la primera línea.
  • ✓Telegram mediante long-polling: cero puertos abiertos.
  • ✓Un solo modelo, comportamiento predecible.

✗ Foundation mal hecho

  • ✗Token pegado directamente en el código (y subido a Git).
  • ✗Sin whitelist: cualquiera que encuentre el bot puede hablar con él (desde tu cuenta).
  • ✗Servidor web expuesto solo para «facilitar» las cosas: un puerto abierto a Internet.
  • ✗Tres modelos y diez recursos antes de que funcione el primer «hola».

Los huecos de seguridad de la columna roja no son hipotéticos: en la Ruta 2 vimos que 42.665 instancias de un sistema popular quedaron expuestas en internet, 93,4% sin ninguna autenticación. La lista de permitidos es el .env no son «extras»: son parte del Level 1. La seguridad no se agrega al final; nace desde el primer ladrillo.

Conceptos clave

Token (@BotFather)

La "contraseña" de tu bot de Telegram, generada con un comando.

Long-polling

El bot pregunta "¿hay algún mensaje?": sin servidor expuesto ni puerto.

Lista de permitidos

Solo se atiende a tu ID; el resto se ignora en silencio.

.env

Archivo de secretos, fuera del código y fuera de Git.

4

🧠 Level 2: Memory (él recuerda)

El bot del Level 1 responde, pero tiene amnesia. Cierra la conversación y lo olvida todo; vuelve a preguntarle tu nombre y no lo sabe. Level 2 lo corrige con dos piezas: el soul.md, que dice quién es, y un banco SQLite, que guarda lo que ya se dijo. Juntos, transforman un chatbot genérico en tu asistente.

🪪 Dos memorias, dos funciones

No las confundas. Una es identidad (cambia lentamente, la escribes tú); la otra es historial (crece por sí solo con cada conversación).

  • •soul.md — el alma: un archivo Markdown inyectado siempre al inicio (el system prompt). Nombre, tono, valores, prioridades. "Sin el brain rewire, la arquitectura es solo una carpeta."
  • •SQLite — el cuaderno: una base de datos en un único archivo que guarda cada mensaje. Con índice FTS5/BM25, busca por palabra («¿qué hablamos sobre el proyecto X?») en milisegundos.

¿Eres nuevo aquí? O system prompt y es el "briefing" que el modelo lee antes de cualquier conversación, y donde el soul.md entra. SQLite y una base de datos que cabe en un solo archivo (sin servidor ni instalación complicada): perfecta para un Jarvis personal. FTS5/BM25 es la "búsqueda de texto completo" de SQLite: encuentra el mensaje correcto por la palabra, como un Ctrl+F mejorado. Como todo son archivos de texto más una base de datos sencilla, la memoria "sobrevive a la moda": son solo datos que puedes leer y llevar contigo.

📋 COPY-RUN · soul.md (el alma de tu Jarvis) archivo: soul.md
Objetivo: darle identidad al bot. Crea un archivo soul.md en la carpeta del proyecto y pega el bloque de abajo, cambiando las partes <assim> por las tuyas.
# SOUL — quem voce e

Voce e o <Nome-do-seu-Jarvis>, o assistente pessoal de <Seu-nome>.

## Tom de voz
- Direto, caloroso e sem enrolacao.
- Responde em <portugues-do-Brasil>.
- Quando nao sabe, diz "nao sei" em vez de inventar.

## Prioridades do dono
- <ex.: me ajudar a organizar o dia e escrever melhor>

## Como agir
- SEMPRE confirma antes de qualquer acao que mande mensagem ou apague algo.
- NUNCA compartilha meus dados com terceiros.
Cómo verificar: envíale «¿cómo te llamas y cómo me hablas?». Si responde con el nombre y el tono que escribiste (en vez de «soy un modelo de IA de la empresa X»), el soul.md está siendo leído. Listo: Level 2 ganó identidad.

📊 Qué cambia cuando él recuerda

  • •Deja de volver a presentarse en cada mensaje: sabe quién eres.
  • •Retoma temas anteriores: «¿cómo quedó aquel correo de ayer?».
  • •La memoria es solo un archivo — puedes leer, copiar, hacer copias de seguridad y llevártelo.

Conceptos clave

soul.md

La "ficha de personaje" inyectada siempre en el system prompt.

System prompt

El briefing que el modelo lee antes de cada conversación.

SQLite

Base de datos en un solo archivo: guarda el historial.

FTS5 / BM25

Búsqueda por palabra dentro del historial, rapidísima.

5

🤝 Construir CON una IA

Aquí está el cambio que hace que todo esto sea accesible para alguien sin conocimientos técnicos: no necesitas escribir el código por tu cuenta. Tú construyes Jarvis conversando con una IA de programación —Claude Code, Antigravity, Cursor—. En vez de escribir cada línea, tú describe lo que quiere en un prompt de inicialización, y la IA genera el proyecto ladrillo por ladrillo, contigo al mando.

La clave es dar un prompt bueno: que fije las decisiones de arquitectura desde el inicio (solo Telegram, con whitelist y secretos en el .env) para que la IA no "improvise" un servidor web expuesto ni pegue mil dependencias. El prompt de abajo es tu punto de partida: puedes pegarlo directamente en Claude Code.

📋 COPY-RUN · prompt de inicialización del agente pega en: Claude Code / Antigravity
Objetivo: pedirle a una IA de programación que cree el Level 1+2 de tu Jarvis, con las decisiones de seguridad ya definidas. Abre la carpeta vacía del proyecto en Claude Code y pega este prompt. Cambia las partes <assim>.
Voce vai me ajudar a construir meu agente de IA pessoal, tijolo por
tijolo (brick-by-brick). Eu sou leigo: explique cada passo em
portugues simples e nao avance sem eu confirmar.

Stack e decisoes (NAO mude sem perguntar):
- Canal: SOMENTE Telegram, via long-polling. SEM servidor web,
  SEM portas abertas.
- Cerebro: um unico modelo, provedor <anthropic | openrouter | ollama>.
- Seguranca: whitelist com o meu chat ID = <seu-chat-id>.
  Qualquer outro remetente e ignorado em silencio.
- Segredos: token e chaves SO no arquivo .env (nunca no codigo,
  nunca no Git). Crie um .gitignore que ignore .env.

Construa nesta ordem e pare para eu testar a cada etapa:
1. Level 1 (Foundation): bot que responde "oi" com a whitelist ativa.
2. Level 2 (Memory): adicione soul.md (injetado no system prompt)
   e um SQLite que guarda o historico da conversa.

Comece pelo Level 1. Antes de escrever codigo, liste os arquivos
que vai criar e me explique cada um.
Cómo verificar: la IA debe responder con una lista de archivos y detenerse para pedirte confirmación, sin soltar código de inmediato ni proponer un servidor web. Si intenta abrir un puerto o pegar el token en el código, responde «eso viola las decisiones; vuelve a hacerlo solo con long-polling y .env». Este ida y vuelta ES el brick-by-brick.

⚠️ El error que debes evitar

Pedir «hazme un Jarvis completo con voz, agenda, correo electrónico y diez plugins» de una sola vez. La IA generará un montón de código que no entiendes ni puedes probar: exactamente las «100 mil líneas que nadie lee» de la Ruta 2. Pide un Level a la vez, lee lo que explica y avanza solo cuando el bloque actual pase la prueba.

Conceptos clave

IA de programación

Claude Code, Antigravity, Cursor: escriben el código contigo.

Prompt de inicio

La descripción que define el stack y la seguridad antes de la primera línea.

Decisiones vinculadas

Solo Telegram, lista de permitidos, secretos en .env: la IA no improvisa.

Tú estás al mando

Confirma cada etapa; entiende cada ladrillo que se construye.

6

🧪 Probar cada pieza

"Brick-by-brick" solo funciona si tú probar que cada ladrillo soporta peso antes de apilar el siguiente. La buena noticia: probar un Jarvis es sencillo y no necesitas ninguna herramienta: envías un mensaje y miras la respuesta. El secreto es tener, para cada Level, una prueba de aceptación: una pregunta cuya respuesta correcta demuestra que ese bloque está firme.

construir1 ladrillo probarprueba de aceptación ¿pasó?decide sí siguiente bloqueapila no → vuelve y corrige antes de continuar

El bucle que sustenta el curso: construye un ladrillo, ejecuta la prueba de aceptación, y solo apila el siguiente si pasa. ¿Falló? Vuelve y corrígelo — nunca construyas sobre una pieza agrietada.

✅ Pruebas de aceptación por Level

  • L1Foundation: envía «hola» — te responde. Desde otro celular (fuera de la whitelist), envía «hola» — él ignora. Los dos tienen que ser verdad.
  • L2Memory: di "mi nombre es <Ana>". En un mensaje nuevo después, pregunta "¿cuál es mi nombre?". Si acierta = la memoria funciona.

💡 Consejo práctico

Escribe la prueba antes de pedir el ladrillo. «El Level 1 está listo cuando el bot solo me responde a mí» es un criterio claro: sabes exactamente cuándo terminaste y cuándo seguir. Sin un criterio, todo proyecto se convierte en un eterno «casi listo».

Autoevaluación (opcional): ¿cuál es el orden correcto para armar tu primer Jarvis?

Conceptos clave

Prueba de aceptación

La pregunta cuya respuesta correcta demuestra que el ladrillo funciona.

Criterio antes del código

Define «listo» antes de construir; evita el eterno «casi listo».

Probar la whitelist

Confirmar que te ATIENDE y BLOQUEA a los demás.

No apiles sobre una estructura frágil

¿Falló un bloque? Repáralo antes de construir el siguiente.

🎯 Resumen del módulo

✓
La receta mínima — canal + cerebro + soul.md + loop agéntico + 1 herramienta. Nada más.
✓
Los 5 Build Levels — Foundation → Memory → Voice → Tools/MCP → Heartbeat, en orden; cada peldaño presupone el anterior.
✓
Level 1 e 2 — Foundation (el bot responde, lista de permitidos + .env) y Memory (soul.md + SQLite, recuerda).
✓
Construir CON una IA — un prompt de inicialización que conecta la stack y la seguridad, y la IA construye ladrillo por ladrillo.
✓
Probar cada bloque — una prueba de aceptación por Level; solo agrega el siguiente si el actual pasa.

Siguiente módulo:

4-2 — Arquitectura de una solución robusta (las 4 capas C: Context · Connections · Capabilities · Cadence)