PTENES
MÓDULO 3-2

🪪 Identidad — memoria, personaje y quién es

Un modelo sin identidad responde como un desconocido educado: útil, pero sin alma, sin memoria y sin saber quién eres. Esta capa le da a Jarvis un carácter (cómo habla y qué valora), un contrato (lo que hace y lo que nunca hace), un perfil tuyo, y una memoria que sobrevive al cerrar la conversación — además de decidir a quién atiende. Sin eso, «la arquitectura es solo una carpeta».

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

🌟 SOUL.md, el alma

Imagina que vas a presentar a un nuevo asistente a un colega. Dirías: «es directo, no se anda con rodeos, valora la privacidad, prefiere las viñetas a los párrafos enormes y te llama por tu nombre». Esa ficha del personaje existe de verdad: es un archivo de texto llamado SOUL.md (en algunos proyectos, CLAUDE.md). Dentro de él escribes, en lenguaje cotidiano, la personalidad, los valores, el tono de voz y las prioridades del dueño.

La mecánica es sencilla y poderosa: este texto es inyectado SIEMPRE en el system prompt — es decir, entra al comienzo de cada conversación, incluso antes de que escribas. Por eso Jarvis nunca «olvida» quién es. Sin este archivo, toda la arquitectura —canales, herramientas, memoria— se queda sin alma. Como dice el ecosistema: "sin brain rewire, la arquitectura es solo una carpeta". SOUL.md es "volver a conectar el cerebro".

¿Eres nuevo aquí? O system prompt y una instrucción invisible que acompaña cada mensaje al modelo y define su «papel» antes de que hagas cualquier pregunta. SOUL.md y es solo un archivo de texto (formato Markdown, el .md) cuyo contenido se pega en este prompt de sistema. Editas el carácter de Jarvis editando un archivo; no hace falta programar.

📋 COPY-RUN · soul.md copia y edita
Objetivo: crear el alma de tu Jarvis. Guarda el bloque de abajo como soul.md en la carpeta del agente, cambiando las partes entre < > por las tuyas.
# SOUL.md — quem eu sou

## Identidade
Meu nome e <Jax>. Sou o assistente pessoal de <seu-nome>.

## Tom de voz
- Direto e caloroso. Sem enrolacao, sem floreio corporativo.
- Respondo em <portugues do Brasil>, na 1a pessoa.
- Prefiro bullets curtos a paragrafos longos.

## Valores (o que me guia)
- Privacidade primeiro: nunca exponho dados de <seu-nome> sem pedir.
- Honestidade: se nao sei, digo "nao sei" em vez de inventar.
- Explico o raciocinio, nao so a resposta.

## Prioridades do dono
- Economia de tempo > completude. Va direto ao ponto.
- Quando houver risco (apagar, gastar, enviar), eu confirmo antes.
Cómo verificar: reinicia el agente y envía un «hola». Si responde con el tono que describiste (directo, llamándote por tu nombre, en viñetas), se está inyectando SOUL.md. Si responde de forma genérica y formal, comprueba que el archivo esté en la carpeta correcta y se haya cargado en el system prompt.

🧬 Qué debe incluir un buen SOUL.md

  • •Identidad: nombre, rol («asistente personal de X»).
  • •Tono de voz: cálido/seco, formal/informal, idioma, tamaño de las respuestas.
  • •Valores: privacidad, honestidad, "explica el razonamiento".
  • •Prioridades del dueño: rapidez x exhaustividad, cuándo confirmar antes de actuar.

Conceptos clave

SOUL.md

La ficha de personaje de Jarvis: personalidad, tono y valores en texto.

System prompt

La instrucción invisible que se inyecta al inicio de cada conversación.

Brain rewire

«Reconectar el cerebro»: darle carácter al modelo mediante SOUL.md.

Markdown (.md)

Formato de texto simple, legible para personas y máquinas.

2

📜 AGENTS.md, el contrato

Si SOUL.md responde «quién es», el AGENTS.md responde «lo que SÍ hace y lo que NUNCA hace». Es un contrato de comportamiento, escrito como dos listas claras: SIEMPRE e NUNCA. La regla de oro aquí es: las reglas explícitas prevalecen sobre esperar que el modelo adivine. El modelo no te lee la mente: si no escribes "nunca borres archivos sin confirmar", en algún momento podría pensar que borrarlos es lo útil.

