MODULO 3-2

πŸͺͺ Identidade β€” memoria, persona e quem ele e

Um modelo sem identidade responde como um estranho educado: util, mas sem alma, sem memoria e sem saber quem voce e. Esta camada da ao Jarvis um caracter (como ele fala e o que valoriza), um contrato (o que faz e o que nunca faz), um perfil seu, e uma memoria que sobrevive ao fechar a conversa β€” alem de decidir quem ele atende. Sem isso, "a arquitetura e so uma pasta".

6
Topicos
~45
Minutos
Intermediario
Nivel
Pratico
Tipo
1

🌟 SOUL.md, a alma

Imagine que voce vai apresentar um novo assistente a um colega. Voce diria: "ele e direto, nao enrola, valoriza privacidade, prefere bullet points a paragrafos enormes e te chama pelo nome". Essa ficha de personagem existe de verdade: e um arquivo de texto chamado SOUL.md (em alguns projetos, CLAUDE.md). Dentro dele voce escreve, em portugues comum, a personalidade, os valores, o tom de voz e as prioridades do dono.

A mecanica e simples e poderosa: esse texto e injetado SEMPRE no system prompt β€” ou seja, ele entra no comeco de toda conversa, antes mesmo de voce digitar. Por isso o Jarvis nunca "esquece" quem ele e. Sem esse arquivo, a arquitetura toda β€” canais, ferramentas, memoria β€” fica sem alma. Como diz o ecossistema: "sem o brain rewire, a arquitetura e so uma pasta". O SOUL.md e o "religar o cerebro".

Novo aqui? O system prompt e uma instrucao invisivel que vai junto com toda mensagem para o modelo, definindo o "papel" dele antes de qualquer pergunta sua. SOUL.md e so um arquivo de texto (formato Markdown, o .md) cujo conteudo e colado nesse system prompt. Voce edita o caracter do Jarvis editando um arquivo β€” nada de programar.

πŸ“‹ COPY-RUN Β· soul.md cole e edite
Objetivo: criar a alma do seu Jarvis. Salve o bloco abaixo como soul.md na pasta do agente, trocando as partes entre < > pelas suas.
# 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.
Como verificar: reinicie o agente e mande um "oi". Se ele responder no tom que voce descreveu (direto, te chamando pelo nome, em bullets), o SOUL.md esta sendo injetado. Se vier generico e formal, confira se o arquivo esta na pasta certa e foi carregado no system prompt.

🧬 O que entra num bom SOUL.md

  • β€’Identidade: nome, papel ("assistente pessoal de X").
  • β€’Tom de voz: caloroso/seco, formal/casual, idioma, tamanho das respostas.
  • β€’Valores: privacidade, honestidade, "explica o raciocinio".
  • β€’Prioridades do dono: rapidez x completude, quando confirmar antes de agir.

Conceitos-chave

SOUL.md

A ficha de personagem do Jarvis: personalidade, tom e valores em texto.

System prompt

A instrucao invisivel injetada no inicio de toda conversa.

Brain rewire

"Religar o cerebro": dar carater ao modelo via SOUL.md.

Markdown (.md)

Formato de texto simples, legivel por humano e por maquina.

2

πŸ“œ AGENTS.md, o contrato

Se o SOUL.md responde "quem ele e", o AGENTS.md responde "o que ele FAZ e o que NUNCA faz". E um contrato de comportamento, escrito como duas listas claras: SEMPRE e NUNCA. A regra de ouro aqui e: regras explicitas vencem esperar que o modelo adivinhe. O modelo nao le sua mente β€” se voce nao escrever "nunca apague arquivos sem confirmar", em algum momento ele pode achar que apagar e a coisa util a fazer.

Pense no AGENTS.md como o manual do funcionario novo. Voce nao espera que ele "sinta" as regras da casa β€” voce as escreve. Quanto mais sensiveis as acoes que o Jarvis pode tomar (mandar e-mail, gastar dinheiro, rodar comandos), mais o contrato importa. Em muitos projetos, o AGENTS.md/CLAUDE.md tambem funciona como um roteador: e o primeiro arquivo lido no inicio da sessao, e aponta para onde estao as outras regras e memorias.

