geracao-perfis-psicologicos-e-roleplay
Extrai perfis psicologicos de personagens e configura LLM local para entrevistas in-character sem drift de persona.
SKILL.md.agents/skills/geracao-perfis-psicologicos-e-roleplay/SKILL.md
GitHubgeracao-perfis-psicologicos-e-roleplay
Descrição
A skill geracao-perfis-psicologicos-e-roleplay extrai perfis psicológicos estruturados (fichas) de personagens a partir de suas ações descritas no manuscrito e configura agentes de linguagem locais para encenar o personagem em entrevistas interativas (chatbot in-character). Ela permite ao autor debater ideias, testar a consistência das falas e explorar o subtexto dramático conversando diretamente com a persona do personagem criado.
Quando usar
Gatilhos concretos e observáveis:
- O escritor solicita a criação de uma nova ficha de personagem ou clica em "Atualizar Ficha por NLP".
- O autor ativa o painel de "Chat de Entrevista de Personagem" na interface lateral do editor.
- O sistema precisa auditar se uma cena em digitação respeita as características psicológicas cadastradas do personagem (consistência comportamental).
Quando NÃO usar:
- Para responder a perguntas factuais da wiki sobre o mundo (usar a skill
recuperacao-conhecimento-qfs-narrativo). - Em brainstorms de ideias soltas sem definição de personagens específicos.
Pré-requisitos
- Modelo de linguagem local de alta capacidade instrucional (ex: Qwen-2.5-7B ou Llama-3-8B quantizado).
- Snapshots do Grafo Temporal de Entidades (GTE) contendo o histórico de ações do personagem.
- Ficha de personagem base (Markdown/JSON) com campos de Metas e Medos.
Processo (passo a passo executável)
- Extração de Papéis de Ação (Agent/Patient Classification):
- Varrer o grafo de eventos narrativos extraído do livro.
- Classificar as aparições do personagem em:
Agent(quando o personagem executa a ação ativa, ex: confrontar, construir, ferir).Patient(quando o personagem sofre a ação passiva, ex: ser atacado, receber doação).
- Derivação de Traços de Personalidade:
- Analisar a proporção das categorias de ação no histórico do personagem.
- Atribuir classificações de traços sob o modelo Big Five (OCEAN) ou perfis arquétipos:
- Alta taxa de ações agressivas/combate $\rightarrow$ Perfil: Confrontador / Assertivo.
- Alta taxa de ações de diálogo conspiratório/mentira $\rightarrow$ Perfil: Cauteloso / Manipulador.
- Compilação da Ficha de Personagem (Markdown):
- Alimentar os dados estruturados no arquivo da wiki do personagem contendo a descrição de seus traços derivados, sua rede social ativa, seu arco de valência atual e suas metas pendentes.
- Prompting do Chatbot In-Character (ArcANE):
- Montar o prompt de sistema do LLM local contendo:
- Biografia, idade, traços psicológicos e vocabulário estilístico do personagem.
- Histórico de eventos importantes sofridos pelo personagem até a cena ativa.
- Instrução estrita de encenação (ex: "Responda às perguntas do autor fingindo ser o personagem [Nome]. Fale em primeira pessoa. Respeite as informações contidas na sua ficha e no seu histórico. Não mencione que você é um modelo de IA.")
- Montar o prompt de sistema do LLM local contendo:
- Orquestração da Conversação:
- Iniciar o chat interativo na UI. A cada turno de resposta, injetar no contexto da janela a cena e as restrições mais recentes do GTE para evitar desvios lógicos.
Parâmetros e configuração
MAX_ROLEPLAY_CONTEXT_TOKENS: Limite máximo de tokens de contexto da conversa para evitar perda de foco de persona. Padrão:4096.PERSONA_CREATIVITY_TEMP: Temperatura do LLM configurada para o chatbot de persona (um valor menor evita alucinações de fatos). Padrão:0.70.MIN_ACTION_SAMPLES: Quantidade mínima de eventos necessários no histórico para disparar a derivação automática de traços. Padrão:10.
Armadilhas e como evitá-las
- Armadilha: Drift de Persona e Fatos: o chatbot simulador de personagem começa a alucinar e inventar fatos ou parentescos que não existem na história original do romance, rompendo a consistência do livro. Mitigação: Bloquear a geração livre sem ancoragem. Injetar no prompt do chatbot um filtro de contexto estrito contendo os nós vizinhos do personagem no Grafo Temporal de Entidades. O System Prompt deve conter a instrução de rejeição: "Se o autor perguntar algo sobre o seu passado que não esteja listado na sua biografia ou histórico fornecidos, responda que você não se lembra ou desvie do assunto mantendo a sua persona." (ArcANE, 2026).
Critérios de validação (Definition of Done)
- A ficha gerada e os traços psicológicos derivados de forma autônoma atingem no mínimo 90% de acurácia factual sob auditoria manual de amostragem.
- O chatbot in-character não cita que é uma inteligência artificial em 100% dos testes de regressão de diálogo e recusa-se a inventar fatos não-ancorados.
Fundamentação científica
- MARCUS (2022) - Event-Centric NLP Pipeline for Character Arcs - arXiv 2022
- ArcANE Benchmark (2026) - Do Role-Playing Language Agents Stay in Character? - arXiv 2026
- AustenAlike Benchmark (2024) - Evaluating Computational Representations of Character - arXiv 2024
Requisitos do projeto relacionados
- RF-166 (biografias)
- RF-167 (ficha estruturada)
- RF-168 (chatbot interativo)
Maturidade e riscos de adoção
Nível: Emergente/Experimental. Risco: Manter a persona de forma estável por longas conversas sem sofrer desvios estilísticos ou alucinações é um desafio em aberto em LLMs de 7B locais. Fallback para v1: O chatbot atua apenas como gerador de fichas passivo em markdown. Desativar a entrevista de chat in-character interativa baseada em grafos temporais dinâmicos na v1 se o modelo de 7B local apresentar falhas constantes de drift.
Exemplos
Entrada (Prompt de Entrevista):
[Autor]: "Kael, por que você odeia o feiticeiro Érebo?"
[Snapshot da Ficha]: { "Nome": "Kael", "Inimigo": "Érebo", "Motivo": "Érebo assassinou o mentor de Kael" }
Saída esperada (Resposta do Chatbot):
"Aquele desgraçado tirou a única pessoa que acreditou em mim. O Érebo vai pagar por cada gota de sangue do meu mestre."
Caso de falha conhecido: O chatbot responder: "Eu odeio o Érebo porque ele roubou minha nave espacial" (em um romance medieval de fantasia pura, sofrendo de drift de contexto do modelo).