Piensa en AGENTS.md como el manual del nuevo empleado. No esperas que "sienta" las reglas de la casa: las escribes. Cuanto más delicadas sean las acciones que Jarvis puede realizar (enviar correos, gastar dinero, ejecutar comandos), más importante es el contrato. En muchos proyectos, el AGENTS.md/CLAUDE.md también funciona como un router: es el primer archivo que se lee al inicio de la sesión y señala dónde están las otras reglas y memorias.

📋 COPY-RUN · AGENTS.md el contrato SIEMPRE / NUNCA
Objetivo: definir las reglas innegociables del agente. Guárdalo como AGENTS.md junto al soul.md.
# AGENTS.md — o contrato

## SEMPRE
- Confirmar ANTES de qualquer acao que envie, apague ou gaste (<e-mail>, <arquivo>, <dinheiro>).
- Citar a fonte quando trouxer um dado ("segundo <sua-agenda>...").
- Responder so a <seu-user-id>; ignorar qualquer outro em silencio.
- Quando errar, admitir e corrigir.

## NUNCA
- Nunca executar comando de shell perigoso sem pedir confirmacao.
- Nunca expor <secrets> (chaves, senhas, tokens) na resposta.
- Nunca inventar fato que nao esta na memoria ou nas ferramentas.
- Nunca enviar mensagem em nome de <seu-nome> sem ele aprovar.
Cómo verificar: pídele a Jarvis algo que infrinja una regla, p. ej.: «borra todos mis archivos ahora». Respuesta esperada: él rechaza o pide confirmación explícita, citando la regla. Si simplemente obedece, es que no está leyendo el AGENTS.md; comprueba si está incluido en el system prompt junto con soul.md.

✓ Reglas explícitas

  • ✓Comportamiento predecible: sabes qué esperar.
  • ✓Las acciones peligrosas requieren confirmación de forma predeterminada.
  • ✓Fáciles de auditar: están en un archivo que puedes leer.

✗ "Deja que el modelo lo adivine"

  • ✗Comportamiento impredecible, cambia con cada versión del modelo.
  • ✗Una acción destructiva puede ocurrir «creyendo que ayuda».
  • ✗Sin registro de por qué hizo lo que hizo.

Conceptos clave

AGENTS.md

El contrato de comportamiento: listas SIEMPRE / NUNCA.

Reglas explícitas

Escribir el límite es mejor que esperar que el modelo lo infiera.

Paso de confirmación

Las acciones que envían, borran o gastan piden «¿ok?» antes.

Enrutador

El 1.er archivo que se lee en la sesión y que apunta al resto.

3

👤 USER / perfil — quién eres

SOUL.md dice quién Jarvis y. AGENTS.md dice lo que hace. Falta la tercera pieza de la identidad: quién eres TÚ. Y el archivo USER.md (o un bloque «perfil del dueño»). Sin él, Jarvis te trata como a cualquier desconocido: tiene que preguntarte tu nombre cada vez, no sabe tu zona horaria ni sabe que odias las respuestas largas. Con él, la conversación empieza directamente en el segundo paso, no desde cero.

El perfil reúne datos estables sobre ti: nombre, cómo prefieres que te llamen, idioma, zona horaria, contexto (trabajo, proyectos) y preferencias (formato de las respuestas, nivel de detalle). Es lo que transforma «responde como un desconocido» en «responde como alguien que te conoce». En el ecosistema, este trío SOUL / AGENTS / USER es la base de la identidad — tres archivos de texto, ni una línea de código.

📊 El trío de la identidad, lado a lado

  • •SOUL.md → quién es Jarvis (personalidad, tono, valores).
  • •AGENTS.md → lo que hace y no hace (SIEMPRE / NUNCA).
  • •USER.md → quién eres tú (nombre, contexto, preferencias).

Los tres se incorporan al system prompt. Juntos, forman la "identidad" de la capa que estás estudiando.

3 archivos de texto SOUL.md AGENTS.md USER.md system prompt(inyectado siempre) LLMel cerebro respuestacon alma ✓

Los tres archivos no hablan directamente con el modelo: se pegan en el system prompt, la instrucción invisible que abre cada conversación. Solo entonces el LLM piensa, y la respuesta sale con identidad, en lugar de genérica. Cambiar el carácter de Jarvis = editar esos archivos.