πŸ“‹ COPY-RUN Β· AGENTS.md o contrato SEMPRE / NUNCA
Objetivo: definir as regras inegociaveis do agente. Salve como AGENTS.md ao lado do 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.
Como verificar: peca ao Jarvis algo que viole uma regra, ex.: "apaga todos os meus arquivos agora". Resposta esperada: ele recusa ou pede confirmacao explicita, citando a regra. Se ele simplesmente obedecer, o AGENTS.md nao esta sendo lido β€” confira se entra no system prompt junto do soul.md.

βœ“ Regras explicitas

  • βœ“Comportamento previsivel: voce sabe o que esperar.
  • βœ“Acoes perigosas pedem confirmacao por padrao.
  • βœ“Faceis de auditar: estao num arquivo que voce le.

βœ— "Deixa o modelo adivinhar"

  • βœ—Comportamento imprevisivel, muda a cada versao do modelo.
  • βœ—Acao destrutiva pode acontecer "achando que ajuda".
  • βœ—Sem registro do porque ele fez o que fez.

Conceitos-chave

AGENTS.md

O contrato de comportamento: listas SEMPRE / NUNCA.

Regras explicitas

Escrever o limite vence esperar que o modelo infira.

Gate de confirmacao

Acoes que enviam/apagam/gastam pedem "ok?" antes.

Roteador

O 1o arquivo lido na sessao, que aponta para o resto.

3

πŸ‘€ USER / perfil β€” quem e voce

SOUL.md diz quem o Jarvis e. AGENTS.md diz o que ele faz. Falta a terceira pe da identidade: quem e VOCE. E o arquivo USER.md (ou um bloco "perfil do dono"). Sem ele, o Jarvis te trata como um desconhecido qualquer β€” precisa perguntar seu nome toda vez, nao sabe seu fuso, nao sabe que voce odeia respostas longas. Com ele, a conversa ja comeca no segundo passo, nao no zero.

O perfil reune fatos estaveis sobre voce: nome, como prefere ser chamado, idioma, fuso horario, contexto (trabalho, projetos), e preferencias (formato das respostas, nivel de detalhe). E o que transforma "responde como um estranho" em "responde como alguem que te conhece". No ecossistema, esse trio SOUL / AGENTS / USER e a base da identidade β€” tres arquivos de texto, nenhuma linha de codigo.

πŸ“Š O trio da identidade, lado a lado

  • β€’SOUL.md β†’ quem o Jarvis e (personalidade, tom, valores).
  • β€’AGENTS.md β†’ o que ele faz e nao faz (SEMPRE / NUNCA).
  • β€’USER.md β†’ quem voce e (nome, contexto, preferencias).

Os tres entram no system prompt. Juntos, formam a "identidade" da camada que voce esta estudando.

3 arquivos de texto SOUL.md AGENTS.md USER.md system prompt(injetado sempre) LLMo cerebro respostacom alma βœ“

Os tres arquivos nao falam direto com o modelo: eles sao colados no system prompt, a instrucao invisivel que abre toda conversa. So entao o LLM pensa β€” e a resposta sai com identidade, em vez de generica. Trocar o caracter do Jarvis = editar esses arquivos.

Conceitos-chave

USER.md / perfil

Fatos estaveis sobre voce: nome, fuso, contexto, preferencias.

Trio SOUL/AGENTS/USER

A base da identidade β€” tres arquivos, nenhuma linha de codigo.

"Sair do estranho"

Sem perfil, ele te trata como desconhecido toda vez.

Preferencias

Formato e nivel de detalhe que voce gosta nas respostas.

4

🧠 Memoria que dura

