Construindo uma web de confiança para combater spam de LLMs
(blog.tangled.org)- O Tangled oferece suporte nativo ao recurso de vouching, que permite aos usuários endossar ou condenar outros usuários com quem interagiram, usando isso como um sinal de confiança para lidar com o aumento de envios baseados em LLM
- Usuários endossados exibem um ícone de escudo verde ao lado da foto de perfil, enquanto usuários condenados exibem um ícone de escudo vermelho, servindo como pista para decidir se vale a pena interagir
- À medida que ferramentas baseadas em LLM reduzem a barreira para enviar código a projetos, podem aumentar os envios no estilo “vale da estranheza”, que parecem corretos à primeira vista, mas estão sutilmente errados, e mantenedores podem endossar ou condenar contribuidores que abusem dessas ferramentas e criem mais carga de manutenção
- Endossos e condenações incluem um campo de motivo em texto e contam com atenuação, de modo que cada usuário vê apenas os julgamentos feitos por si mesmo e por seu círculo
- Ao endossar ou condenar alguém no Tangled, é criado um registro público no PDS do usuário, e o appview agrega esses dados para mostrar um “chapéu” de endosso sobre o perfil em issues, comentários, pull requests e comentários de pull requests
Sinais de confiança do Tangled
- O Tangled oferece suporte nativo a vouching, permitindo que usuários endossem ou condenem outros usuários com quem interagiram
- Usuários endossados exibem um ícone de escudo verde ao lado da foto de perfil, e usuários condenados exibem um ícone de escudo vermelho
- Usuários também podem ver os julgamentos de endosso e condenação feitos por seu círculo e usar isso como sinal para decidir se querem interagir
- À medida que ferramentas baseadas em LLM reduzem a barreira para enviar código a projetos, podem surgir mais envios no estilo “vale da estranheza”, que parecem corretos, mas estão sutilmente errados
- Mantenedores da rede Tangled podem endossar ou condenar contribuidores que abusem dessas ferramentas e aumentem a carga de manutenção
Como funciona e restrições de design
-
Design cuidadoso
- Endossos e condenações incluem um campo de motivo em texto
- Há aplicação de atenuação, de modo que usuários veem apenas os julgamentos feitos por si mesmos e por seu círculo
- No momento, usuários condenados não são bloqueados no projeto; apenas um rótulo vermelho de aviso aparece em partes da interface
-
Recursos planejados
- Como mantenedores e contribuidores podem deixar um projeto com o tempo, os endossos enfraquecem ao longo do tempo e precisam ser renovados ocasionalmente
- Pode ser adicionado um recurso de rastreamento de evidências, no qual, ao endossar um usuário logo após fazer merge de um PR, esse PR é anexado como evidência ao registro de endosso
-
Registros públicos e onde aparecem
- Quando alguém é endossado ou condenado no Tangled, é criado um registro público no PDS do usuário
- Esse registro inclui se foi um endosso ou uma condenação, além de um motivo opcional
- O appview do Tangled agrega os dados de endosso de toda a rede e mostra um “chapéu” de endosso sobre o perfil nos pontos de interação
- Os locais de exibição são issues, comentários de issues, pull requests e comentários de pull requests
-
Visibilidade baseada em círculo
- O chapéu só é exibido sobre um usuário quando ele foi endossado ou condenado diretamente pelo próprio usuário, ou por alguém que o usuário endossou e que então endossou ou condenou essa pessoa
- Ao clicar no chapéu, é possível ver quem, dentro do seu círculo, endossou ou condenou aquele usuário
- No momento, o resultado de uma condenação é apenas a exibição do chapéu, e embora isso possa mudar no futuro, por enquanto serve como um sinal para ajudar no julgamento
1 comentários
Comentários do Lobste.rs
Uma forma melhor e mais simples seria criar uma política forte anti-LLM e aplicá-la de verdade. Também é preciso sair de plataformas que incentivam o uso de LLM ou têm viés pró-IA, como o GitHub
Não é 100% eficaz, mas mesmo quando tentam esconder o uso de LLM isso normalmente acaba aparecendo, e aí basta banir na hora. Se uma empresa empurra spam de LLM, bloqueie a empresa inteira; se for um forge auto-hospedado, bloqueie a rede da empresa no firewall
Sistemas meia-boca como prova de trabalho prejudicam contribuidores de primeira viagem e ocasionais, e no fim aval de confiança também é prova de trabalho. Em vez de atormentar os mais fracos, é mais eficaz bater rápido nos maus atores
A própria citação diz que ele avalia positiva ou negativamente contribuidores que usam mal essa ferramenta e criam carga de manutenção
Fazer as pessoas aceitarem um banimento em nível de plataforma só porque alguém está promovendo caça às bruxas contra LLM teria efeito contrário. Aqui e no HN às vezes já aparece suspeita errada de que um texto foi escrito por LLM; se isso tivesse de ser tratado em PR, seria realmente cansativo
O sistema busca evitar contribuidores que usam mal ferramentas e geram carga de manutenção, e também poderia ser usado contra contribuidores que geram carga de manutenção da forma antiga. Parece mais um modelo mais avançado de permissão de commit
Se houver uma política anti-LLM, dá para aplicá-la com isso; se houver uma política contra assédio, dá para aplicá-la com isso também
Se isso não estiver ligado diretamente ao envio de PR, então no melhor caso parece inútil e no pior um sistema de moderação nocivo. Alguém vai começar a difamar em massa usuários que já usaram LLM, e depois podem começar ataques coletivos por outros motivos também
A web of trust em si é legal, mas este projeto só trata do lado técnico e não do lado social. Se você vai criar um sistema de moderação sem uma grande seção incorporando aos resultados do sistema a pergunta “como escalar isso sem abuso?”, vai acabar tendo surpresas
É um experimento bem interessante, porque primeiro acopla motivação social para tentar resolver um problema social, e o desenho parece esperto
Se “usuários denunciados não sofrem consequência nenhuma. Só ganham um chapéu”, então qual é o sentido disso? No fim, ainda será preciso lidar com os PRs do mesmo jeito
Por exemplo, seria possível bloquear ou reduzir prioridade
Existe algum mecanismo que impeça alguém de criar vários domínios, gerar um milhão de usuários em cada um e fazer com que eles avalizem uns aos outros? Nesse caso, outras pessoas poderiam comprar de mim pacotes de reputação difíceis de distinguir de reputação real
Sinceramente, o modelo de árvore de convites do lobste.rs parece melhor. Quando alguém começa a abusar, fica fácil cortar a subárvore inteira, e o crescimento mais lento acaba sendo uma vantagem
No human.json, provavelmente ninguém avalizaria nós de uma rede assim, ou haveria conexões de entrada demais para a distância ficar grande. Isso não quer dizer que seria impossível colocar um site na rede, mas avales e desconfiança poderiam expulsá-lo rapidamente. Ainda precisamos ver como isso funcionaria na prática
Seria legal ter uma camada de UI parecida com petnames, para ver em linha ou ao passar o mouse algo como “avalizado por X, Y, Z”
Fico curioso sobre o quanto isso conseguiria impedir “fazenda de reputação”
No fim, todos os dados são públicos, então alguém poderia criar o tangled2.org e montar um grafo global, mas na UI os avales foram deliberadamente desenhados para enfraquecer fora do próprio círculo
A ideia é boa, mas fico pensando se não bastaria se comunicar naturalmente. Até as comunicações triviais estão organizadas e consistentes demais
Se você deixar alguns erros de digitação no que escreve, isso cria uma espécie de impressão digital humana
Gostei da ideia. Lembra o tree of trust que o próprio lobste.rs usa
Dá a sensação de que estamos recriando rapidamente aquela pesquisa sobre métricas de confiança que aconteceu quase ao mesmo tempo que o nascimento do open source. Fico curioso para saber o que @raph acharia disso
Não era perfeito, mas com certeza era muito melhor do que não ter nada
Parece que já existem umas seis coisas desse tipo; então por que não se juntar a uma delas em vez de criar mais uma?