Conceptos clave

USER.md / perfil

Datos estables sobre ti: nombre, zona horaria, contexto, preferencias.

Trío SOUL/AGENTS/USER

La base de la identidad: tres archivos, ninguna línea de código.

«Dejar de ser un extraño»

Sin perfil, te trata como a un desconocido cada vez.

Preferencias

Formato y nivel de detalle que te gustan en las respuestas.

4

🧠 Memoria duradera

Aquí hay una verdad que sorprende a quienes llegan: por defecto, Jarvis lo olvida todo al cerrar la conversación. La ventana de contexto (la «memoria de trabajo» del modelo, que vimos en la Ruta 1) es como la RAM de la computadora: limitada y volátil; se apaga y se borra. Para que el asistente recuerde tu cumpleaños, la decisión de la semana pasada o cómo te gusta el café, necesitamos memoria persistente: algo que sobrevive al reinicio.

La solución del ecosistema es elegante y contundente: archivos .md + un índice de búsqueda. Los hechos se convierten en texto en archivos legibles (la «verdad» vive allí). Para encontrar rápido el hecho correcto, se usa un índice. Hay dos familias de búsqueda, y vale la pena conocer ambas:

🔤 Búsqueda por palabra (FTS5/BM25)

Busca los términos exactos que escribiste. «café» encuentra notas con la palabra «café».

  • •Funciona dentro del SQLite (una base de datos que es solo un archivo).
  • •Ligera, rápida, sin nube.

🧲 Búsqueda por significado (vectorial)

Busca por significado, no por palabra. «bebida caliente de la mañana» puede encontrar la nota del café.

  • •Usa un base de datos vectorial (p. ej.: pgvector, Pinecone).
  • •Más potente, un poco más pesada.

¿Eres nuevo aquí? FTS5 y es el "Full-Text Search v5" de SQLite: búsqueda de texto integrada en la base de datos. BM25 es la fórmula que ordena los resultados por relevancia (cuanto mejor coincide la nota con tu búsqueda, más arriba aparece). Un base de datos vectorial guarda el «significado» de cada texto como números y busca por proximidad de sentido. No necesitas programar esto: los proyectos ya vienen con la memoria configurada.

💾 Por qué archivo + índice (y no «solo una base de datos»)

Los archivos .md son la fuente de la verdad: los lees, editas y versionas con ojos humanos. El índice (SQLite/vectorial) es solo un atajo de búsqueda reconstruible a partir de los archivos. Por eso la memoria «sobrevive al hype»: al final, es solo texto.

En la Trilha 3, módulo 3-6 ("Cerebros"), esa memoria se organiza en zonas (Proyecto, Self, Conocimiento). Aquí basta con entender: la conversación olvida; el archivo + índice recuerda.

Conceptos clave

Memoria persistente

Qué sobrevive al cerrar la conversación: guardado en un archivo.

SQLite + FTS5/BM25

Índice de búsqueda por palabra, ligero y local (un solo archivo).

Base de datos vectorial

Búsqueda por significado, no por término exacto.

Archivo = verdad

Los .md son la fuente; el índice es un atajo reconstruible.

5

🔐 Identidad = también autenticación

La identidad no es solo personalidad: también es a quién atiende. Un Jarvis que responde a cualquiera que le envíe un mensaje no es tu asistente: es un asistente público, expuesto al mundo. Por eso, «quién es» incluye una barrera de seguridad: la lista de permitidos (lista de permitidos). Así, se atiende TU ID; cualquier otro se ignora en silencio.

La segunda parte es donde viven los secretos. Claves de API, tokens de Telegram, contraseñas: nada de eso queda disperso en el código o en SOUL.md. Todo va a un archivo .env (de «environment», entorno), que nunca se comparte ni se versiona públicamente. Piensa en el .env como la bóveda: Jarvis usa las claves, pero nunca aparecen en la conversación ni se filtran en una captura de pantalla.

⚠️ El agujero clásico (una lección real del ecosistema)

Uno de los sistemas personales de IA más grandes tuvo 42.665 instancias expuestas en internet, 93,4% sin ninguna autenticación. Traducción: decenas de miles de «asistentes personales» que cualquier desconocido podía controlar. La causa raíz no fue un error exótico: fue la falta de la barrera más básica: lista blanca y ningún puerto abierto.

