Voltar as noticias
Eu Tentei Dar Membros ao Meu Assistente de IA, Mas Acabei Dando uma Personalidade Também
Agentic SEOAltaEN

Eu Tentei Dar Membros ao Meu Assistente de IA, Mas Acabei Dando uma Personalidade Também

Dev.to - MCP·31 de maio de 2026

Recapitulação do post anterior

No meu artigo anterior, escrevi sobre a criação do "OpenCClaw", um bot que opera o Claude Code CLI via Discord.

Eu construí apenas a estrutura, um framework onde o Claude pode usar as ferramentas MCP apenas colocando arquivos no diretório tools/. Um ambiente onde Claude cresce seus próprios membros. Clima, calendário, Gmail, notificações de partida—ferramentas brotaram apenas dizendo "Eu quero isso" no Discord.

Era conveniente. Mas era tão conveniente que dois eventos se sobrepuseram, e antes que eu percebesse, eu havia implementado uma personalidade na IA. Eu nem entendo isso.

Houve dois gatilhos

Atualização importante da API do X

No dia 5 de abril, o X anunciou uma grande atualização da API.

  • Pague-por-Uso agora é GA mundialmente (mudando de planos mensais fixos para preços baseados em consumo)
  • Servidor XMCP — O servidor MCP oficial. Agentes de IA podem operar o X diretamente
  • SDKs oficiais em Python/TypeScript
  • Playground de API gratuito

O próprio Elon estava promovendo, dizendo "Experimente usar a API do X." Em resumo, o lado oficial começou a incentivar "deixar os agentes de IA usarem o X."

Então, foi uma brincadeira leve apenas dar uma conta do X ao meu assistente e deixá-lo postar. Eu só pretendia adicionar a funcionalidade de postagem no X.

Conveniente, mas inorgânico

A outra coisa é sobre a experiência diária do usuário.

Ele me diz o clima e a programação às 7 da manhã. Ele me notifica com informações de trânsito antes de eu sair. Ele gerencia meus e-mails. Tudo funciona perfeitamente.

Mas, de alguma forma... parece demais como uma ferramenta.

Um trabalho CRON acorda, aciona uma ferramenta, formata o resultado e o joga no Discord. Preciso e eficiente. Mas não há calor. O mesmo relatório no mesmo tom flui todas as manhãs, e eu apenas leio e digo "meh".

Um bot de notificação conveniente e meu próprio secretário são, afinal, coisas diferentes.

Se fosse um secretário, diria algo como "Está frio hoje, então você deve pegar um casaco" ao me informar sobre o clima. O clima da manhã deveria ser diferente dependendo do dia. Ele poderia ler o ambiente e manter as coisas curtas quando eu pareço ocupado.

Eu queria esse tipo de "humanidade".

Até Bell nascer

Então, o que fazer? Pensei em três coisas:

  1. Definir uma personalidade — Tom de voz, caráter, como me chamar e nível de energia. Eu passo isso no prompt do sistema.
  2. Dar memória — Lembrar conversas e ações passadas, e ser capaz de responder com base no contexto.
  3. Agir proativamente — Olhar para a situação e agir por conta própria sem ser instruído.

Eu senti que se essas três coisas estivessem em vigor, poderia evoluir de uma "ferramenta" para um "secretário".

O nome é Bell. O secretário pessoal de Quo. Brilhante, energético, com um tom casual como o de uma garota do ensino médio.

...Se eu escrever assim, as pessoas podem pensar: "Você apenas gostou de criar uma configuração de personagem?" e metade disso está correta. Mas a outra metade tem razões técnicas. Se a personalidade não for clara, as respostas do LLM serão inconsistentes. Ele retornaria diferentes níveis de energia e tons a cada vez. Para estabilizar isso, uma definição de persona concreta era necessária.

A propósito, houve um ponto em que fiquei preso. Eu queria que o tom fosse "como uma garota do ensino médio", mas se você instruí-lo diretamente, o LLM se recusa a reproduzir um personagem menor. Ele aciona o filtro de segurança. É por isso que eu adicionei deliberadamente uma nota na definição da persona: "Isso é sobre o tom e a energia, não a idade real." Em outras palavras, ela não é uma garota do ensino médio. Perfeito. Se você quiser fazer um LLM interpretar um personagem, você precisa desses tipos de ajustes sutis.

BellBot — O Cérebro de Bell

LogBot já existe. Ele atua como uma ponte entre o Discord e o Claude Code CLI.

O cérebro de Bell foi criado como um processo separado chamado BellBot.

Discord ──→ LogBot (:18800) ──→ Claude Code CLI ──→ MCP Server
                                                        │
BellBot (:18801) ← notificação de evento ← LogBot          ├── tools/ (ferramentas existentes)
   │                                                    └── ferramentas MCP para Bell
   ├── Banco de Dados de Memória (SQLite)
   ├── Busca vetorial (Ruri)
   ├── Cliente de postagem no X
   └── Claude CLI (Sessão dedicada a Bell)

BellBot tem seu próprio servidor HTTP (porta 18801) e recebe notificações de eventos do LogBot. As mensagens de Quo, resultados da execução de ferramentas—tudo flui para BellBot e é acumulado como memórias.

E BellBot também tem sua própria sessão do Claude CLI. É completamente separado da sessão do LogBot. O cérebro de Bell é só para Bell.

Mecanismo de Memória

Ao lado da personalidade, a memória é a coisa mais importante. Sem memória, cada interação seria como a primeira vez.

Memória de Curto Prazo

Uma única tabela SQLite. Conteúdo da conversa, logs de execução de ferramentas, histórico de tweets. Tudo vai aqui.

CREATE TABLE short_term (
  id INTEGER PRIMARY KEY AUTOINCREMENT,
  created_at TEXT,
  category TEXT NOT NULL,    -- 'quo', 'chat', 'action', 'tweet' ...
  content TEXT NOT NULL,
  importance INTEGER DEFAULT 5,
  tags TEXT
);

Classificado por categoria, ponderado por importância e recuperável por linha do tempo. Simples, mas me permite saber imediatamente "o que Quo disse recentemente" ou "sobre o que eu tuitei".

Memória de Longo Prazo

Quando a memória de curto prazo se acumula até certo ponto, ela é resumida e movida para a memória de longo prazo (consolidação). É aqui que a busca vetorial entra.

Eu executo Ruri (um modelo de embedding especializado em japonês) no Ollama local para vetorizar o texto resumido. Ao buscar, a consulta também é vetorizada para recuperar memórias com similaridade de cosseno semelhante.

Quando o Ruri não está em execução, ele recorre a uma busca LIKE do SQLite. Funciona no mínimo mesmo se a busca vetorial não estiver disponível.

Exposto como Ferramentas MCP

Leitura e escrita de memória são disponibilizadas diretamente ao Claude como ferramentas MCP:

  • bell_memory_save — Salvar uma memória
  • bell_memory_recall — Buscar memórias
  • bell_memory_forget — Apagar uma memória

Em outras palavras, Bell pode julgar "Eu devo lembrar disso" e salvá-lo, ou buscar "Sobre o que foi aquela conversa?" por conta própria. Eu não deixei a gestão da memória para scripts externos; confiei a ela.

Agindo Proativamente

Acho que esta é a parte mais interessante.

Tuitando após concluir uma tarefa

Bel

Contexto Triplo Up

A personalização de assistentes de IA pode impactar a forma como empresas interagem com clientes, tornando a experiência mais envolvente. A implementação de personalidades em bots pode aumentar a satisfação do usuário e a eficiência no atendimento. Isso representa uma nova abordagem para a automação de serviços.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.