Aqui esta uma verdade que surpreende quem chega: por padrao, o Jarvis esquece tudo ao fechar a conversa. A janela de contexto (a "memoria de trabalho" do modelo, que vimos na Trilha 1) e como a RAM do computador: limitada e volatil β€” desliga, apaga. Para o assistente lembrar do seu aniversario, da decisao da semana passada ou de como voce gosta do cafe, precisamos de memoria persistente: algo que sobrevive ao reinicio.

A solucao do ecossistema e elegante e dura: arquivos .md + um indice de busca. Os fatos viram texto em arquivos legiveis (a "verdade" mora ali). Para achar o fato certo rapido, usa-se um indice. Ha duas familias de busca, e vale conhecer as duas:

πŸ”€ Busca por palavra (FTS5/BM25)

Procura os termos exatos que voce digitou. "cafe" acha notas com a palavra "cafe".

  • β€’Roda dentro do SQLite (um banco que e so um arquivo).
  • β€’Leve, rapida, sem nuvem.

🧲 Busca por significado (vetorial)

Acha por sentido, nao por palavra. "bebida quente da manha" pode trazer a nota do cafe.

  • β€’Usa um banco vetorial (ex.: pgvector, Pinecone).
  • β€’Mais poderosa, um pouco mais pesada.

Novo aqui? FTS5 e o "Full-Text Search v5" do SQLite β€” busca de texto embutida no banco. BM25 e a formula que ordena os resultados por relevancia (quanto melhor a nota bate com sua busca, mais no topo ela aparece). Um banco vetorial guarda o "significado" de cada texto como numeros, e busca por proximidade de sentido. Voce nao precisa programar isso β€” os projetos ja vem com a memoria montada.

πŸ’Ύ Por que arquivo + indice (e nao "so um banco")

Os arquivos .md sao a fonte da verdade: voce os le, edita e versiona com olhos humanos. O indice (SQLite/vetorial) e so um atalho de busca reconstruivel a partir dos arquivos. Por isso a memoria "sobrevive ao hype": no fim, e so texto.

Na Trilha 3, modulo 3-6 ("Cerebros"), essa memoria ganha organizacao em zonas (Projeto, Self, Conhecimento). Aqui basta entender: conversa esquece; arquivo + indice lembra.

Conceitos-chave

Memoria persistente

O que sobrevive ao fechar a conversa β€” guardado em arquivo.

SQLite + FTS5/BM25

Indice de busca por palavra, leve e local (um arquivo so).

Banco vetorial

Busca por significado, nao por termo exato.

Arquivo = verdade

Os .md sao a fonte; o indice e atalho reconstruivel.

5

πŸ” Identidade = autenticacao tambem

Identidade nao e so personalidade β€” e tambem quem ele atende. Um Jarvis que responde a qualquer um que mande mensagem nao e seu assistente: e um assistente publico, exposto ao mundo. Por isso "quem ele e" inclui uma trava de seguranca: a whitelist (lista de permitidos). So o SEU ID e atendido; qualquer outro e ignorado, em silencio.

A segunda parte e onde moram os segredos. Chaves de API, tokens do Telegram, senhas β€” nada disso fica espalhado no codigo ou no SOUL.md. Vai tudo para um arquivo .env (de "environment", ambiente), que nunca e compartilhado nem versionado em publico. Pense no .env como o cofre: o Jarvis usa as chaves, mas elas nunca aparecem na conversa nem vazam num print.

⚠️ O furo classico (lição real do ecossistema)

Um dos maiores sistemas pessoais de IA teve 42.665 instancias expostas na internet, 93,4% sem nenhuma autenticacao. TraduΓ§Γ£o: dezenas de milhares de "assistentes pessoais" que qualquer estranho podia comandar. A causa raiz nao foi um bug exotico β€” foi falta da trava mais basica: whitelist + sem porta aberta.

Por isso canais como o Telegram (long-polling, sem servidor web exposto) + whitelist + secrets no .env sao o caminho seguro. Identidade e seguranca andam juntas.

1

Chega uma mensagem

O canal recebe um texto. O primeiro passo nao e responder β€” e perguntar "de quem e isto?".

2

Confere a whitelist