Por eso, canales como Telegram (long-polling, sin servidor web expuesto) + whitelist + secrets en el .env son el camino seguro. Identidad y seguridad van de la mano.

1

Llega un mensaje

El canal recibe un texto. El primer paso no es responder, sino preguntar "¿de quién es esto?".

2

Revisa la whitelist

¿El ID está en la lista de permitidos? Si no, el mensaje se descarta en silencio, sin siquiera dar una pista de que hay un bot ahí.

3

Solo entonces usa los secrets

Al ser tuyo, Jarvis busca las claves en el .env y actúa. Los secretos nunca aparecen en la respuesta.

¿Eres nuevo aquí? Lista de permitidos = lista de quiénes PUEDEN (lo opuesto a blacklist). Secret = un dato sensible (clave, contraseña, token). .env = un pequeño archivo de texto donde se guardan los secrets, fuera del código y de lo que se publica. Autenticación = demostrar "soy yo" antes de que te atiendan.

Conceptos clave

Lista de permitidos

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

.env / secrets

La caja fuerte de las claves — nunca en el código, nunca en la respuesta.

Autenticación

«A quién atiende» forma parte de «quién es».

Single-owner

Un solo dueño — sin servidor público expuesto.

6

🎭 Personas intercambiables

La última idea de esta capa es la más divertida: el mismo Jarvis puede tener varios modos. Durante el día, el «modo trabajo»: seco, enfocado, sin rodeos. Por la noche, el «modo cuento»: cálido, pausado, lleno de imaginación para el niño. Es el mismo cerebro, la misma memoria, los mismos canales. Lo que cambia es la persona activa: qué SOUL/perfil está en el system prompt en ese momento.

En la práctica, mantienes varios archivos de alma — soul-trabalho.md, soul-estudo.md, soul-historinha.md — y cambia cuál de ellos se carga. Cambiar de personaje = cambiar el SOUL.md activo. Esto se conecta directamente con la Ruta 6, donde Jarvis se convierte en un tutor para niños con «modo tarea» y «modo cuento», y con la Ruta 4, donde armas el mecanismo de cambio.

núcleo único (no cambia) Jarvis cerebro · memoria canales (no cambian) PERSONA ACTIVA (cambio) soul-trabalho.md ◀ ativo soul-estudo.md soul-historinha.md tono del momento:sobrio y enfocado

O núcleo (cerebro, memoria, canales) es siempre el mismo. Lo que cambia es qué archivo del alma está activo: hoy «trabajo» (seco y enfocado), por la noche «cuentito» (cálido). Cambiar de persona = cambiar el SOUL.md activo — sin tocar nada más.

🎚️ Tres modos, un solo Jarvis

  • •Modo de trabajo: directo, viñetas, cero adornos.
  • •Modo de estudio: socrático, hace preguntas, no te lo entrega todo listo.
  • •Modo de cuento: cálido, imaginativo, voz suave para el niño.

Autoevaluación (opcional): ¿cuál es la forma más fiel de describir la "identidad" de Jarvis?

Conceptos clave

Persona

Un «modo» de Jarvis, definido por un SOUL/perfil.

Persona activa

Qué SOUL.md está cargado en el system prompt ahora.

Núcleo único

El cerebro, la memoria y los canales no cambian: solo cambia la persona.

Cambio = editar archivo

Cambiar de modo es cambiar qué archivo de alma se carga.

🎯 Resumen del módulo

✓
SOUL.md, el alma — personalidad, tono y valores en texto, siempre incluidos en el system prompt. Sin ella, «es solo una carpeta».
✓
AGENTS.md, el contrato — listas SIEMPRE / NUNCA; las reglas explícitas son mejores que dejar que el modelo adivine.
✓
USUARIO / perfil — quién eres, para que no te trate como a un desconocido. El trío SOUL/AGENTS/USER es la base.
✓
Memoria que perdura — la conversación olvida; los archivos .md + el índice (SQLite FTS5/BM25 o vectorial) recuerdan.
✓
Identidad = autenticación — whitelist de ID + secrets en .env; a quién atiende forma parte de quién es.
✓
Personas intercambiables — el mismo núcleo cambia de modo al cambiar el SOUL.md activo.

Siguiente módulo:

Módulo 3-3: Herramientas — las manos de Jarvis (tools + MCP)