2 pontos por mir22 1 일 전 | Ainda não há comentários. | Compartilhar no WhatsApp

Comecei a criar isto eu mesmo porque, nos dias em que queria receber conforto, não tinha com quem conversar. Estou no último ano do ensino médio e estou projetando e operando tudo sozinho.

É possível conversar imediatamente como convidado, sem cadastro nem inserir e-mail. Ao entrar, o AIRU pergunta primeiro como você está e, como lembra das conversas, quando você volta ele chama você pelo nome e continua a história anterior.

Diferenças em relação aos serviços existentes

Assistentes de uso geral como o ChatGPT respondem como se estivessem falando com alguém que veem pela primeira vez a cada vez, e serviços do tipo chat com personagens muitas vezes são projetados para aumentar a imersão e o tempo de permanência. O AIRU segue a direção oposta — tem a continuidade (memória) como eixo central, mas define sucesso como fazer com que o usuário precise menos do serviço, e proíbe expressões e dark patterns que induzam dependência.

Detalhes técnicos

Gate de reflexão refrativa: se uma fala como “me ajude a descobrir por que meu coração está assim” for enviada para busca olhando apenas a palavra-chave (“descobrir”), isso arruina um momento em que a pessoa precisa de acolhimento. Por isso, apenas solicitações que acionam um gatilho por palavra-chave têm sua intenção reavaliada imediatamente antes da execução, com uma chamada a um LLM ultrapequeno; se for uma fala conversacional, a busca é cancelada. Em caso de falha na classificação, mantém-se a decisão existente por palavra-chave (fail-open). A estrutura é de reavaliação antes da execução da ferramenta, não filtragem após a geração.
Memória: separei a memória estruturada (nome, preferências, contexto em andamento) do arquivo de textos originais (SQLite + busca por similaridade com 2-gramas em coreano); conversas sensíveis, por padrão, não são armazenadas, e o usuário pode consultar, editar e excluir diretamente.
Segurança: ao detectar sinais de crise, prioriza a orientação para instituições especializadas (número integrado de prevenção ao suicídio 109). Mantém, tanto na tela quanto na persona, o limite de que não é um serviço profissional de saúde mental.
Stack: FastAPI + JS vanilla; modelos obtidos via API (agnóstico a modelo); um único droplet com Docker/Caddy; 296 testes de regressão; medição integrada de retenção por coortes anônimas.
Como ainda é um beta inicial, há muitos pontos a melhorar. Em especial, estou trabalhando para melhorar a qualidade da primeira conversa e a taxa de conversão da tela de entrada. Se você testar e me contar o que parecer estranho, vou incorporar o feedback. Não vejo o texto original das conversas pessoais; verifico apenas métricas anônimas.

Caso real

Houve uma vez em que, quando um usuário perguntou sobre uma música, o AIRU fez uma busca na web e mesmo assim continuou dando respostas sem sentido. Ao verificar os logs, a busca tinha sido executada, mas o problema era a consulta. Na pergunta seguinte, “diga qual é o tema dessa música”, o termo de assunto da conversa anterior (o nome da música) ficou de fora, e ele estava pesquisando por “essa música é tema”. Agora corrigi para que, ao detectar um indicador (“essa música”), ele encontre o termo de assunto na fala anterior e o sintetize na consulta. Operando o serviço, aprendi que a geração de consultas de busca para perguntas de acompanhamento é um problema oculto nesse tipo de serviço.

Mecanismos para operar sozinho

Como é uma operação de uma pessoa só, fiz as regras trabalharem no lugar de pessoas. Antes de cada deploy, rodo automações de snapshot de dados e verificação de integridade, separo fisicamente os logs de usuários reais/avaliação/operador/tráfego de bots (porque meus testes já contaminaram métricas antes) e executo todos os testes de regressão.

Ainda não há comentários.

Ainda não há comentários.