TRILHA 2

🧬 Identidade e Canais

SOUL.md para personalidade única, AIEOS para exportar identidade, Telegram como canal principal, e SQLite FTS5 para memória persistente de longo prazo.

3
Módulos
18
Tópicos
~3h
Duração
Básico
Nível
Conteúdo Detalhado
2.1~60 min

🧬 Identidade e Personalidade

SOUL.md, AGENTS.md, USER.md, sistema AIEOS para exportar personalidade e perfis intercambiáveis por contexto.

O que é:

SOUL.md é o arquivo mais importante do workspace/. Define nome, pronomes, tom de voz (formal/casual), valores éticos, estilo de resposta, preferências técnicas e até senso de humor do assistente.

Por que aprender:

Um SOUL.md bem escrito transforma o Jarvis de um chatbot genérico em um parceiro com personalidade consistente. É a diferença entre "Como posso ajudar?" e "Direto ao ponto: o que está travado?"

Conceitos-chave:

Persona design, system prompt injection, tom consistente, valores como guardrails, estilo de comunicação.

O que é:

AGENTS.md contém regras explícitas de comportamento: sempre pedir confirmação antes de deletar arquivos, nunca executar código sem revisão em modo autônomo, priorizar segurança sobre velocidade.

Por que aprender:

Regras explícitas são mais confiáveis do que esperar que o LLM "entenda" o que você quer. AGENTS.md é o seu contrato de uso com o assistente.

Conceitos-chave:

Regras positivas (SEMPRE), regras negativas (NUNCA), prioridades de tarefa, escalonamento para humano.

O que é:

USER.md contém informações sobre o criador: nome, stack técnica favorita, empresa, fuso horário, projetos em andamento. O Jarvis usa isso para personalizar todas as respostas.

Por que aprender:

Sem USER.md, o assistente responde genericamente. Com USER.md bem preenchido, ele sugere Python quando você prefere Python, e sabe que você usa Vim, não VS Code.

Conceitos-chave:

Perfil do usuário, preferências técnicas, contexto profissional, personalização de respostas.

O que é:

AIEOS é o formato de exportação de identidade do INTELECTO. Permite serializar a personalidade completa (SOUL + AGENTS + USER) em um único arquivo portável.

Por que aprender:

Você pode ter múltiplos Jarvis com personalidades diferentes — um para trabalho, um para projetos pessoais — e alternar entre eles instantaneamente.

Conceitos-chave:

Serialização de identidade, perfis intercambiáveis, import/export de personalidade, multi-persona.

O que é:

O INTELECTO suporta múltiplos perfis de SOUL.md. Você pode ter "Atlas-Dev" para codificação (direto, técnico), "Atlas-Meeting" para contexto corporativo (formal, diplomático) e alternar com um comando.

Por que aprender:

Contextos diferentes exigem tons diferentes. Um assistente que só fala de uma forma é limitado. Perfis intercambiáveis dão flexibilidade real.

Conceitos-chave:

Profile switching, context-aware personality, workspace profiles, hot-swap de identidade.

O que é:

Escrever SOUL.md é um processo iterativo. Você escreve, testa com perguntas reais, observa respostas inesperadas e refina as instruções até o comportamento ser consistente com o que quer.

Por que aprender:

Nenhum SOUL.md fica perfeito na primeira versão. O processo de refinamento é a habilidade de prompt engineering mais importante para assistentes pessoais.

Conceitos-chave:

Prompt engineering iterativo, edge cases de personalidade, consistency testing, calibração de tom.

Ver Completo
2.2~60 min

💬 Canais de Comunicação

Telegram como canal principal, WhatsApp, Discord, Slack, E-mail IMAP e implementação de BaseChannel.

O que é:

Telegram oferece API robusta, polling ou webhooks, envio de arquivos, botões inline e grupos. É o canal mais fácil de configurar e o mais confiável para uso pessoal intenso.

Por que aprender:

A maioria das demos e casos reais de assistentes pessoais usam Telegram. Dominar esse canal primeiro acelera todos os outros — o padrão BaseChannel é o mesmo.

Conceitos-chave:

BotFather, polling vs webhook, inline keyboards, chat_id, allowed users, message types.

O que é:

BaseChannel define 3 métodos abstratos: start() que inicializa a conexão, send(user_id, message) que entrega a resposta, e stop() que fecha graciosamente. Qualquer plataforma que implemente esses 3 é um canal válido.

Por que aprender:

O Agent nunca sabe qual canal está usando — ele só chama send(). Essa abstração permite trocar Telegram por Discord em minutos sem alterar o Agent.

Conceitos-chave:

Interface abstrata, adapter pattern, channel-agnostic agent, graceful shutdown.

O que é:

WhatsApp via Meta Business API requer aprovação, mas é o canal mais usado no Brasil. O INTELECTO implementa WhatsAppChannel que usa webhooks do Meta para receber mensagens e a API para enviar.

Por que aprender:

Para uso profissional no Brasil, WhatsApp é insubstituível. Ter um Jarvis que responde no WhatsApp é uma vantagem competitiva para freelancers e empresas.

Conceitos-chave:

Meta Business API, webhook verification, phone number ID, template messages, rate limits.

O que é:

Discord e Slack são canais ideais para equipes. O DiscordChannel usa discord.py e suporte a slash commands. O SlackChannel usa a Events API com OAuth para workspace empresarial.

Por que aprender:

Um assistente que vive no Discord/Slack da equipe responde perguntas do time inteiro, automatiza fluxos de trabalho e elimina reuniões desnecessárias.

Conceitos-chave:

Bot permissions, slash commands, event subscriptions, workspace scopes, mention handling.

O que é:

O EmailChannel usa IMAP para monitorar uma caixa de entrada e SMTP para enviar respostas. O Jarvis pode responder e-mails automaticamente ou gerar rascunhos para revisão humana.

Por que aprender:

Triagem automática de e-mails é um dos casos de uso de maior ROI. Um Jarvis que categoriza, prioriza e responde e-mails rotineiros economiza horas por semana.

Conceitos-chave:

IMAP polling, MIME parsing, thread tracking, auto-reply vs draft, spam filtering.

O que é:

O VoiceChannel usa Whisper para transcrição em tempo real. Quando detecta a palavra de ativação configurada (ex: "Atlas"), envia o texto transcrito ao Agent e sintetiza a resposta com TTS.

Por que aprender:

Voz é o canal mais natural para interação enquanto você trabalha. Um Jarvis que ouve e responde por voz transforma o fluxo de trabalho hands-free.

Conceitos-chave:

Wake word detection, Whisper STT, TTS synthesis, VAD (voice activity detection), latência de resposta.

Ver Completo
2.3~60 min

🧠 Memória e Conhecimento

SQLite FTS5 + BM25, sistema de 2 camadas (MEMORY.md + memory.db), categorias e compactação automática.

O que é:

FTS5 é o módulo de full-text search do SQLite. Sem dependências externas, sem servidor, sem custo — apenas SQLite com índices de busca em texto altamente otimizados.

Por que aprender:

A memória do Jarvis precisa ser buscável rapidamente. FTS5 indexa automaticamente todo o conteúdo e permite buscas em milissegundos em milhares de registros.

Conceitos-chave:

Virtual table FTS5, tokenização, índice invertido, prefix search, phrase matching.

O que é:

BM25 é o algoritmo de ranking de relevância usado pelo FTS5. Quando o Jarvis busca memórias relacionadas à sua mensagem, BM25 garante que as mais relevantes apareçam primeiro — não apenas as mais recentes.

Por que aprender:

Sem ranking de relevância, a memória retorna resultados aleatórios. BM25 é o que torna a memória do Jarvis inteligente, não apenas uma lista de fatos.

Conceitos-chave:

Term frequency, inverse document frequency, field weights, bm25() function no SQLite.

O que é:

Camada 1: MEMORY.md em workspace/ — fatos estáticos de bootstrap que sempre estão no system prompt. Camada 2: memory.db — fatos dinâmicos extraídos de conversas, buscados por relevância quando necessário.

Por que aprender:

Não dá para colocar toda a memória no system prompt (caro e lento). A arquitetura de 2 camadas resolve: o essencial sempre presente, o histórico buscado sob demanda.

Conceitos-chave:

Context window management, RAG (retrieval augmented generation), bootstrap facts, dynamic retrieval.

O que é:

Cada entrada no memory.db tem uma categoria: fact (fato sobre o usuário ou mundo), conversation (trecho importante de conversa passada), solution (como um problema foi resolvido — muito útil para evitar retrabalho).

Por que aprender:

As categorias permitem buscas mais específicas. Quando você reporta um bug, o Jarvis busca apenas category='solution' para ver se já resolveu algo parecido.

Conceitos-chave:

Categorical filtering, solution memory, conversation threading, fact extraction automática.

O que é:

Antes de salvar um novo fato, store.py busca fatos similares com BM25. Se a similaridade for alta, atualiza o fato existente em vez de criar um duplicado. Evita que a memória cresça com informações redundantes.

Por que aprender:

Sem deduplicação, a memória enche de variações do mesmo fato. "Usuário usa Python" e "Usuário prefere Python" seriam entradas separadas — deduplicação une-as.

Conceitos-chave:

Similarity threshold, upsert pattern, cosine similarity alternativa, merge de fatos.

O que é:

Quando o banco de memória ultrapassa um limite configurado, um job de compactação sumariza entradas antigas em fatos mais densos. Mantém a memória relevante sem crescer indefinidamente.

Por que aprender:

Memória sem limites é um problema. Compactação automática resolve a tensão entre "lembrar de tudo" e "manter a busca eficiente".

Conceitos-chave:

Memory compaction, summarization, TTL de memórias, pruning estratégico, relevance decay.

Ver Completo
← Trilha 1 Trilha 3: Segurança →