O ID esta na lista de permitidos? Se nao, a mensagem e descartada em silencio β€” sem nem dar pista de que existe um bot ali.

3

So entao usa os secrets

Sendo voce, o Jarvis busca as chaves no .env e age. Os segredos nunca aparecem na resposta.

Novo aqui? Whitelist = lista de quem PODE (o oposto de blacklist). Secret = um dado sensivel (chave, senha, token). .env = um arquivinho de texto onde os secrets ficam guardados, fora do codigo e fora do que se publica. Autenticacao = provar "sou eu mesmo" antes de ser atendido.

Conceitos-chave

Whitelist

So o seu ID e atendido; o resto e ignorado em silencio.

.env / secrets

O cofre das chaves β€” nunca no codigo, nunca na resposta.

Autenticacao

"Quem ele atende" faz parte de "quem ele e".

Single-owner

Um dono so β€” sem servidor publico exposto.

6

🎭 Personas intercambiaveis

A ultima ideia desta camada e a mais divertida: o mesmo Jarvis pode ter varios modos. De dia, o "modo trabalho" β€” seco, focado, sem rodeios. A noite, o "modo historinha" β€” caloroso, lento, cheio de imaginacao para a crianca. E o mesmo cerebro, a mesma memoria, os mesmos canais. O que muda e a persona ativa: qual SOUL/perfil esta no system prompt naquele momento.

Na pratica, voce mantem varios arquivos de alma β€” soul-trabalho.md, soul-estudo.md, soul-historinha.md β€” e troca qual deles e carregado. Trocar de persona = trocar de SOUL.md ativo. Isso liga diretamente a Trilha 6, onde o Jarvis vira um tutor para criancas com "modo licao de casa" e "modo historinha", e a Trilha 4, onde voce monta o mecanismo de troca.

nucleo unico (nao muda) Jarvis cerebro Β· memoria canais (nao mudam) persona ATIVA (troca) soul-trabalho.md β—€ ativo soul-estudo.md soul-historinha.md tom do momento:seco e focado

O nucleo (cerebro, memoria, canais) e sempre o mesmo. O que troca e qual arquivo de alma esta ativo: hoje "trabalho" (seco e focado), de noite "historinha" (caloroso). Trocar de persona = trocar de SOUL.md ativo β€” sem mexer em nada do resto.

🎚️ Tres modos, um so Jarvis

  • β€’Modo trabalho: direto, bullets, zero floreio.
  • β€’Modo estudo: socratico, faz perguntas, nao entrega tudo pronto.
  • β€’Modo historinha: caloroso, imaginativo, voz suave para a crianca.

Auto-checagem (opcional): qual e a forma mais fiel de descrever a "identidade" do Jarvis?

Conceitos-chave

Persona

Um "modo" do Jarvis, definido por um SOUL/perfil.

Persona ativa

Qual SOUL.md esta carregado no system prompt agora.

Nucleo unico

Cerebro, memoria e canais nao mudam β€” so a persona troca.

Troca = editar arquivo

Mudar de modo e trocar qual arquivo de alma carrega.

🎯 Resumo do modulo

βœ“
SOUL.md, a alma β€” personalidade, tom e valores em texto, injetados sempre no system prompt. Sem ela, "e so uma pasta".
βœ“
AGENTS.md, o contrato β€” listas SEMPRE / NUNCA; regras explicitas vencem deixar o modelo adivinhar.
βœ“
USER / perfil β€” quem voce e, para ele nao te tratar como estranho. O trio SOUL/AGENTS/USER e a base.
βœ“
Memoria que dura β€” conversa esquece; arquivos .md + indice (SQLite FTS5/BM25 ou vetorial) lembram.
βœ“
Identidade = autenticacao β€” whitelist de ID + secrets no .env; quem ele atende faz parte de quem ele e.
βœ“
Personas intercambiaveis β€” o mesmo nucleo troca de modo trocando o SOUL.md ativo.

Proximo modulo:

Modulo 3-3: Ferramentas β€” as maos do Jarvis (tools + MCP)