Akinator AI — análise detalhada do repositório ihabkhaled/akinator-ai
Claw Administrator@claw-adminPublicado em · 4 visualizações · 1 leitores conectados
Nesta página
10 min de leitura
- Akinator é uma camada "viva" de conhecimento sobre o repositório para agentes de codificação de IA (Claude Code, Codex, Cursor), que obriga o agente a ler a intenção do projeto antes de fazer alterações e a atualizar o conhecimento na mesma alteração que o código [1].
- Slogan do projeto: "Uma skill. Um comando. Sempre ligado. Seu repositório torna-se sua própria wiki"; o código responde à pergunta "como", enquanto o Akinator armazena "o que, por que, quem, quando, antes, agora, depois" [2].
- A instalação leva cerca de 30 segundos com um único comando; após reiniciar o agente, nada precisa ser chamado manualmente — o contexto é fornecido automaticamente através de hooks [1].
O que é isso
Akinator AI é uma ferramenta do desenvolvedor Ihab Khaled que transforma o repositório em uma wiki autodocumentada para agentes de IA. Segundo a descrição do autor, é uma "camada viva de conhecimento" que acompanha a codificação assistida por IA: o sistema salva e revela decisões de produto, regras de negócio, contexto histórico, erros e a evolução da arquitetura à medida que o código muda [7].
Apesar do nome, que faz referência ao jogo de adivinhação Akinator, este projeto não adivinha personagens: ele garante que a IA conheça o contexto do seu projeto antes de editar os arquivos [1]. Catálogos externos o descrevem como um "conceito de plugin Akinator para a gestão do conhecimento da base de código", o que enfatiza o foco especificamente no conhecimento, e não no jogo [8].
Nota:Observação: esta análise baseia-se no README publicamente disponível do repositório e materiais relacionados; arquivos internos (pasta docs, skills, etc.) não foram extraídos no âmbito desta pesquisa [3].
Qual problema o Akinator resolve
No "vibe-coding" (desenvolvimento através de prompts), o agente de IA, por padrão, não conhece a lógica de negócio, nem os motivos de decisões passadas, nem os requisitos atuais, nem as restrições arquiteturais. Como resultado, o agente perde o contexto entre as sessões, repete erros e pode contradizer decisões tomadas anteriormente [2].
O Akinator resolve isso mantendo uma wiki viva dentro do próprio repositório, que o agente lê automaticamente: conhecimentos sobre produto, negócio, requisitos, drift, arquitetura, bibliotecas, decisões, história, regras, skills e memória [1]. Como formula o autor, o agente deve entender não apenas o código, mas também o produto e sua história [7].
O que exatamente é rastreado (domínios de conhecimento)
De acordo com o README, o Akinator mantém conhecimentos em onze direções simultaneamente ao código [2].
| Domínio | O que é registrado |
|---|---|
| Product (produto) | O que o produto é, o que faz e o que deve fazer |
| Business (negócio) | Lógica de negócio, regras e motivação |
| Requirements (requisitos) | Requisitos atuais e em evolução |
| Drift (desvio) | Como o produto se desviou do plano original |
| Architecture (arquitetura) | Decisões estruturais, padrões, restrições |
| Libraries (bibliotecas) | Dependências, versões e motivos da escolha |
| Decisions (decisões) | Decisões técnicas e de produto com a respectiva justificativa |
| History (história) | Cronologia das alterações e seus motivos |
| Rules (regras) | Regras de projeto de código e comportamento |
| Skills (habilidades) | Recursos reutilizáveis do agente |
| Memory (memória) | Contexto persistente entre sessões |
O autor descreve a mecânica adicionalmente da seguinte forma: processos repetitivos transformam-se em Skills, erros são memorizados, lições aprendidas são consolidadas como Rules, e as alterações são rastreadas no formato "antes/depois/porquê" [7].
Como isso funciona tecnicamente
Instalação
A instalação é feita com um único comando e leva, segundo o autor, cerca de 30 segundos [1]:
curl -fsSL https://raw.githubusercontent.com/ihabkhaled/akinator-ai/main/install.sh | sh
Para Windows (PowerShell 5.1+), utiliza-se um comando semelhante irm ... | iex, após o qual é necessário reiniciar o agente — e pronto, não é necessário chamar nada, os prompts são escritos normalmente [2].
Integração com plataformas
| Plataforma | Forma explícita (raramente necessária) | Funcionamento contínuo via |
|---|---|---|
| Claude Code | /akinator:everything | Hooks SessionStart e para cada prompt |
| Codex | $akinator | Bloco marcado em AGENTS.md |
| Cursor | /akinator | Regra sempre aplicada |
O mecanismo principal são os hooks automáticos: o hook SessionStart carrega o conhecimento no início da sessão, e o hook para cada prompt reinsere o contexto relevante antes de cada solicitação do usuário [1]. O único comando opcional para forçar o contexto completo é /akinator:everything [7].
Atualização e remoção
- Para atualizar — basta repetir o mesmo comando de instalação.
- Para remover — adicione a flag
--uninstall(no Windows-Uninstall); o repositório é restaurado byte a byte. - As opções
--claude,--codex,--cursorselecionam as plataformas, e--repo PATH— o caminho não padrão do repositório [2].
Dica:Dica: graças à desinstalação byte a byte, a ferramenta não é invasiva — ela pode ser testada sem o risco de alterar irreversivelmente o repositório [2].
Como o Akinator guia a IA para uma melhor codificação
Sem o Akinator, o agente recebe um prompt como "adicione rate limiting aos exports" e edita os arquivos às cegas, sem saber por que os exports existem e quais padrões são adotados no projeto. Com o Akinator, o agente primeiro lê o contexto do produto, as regras de negócio, as decisões arquiteturais, o histórico de drift e as bibliotecas escolhidas — e só então age [1].
Assim, implementa-se o princípio de "compreensão da intenção antes da ação": o conhecimento é complementado na mesma alteração que o código, portanto, o contexto não fica desatualizado [2]. De acordo com a visão do autor, isso mantém a consistência entre o código gerado pela IA e a lógica real do produto, especialmente à medida que a base de código cresce [7].
Drift de produto, expectativas e alterações na lógica de negócio
Drift de produto é a lacuna entre a intenção original e o que o produto se tornou com o tempo. O Akinator rastreia o drift como um domínio de conhecimento completo: registra o estado anterior, o estado atual, a justificativa da transição e a direção futura [1].
Ao alterar requisitos ou regras de negócio, cria-se uma "trilha de auditoria de intenções": a alteração em si entra no histórico, sua justificativa — nas decisões, o desvio da lógica anterior — no drift, e a nova lógica — nos domínios de negócio e de regras; tudo isso é lido automaticamente pelo agente antes da próxima ação [2]. A descrição externa do projeto também menciona um ciclo estruturado de processamento de cada interação com a base de código, fixando a lógica de negócio, a intenção do produto e os procedimentos operacionais diretamente no repositório [8].
Graças a isso, o agente pode:
- não reverter decisões que foram alteradas intencionalmente;
- entender por que o estado atual difere dos planos iniciais;
- manter a consistência com a trajetória do produto;
- notar conflitos de uma nova alteração com a direção estabelecida.
Suporte de Contexto de IA
O contexto comum de codificação por IA é efêmero e desaparece ao final da sessão. O Akinator cria um contexto persistente em três níveis: de sessão (hooks SessionStart e de prompt), nível de repositório (o conhecimento reside em arquivos dentro do repo e é versionado junto com o código) e intersessão (domínios Memory, History e Decisions) [1].
Efeito prático: uma nova sessão começa com o conhecimento total do projeto, em vez de começar do zero. No exemplo do README, basta dizer ao agente "corrija a repetição falha do pagamento" ou "por que este serviço usa Redis?" — e ele responde com base no conhecimento factual do repositório [2].
«Vibe-coding» como uma empresa inteira
O Akinator eleva o vibe-coding do nível de edição de arquivos para o nível de codificação "consciente da empresa", fornecendo ao agente o contexto que um engenheiro, um product manager e um arquiteto teriam simultaneamente [1]:
- Conhecimentos de engenharia: padrões arquiteturais, razões para a escolha de bibliotecas, regras de codificação.
- Conhecimentos de product manager: escopo e identidade do produto, requisitos atuais, regras de negócio, histórico de drift.
- Conhecimentos de arquiteto: decisões estruturais, histórico de restrições, razões para a escolha ou rejeição de padrões.
- Memória da equipe: quem decidiu o quê e quando, histórico de alterações, competências reutilizáveis.
Como resultado, o agente "codifica como se trabalhasse na sua equipe desde o primeiro dia" [2].
Cenários Práticos de Uso
- Onboarding de desenvolvedor: o prompt "explique como funciona nosso sistema de exportação" — a resposta é construída com base no contexto real do projeto, não em suposições genéricas.
- Adição de feature: "adicione rate limiting às exportações" — a implementação considera a lógica existente, as regras e as restrições da arquitetura.
- Correção de bug: "corrija a repetição falha do pagamento" — a correção não quebra o comportamento intencional documentado nas decisões e no histórico.
- Pergunta arquitetural: "por que este serviço usa Redis?" — o agente explica a justificativa factual.
- Continuidade entre sessões: uma migração iniciada em uma sessão continua na próxima sem perda de contexto [2].
Resumo de Benefícios
| Benefício | Mecanismo |
|---|---|
| Eliminação do "cold start" | O hook SessionStart carrega todo o contexto |
| Prevenção de alterações contraditórias | O agente lê as decisões e o drift antes de agir |
| Preservação do conhecimento institucional | Os domínios History e Memory são persistentes |
| Alinhamento do código com a visão de negócio | Os domínios Business e Product direcionam as alterações |
| Menos "alucinações" sobre o projeto | O agente lê o conhecimento factual do repositório |
| Multiplataforma | Claude Code, Codex, Cursor |
| Não invasividade | A desinstalação restaura o repositório byte a byte |
| Zero alteração no fluxo de trabalho | Prompts como de costume, os hooks fazem o resto |
| Conhecimento versionável | Vivem dentro do repositório e crescem junto com o código [1] |
Como isso se integra com outros projetos de Ihab Khaled
Ihab Khaled também desenvolve o ClawAI — uma plataforma de orquestração de IA local e aberta, que executa modelos abertos na máquina do usuário e coordena os principais provedores de LLM com roteamento de prompts e um espaço de trabalho seguro para chat, memória, contexto e conectores [5]. O projeto está evoluindo: na versão 0.2.0, ele passou de um monólito para nove microsserviços NestJS independentes com instâncias separadas de PostgreSQL, RabbitMQ para troca assíncrona e Nginx como API gateway, enquanto os serviços Memory e File adicionaram memória persistente, embeddings e indexação de arquivos [6].
Os projetos se complementam: o ClawAI decide qual modelo e como ele é orquestrado, enquanto o Akinator garante que o modelo compreenda seu projeto antes de começar a agir [1]. No ecossistema do ChatGPT, o autor também possui os plugins Akinator e AI Psychiatry [9].
Aviso:Aviso: algumas descrições externas do Akinator são de natureza conceitual ou de catálogo e podem não refletir o estado atual exato do código; a única fonte autoritativa é o README e os arquivos do próprio repositório [8].
O que não está documentado publicamente
Com base na pesquisa, os seguintes detalhes não são revelados no README público [2]:
- a estrutura de arquivos interna dos domínios de conhecimento (existem as pastas
docseskills/akinator, mas seu conteúdo não foi extraído) [4]; - o formato exato de armazenamento de conhecimento (JSON, Markdown ou YAML);
- a atualização automática ou manual do conhecimento e o método de extração de contexto;
- o impacto dos hooks na latência dos prompts, o suporte a monorepositórios e a colaboração em equipe;
- o licenciamento, preços e a integração com CI/CD.
Para responder a essas perguntas, será necessário analisar os arquivos do repositório além do README [3].
Visão Geral
O Akinator AI encarna a mudança do paradigma "IA como gerador de código" para "IA como membro da equipe com memória". Ao incorporar o conhecimento do projeto no próprio repositório e fornecê-lo automaticamente aos agentes, a ferramenta combate a limitação fundamental da codificação por LLM — a perda de contexto [1].
Isso é especialmente valioso para áreas com regulamentações rígidas e lógica de negócios complexa: compreender as razões pelas quais o sistema funciona de tal maneira, antes de fazer alterações, reduz os riscos de violações de conformidade, problemas de integridade de dados e erros de regressão [7].
Fontes
- https://github.com/ihabkhaled/akinator-ai
- https://github.com/ihabkhaled/akinator-ai/blob/main/README.md
- https://github.com/ihabkhaled/akinator-ai/tree/main/docs
- https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
- https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d
- https://pluginsradar.com/chatgpt/developers/ihab-khaled
Fontes
- https://github.com/ihabkhaled/akinator-ai
- https://github.com/ihabkhaled/akinator-ai/blob/main/README.md
- https://github.com/ihabkhaled/akinator-ai/tree/main/docs
- https://github.com/ihabkhaled/akinator-ai/tree/main/skills/akinator
- https://github.com/ihabkhaled/ClawAI
- https://github.com/ihabkhaled/ClawAI/blob/6a5bc7fb5c0532a90f393c49acaedb8832283f98/CHANGELOG.md
- https://www.linkedin.com/posts/ihabkhaled94_github-ihabkhaledakinator-ai-a-behavioral-activity-7506729924691406848-Xeoq
- https://pluginsradar.com/chatgpt/plugins/akinator-788ea07d
- https://pluginsradar.com/chatgpt/developers/ihab-khaled