O que ne-slop-text faz?
Slop é a média: o que um modelo escreve quando preenche uma lacuna com o movimento mais provável, ou quando é solicitado a "melhorar". Ele está nas decisões (o que é dito explicitamente, quem conduz os eventos, como termina, o que é listado, o que é nomeado), não nas palavras. Trocar palavras não resolve: o StoryScope (Russell et al., COLM 2026) separa histórias de IA de histórias humanas com 93% F1 apenas com base em características de discurso, e uma reescrita superficial profissional moveu a detecção apenas de 95,5% para 93,9%. Os modelos se agrupam em uma região; as pessoas se dispersam. Portanto, este skill não aplica uma receita fixa. Ele encontra, para cada tarefa, onde os modelos padrão pousam, e move o rascunho para longe dali, com material da pessoa.
Como o pipeline foi encontrado e testado: docs/evidence.md. Os caminhos abaixo são relativos ao diretório deste skill.
Entradas
- Uma tarefa (o que escrever, para quem, por quê) ou uma fonte (um texto a corrigir).
- Contexto, opcional: documentos, fatos, as próprias palavras da pessoa (transcrições de voz, chats, anotações internas).
Escolha o modo
- Curto (até ~120 palavras: respostas de chat, mensagens curtas, títulos): Etapa 1, depois Etapa 3. O loop não tem sinal neste comprimento; em um teste cego, resumos de 100 palavras escritos de cinco maneiras diferentes foram indistinguíveis.
- Completo (qualquer coisa mais longa que vai para outras pessoas): Etapas 1, 2, 3, 4. Etapa 5 quando o texto é importante ou o usuário solicita.
Etapa 1. Filosofia, antes de escrever
- Material primeiro. Encontre o que só essa pessoa tem: um episódio específico; uma opinião que ela sustenta; uma força além dela que moldou os eventos (alguém empurrou, algo foi herdado, algo falhou); uma ressalva ou um limite; suas próprias palavras. Textos antigos do mesmo gênero (currículos e cartas anteriores) fornecem fatos, não a voz.
- Material faltante. Se o texto for importante, faça de 1 a 3 perguntas curtas; respostas em voz são as melhores, mantenha a transcrição como material. Faça perguntas abertas que não sugiram a resposta: "como realmente aconteceu", "houve um caso", "o que você acha sobre X", "o que você ainda não sabe fazer". Se não puder perguntar, use especificidades verificáveis (nomes, números, fontes) e deixe as lacunas visíveis. Nunca preencha uma lacuna com a média.
- O leitor e seu código. O que eles pediram literalmente? Que palavras e piadas eles usam? Responder com as próprias palavras deles é vivo quando faz um ponto ("Seu anúncio pede justiça, então não vou alegar ser o melhor: não conheci os outros candidatos"). Usar as palavras deles como rótulos ou cabeçalhos é slop.
- Renderizar próximo ao material. A ordem de pensamento da pessoa, suas ressalvas ("provavelmente", "no geral"), tradução literal em vez de idiomática, primeira pessoa com verbos curtos: "Eu lidero 3 engenheiros de QA e aprovo lançamentos" foi marcado como vivo; "Lidero uma equipe de 3 engenheiros de QA e sou responsável pela aprovação de lançamentos" foi marcado como slop.
- O gênero vive no contêiner (formato, comprimento, saudação, campos obrigatórios), não em cada frase. Listas vão onde as listas pertencem (uma seção de habilidades, uma tabela, o CV anexado); uma frase carrega um episódio ou um mecanismo.
- Desconfie do que vem fácil. Se uma frase chegou sem uma decisão, provavelmente é a média.
Etapa 2. O loop: para longe do padrão (modo completo)
- Padrões. Invoque 3 agentes novos em modelos diferentes (ex.: opus, sonnet, haiku). Dê a cada um a tarefa simples e
o mesmo contexto com
loop/default_prompt.md. Eles não devem ver este skill, o rascunho nem uns aos outros. - Anote. Um agente novo adicional, em um modelo diferente do escritor, anota o rascunho e os padrões
com
loop/questionnaire.json, seguindoloop/annotator.md. Saída:features.json. - Relatório.
python3 loop/consensus.py loop/questionnaire.json features.json D1,D2,D3 DRAFT TEXTS_DIR > report.txtfornece P1 (o rascunho faz o que todo padrão faz e tende a ser mecânico), P2 (tende a ser mecânico por peso), Keep (tendência humana, não perder), os 4-gramas compartilhados com os padrões e quão próximo a frase de abertura está deles. - Revise. Um agente novo aplica
loop/reviser.mdao rascunho com o relatório e o contexto. Material supera pesos: uma frase que renderiza as próprias palavras da pessoa permanece mesmo se uma característica a sinalizar. - Pare após no máximo 2 rodadas, ou quando P1 estiver vazio. O texto não deve ficar mais longo.
Custo: cerca de 6 a 8 chamadas de agente e 3 a 5 minutos. Consenso por si só não é slop: quando o contexto é rico, todo padrão também tem um episódio específico. Uma sinalização precisa de ambos: os padrões concordam e a característica tende mecânico. Alguma concordância é apenas o gênero (um README diz como instalar); informe ao revisor qual é o contêiner.
Etapa 3. Lint, por último
python3 lint/lint.py FILE --lang en (ou ru), depois leia lint/en.md ou lint/ru.md. Corrija apenas o que for sinalizado;
não reestruture nesta etapa. As listas de palavras são o sinal mais fraco e o primeiro a envelhecer.
Etapa 4. Saída
Forneça ao usuário: o texto; o que mudou e por quê, em algumas linhas; perguntas em aberto e lacunas que permaneceram visíveis. Quando o contexto foi usado, ofereça um mapa "linha ← fonte". Nunca edite os arquivos originais do usuário; escreva rascunhos próximos a eles.
Etapa 5. Aprenda
- Teste cego para textos importantes:
python3 tools/blind.py out.html key.json "Título" "Subtítulo" nome=caminho=rótulo ...Vários processamentos do mesmo material, classificação sem empates, marcas de frase (slop / vivo). Compare pelo menos dois parágrafos; trechos curtos não separam. - Marcas se tornam pesos. Acrescente as marcas do usuário a
learn/marks.jsonlcom uma tag de padrão delearn/patterns.md, depois executepython3 learn/update_weights.py. Ele mostra quais padrões estão estabilizados e quais pesos do questionário discordam deles; editeloop/questionnaire.jsonpara corresponder. Um novo padrão marcado como slop duas vezes e nunca vivo se torna uma nova característica. - Rejeições ensinam mais que elogios. Quando o usuário editar seu texto, faça um diff: o que eles cortaram também é uma marca.
O que não fazer (cada um foi testado)
- Polimento em direção ao gênero ("tornar mais profissional"): o discurso de currículo e o herói solitário voltam, e os episódios são distorcidos.
- Gerar a partir de bom material em uma única passagem: o modelo dissolve a voz na média e descarta a opinião.
- Realizar casualidade: piadas escritas como construções ("A resposta de piada é...; a resposta real é..."), reescritas "adicione personalidade". Esta é a assinatura do humanizador que as pessoas identificam.
- Extrair uma opinião de notas antigas em vez da pessoa, ao vivo. As notas diziam uma coisa; a pessoa disse outra.
- Caçar palavras raras. Texto vivo é lexicalmente comum; a raridade está em suas decisões.
- Viradas inteligentes, até mesmo as da própria pessoa ("fale com engenheiros como um engenheiro", "...e a equipe entrega tickets um para o outro").
- Texto sobre si mesmo ("O X primeiro, já que você pediu explicitamente").
Onde outras abordagens se encaixam
ne-slop(o skill pai, para qualquer trabalho criativo): A Etapa 1 é sua parte específica de texto. Material real, muitas decisões explícitas pequenas, várias variantes diferentes, a pessoa escolhe, rejeições são lembradas, olhe para o resultado.- StoryScope: a teoria por trás da Etapa 2 e a semente dos pesos do questionário.
- unslop: o teste de portabilidade (esta frase se encaixaria em outra pessoa ou empresa?) e suas salvaguardas contra fatos inventados pertencem às Etapas 1 e 3; suas listas de palavras alimentam o lint.
- humanizer: sua lista de padrões alimenta o lint. Sua reescrita com "personalidade e alma" é propositalmente excluída.