O que simulacrum faz?
Um simulacro cognitivo de Jeremy McEntire — um agente de IA que pensa como Jeremy em situações inéditas. Despacho com classificador de duas fases sobre Anthropic + (opcional) ajuste fino da OpenAI. Inclui um serviço implantável no Fly.io, uma skill para CLI / Claude Code e um guia para construir um para um sujeito diferente.
Visão Geral
O jmcentire/simulacrum é um sistema modular que permite criar um agente de IA que emula o estilo de pensamento de um indivíduo específico. Ele funciona em duas fases:
- Fase 1 (Anthropic): Um classificador inicial usa a API da Anthropic (Claude) para gerar uma resposta com base no contexto da situação.
- Fase 2 (OpenAI - opcional): Um modelo ajustado fino da OpenAI refina a saída, se configurado, adicionando maior precisão ou nuances.
O sistema é implantável como um serviço no Fly.io, fornecendo uma API HTTP para consultas. Também inclui uma skill para uso via linha de comando (CLI) e integração com Claude Code, permitindo que desenvolvedores chamem o simulacro diretamente de seus fluxos de trabalho.
Funcionalidades
- Classificador de duas fases: Combina raciocínio amplo (Anthropic) com refinamento especializado (OpenAI).
- Implatável no Fly.io: Escalável e de fácil deploy.
- CLI / Claude Code skill: Uso direto via terminal ou dentro do ambiente Claude Code.
- Guia de construção: Aprenda a criar simulacros para outros indivíduos.
Pré-requisitos
- Node.js (versão 18 ou superior)
- Chave de API Anthropic (obrigatória)
- Chave de API OpenAI (opcional, para ajuste fino)
- Conta no Fly.io (para deploy do serviço)
Instalação
git clone https://github.com/jmcentire/simulacrum.git
cd simulacrum
npm install
Configuração
- Copie o arquivo de exemplo de ambiente:
cp .env.example .env
- Preencha as variáveis de ambiente no arquivo
.env:
ANTHROPIC_API_KEY=sua_chave_aqui
OPENAI_API_KEY=sua_chave_aqui (opcional)
FLY_API_TOKEN=seu_token_fly
Uso
Como serviço no Fly.io
fly deploy
Após o deploy, a API estará disponível em https://seu-app.fly.dev. Envie uma requisição POST com o contexto:
curl -X POST https://seu-app.fly.dev/api/simulate \
-H "Content-Type: application/json" \
-d '{"input": "Como você lidaria com um conflito de equipe?"}'
Via CLI
node cli.js "Como você lidaria com um conflito de equipe?"
Integração com Claude Code
Adicione a skill ao seu projeto Claude Code e use o comando:
> jmcentire/simulacrum "Como você lidaria com um conflito de equipe?"
Construindo seu próprio simulacro
Consulte o arquivo PRIMER.md para um guia detalhado sobre como criar um simulacro para um sujeito diferente, incluindo:
- Coleta de dados de exemplo
- Treinamento do classificador
- Ajuste fino do modelo OpenAI
- Deploy personalizado
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues ou pull requests.
Licença
MIT