nofone n of one
radar-de-roles
13 out 2026

Quatrocentas perguntas pequenas para o Jev

A lista do Radar de Rolês levava um minuto para sair. Um modelo que não escreve nada, só responde perguntas, derrubou isso para onze segundos. Custou três versões das perguntas e quase o mesmo dinheiro.

~1.800 datas
na agenda de SP

Para montar a lista de shows de alguém, o Radar de Rolês precisa olhar a agenda inteira da cidade e achar o que combina com o gosto da pessoa. São umas 1.800 datas em São Paulo. Um código simples faz a primeira peneira e separa até 400 candidatos; depois um modelo lê esses candidatos e escolhe dez.

Quando fiz um piloto com alguns amigos, a principal reclamação foi uma só: demorava muito para o radar ficar pronto. Fui conferir e era isso mesmo. Nas primeiras listas feitas no site, a escolha levou de 37 a 290 segundos, com mediana de 61. O resto (mapear os artistas, a peneira) terminava em uns cinco.

Era o esperado para a arquitetura que eu tinha escolhido: uma chamada ao DeepSeek Flash com o thinking ligado, lendo todos os candidatos de uma vez e decidindo o que combinava melhor. O tempo vem do quanto o modelo pensa, entre 10 e 25 mil tokens de raciocínio por lista, e não do quanto ele lê. Mandar menos candidatos não adiantava.

DeepSeek com thinkingaté 05/10
mediana 61 s
060120180240300 s
Quanto a escolha levou em cada lista feita no site com o DeepSeek pensando, um ponto por lista. Passe o mouse num ponto para ver o tempo.

Desligar o thinking

Como o que fazia o tempo de resposta ser alto era o thinking do modelo, a escolha óbvia seria desligá-lo. Já tinha tentado, e o tempo caiu mesmo, para 6 ou 7 segundos, mas a qualidade da lista caiu junto. Num perfil de rock clássico e MPB vieram quatro tributos: “Blues Beatles”, uma noite de bandas cover de Black Sabbath e Led Zeppelin, “Escafandristas cantam Chico Buarque”. Os dez shows caíam todos nos próximos dez dias, porque o modelo pegava os candidatos de cima e eles chegam em ordem de data. Em outro teste, o modelo sem o thinking não recomendou nenhum show de rap para quem curtia Racionais.

Para um site cuja premissa é descobrir coisa nova que a pessoa de fato curta, não dava para seguir assim.

O Jev

Jev 1.13, TypeSafe
70 a 500 ms por chamada,
segundo a TypeSafe
US$ 0,042 por milhão
de tokens de entrada

Foi então que um amigo me sugeriu experimentar o Jev, da TypeSafe. Eu já tinha lido um monte de relato de gente mostrando maravilhas com ele, mas não estava convencido de que cabia neste projeto. O Jev não escreve texto: você manda um estado e um punhado de perguntas tipadas (sim ou não, uma opção entre várias, uma nota numa escala) e ele devolve probabilidades, em menos de meio segundo. Um classificador desse tipo não parecia que faria um bom trabalho recomendando shows de bandas. Mesmo assim, resolvi testar, nem que fosse para aprender a usar.

A ideia foi trocar uma decisão grande por muitas pequenas. Em vez de pedir dez shows escolhidos entre 400, faço uma chamada por candidato, com o gosto da pessoa e um show, e três perguntas. Dezesseis chamadas em paralelo, e os 400 saem em uns sete segundos.

Três versões das perguntas

A primeira versão perguntava quanto o show combinava com o gosto. O Jev respondeu exatamente o que eu perguntei: um tributo ao Queen combina muito com quem ouve Queen. No perfil de rock clássico (Beatles, Queen, Chico Buarque, Caetano, Hendrix, Led Zeppelin, Daft Punk, Franz Ferdinand), 22 dos 25 primeiros eram tributos ou festas.

v1 · rock clássicoencaixe, 0 a 3
  1. 1Queen Music Tributetributo2,99
  2. 2BEATLES 4EVERtributo2,99
  3. 3Caetano Veloso nos Festivaisshow2,99
  4. 4Queen Live Kidstributo2,95
  5. 5BANDA GLÓRIA | ESPECIAL CAETANO, GIL E CHICOtributo2,92
  6. 6Black Sabbath (Reunion) + Led Zeppelin (Swan Song) + Depp Purple (Purplestorm)tributo2,91
  7. 7Escafandristas cantam Chico Buarquetributo2,89
  8. 8Daft Club no Hifi Communitytributo2,87
  9. 9GRAG QUEEN NA GAMBI!show2,86
  10. 10BLUES BEATLEStributo2,80
  11. 11NINA GUIMARÃES CANTA JANIS JOPLINtributo2,66
  12. 12DIAMOND DOGS | TRIBUTO A DAVID BOWIEtributo2,65
  13. 13Pirituba Retrô - FESTA À FANTASIAfesta2,65
  14. 14TRIBUTO A TEARS FOR FEARS & OASIS COM MARK LAMBERTtributo2,64
  15. 15Túnel do Tempo - Festa Replayfesta2,64
  16. 16ELTON JOHN DIAMONDS | POR MIZINHO CARVALHOtributo2,62
  17. 17POPCAST – TRIBUTO PHIL COLLINS E GENESIStributo2,61
  18. 18Larissa Luz | Rock In Giltributo2,59
  19. 19Banda Rolls Rocktributo2,59
  20. 20AC/DC (Dirty Jack) + VAN HALEN (Balance)tributo2,54
  21. 21A Banda de Avalon - Bryan Ferry & Roxy Music Tributetributo2,52
  22. 22THE DIRE STRAITS EXPERIENCE COM GUI CICARELLItributo2,52
  23. 23Festa de Halloween da Kiss FMfesta2,51
  24. 24RS EXPERIENCE – STONES WEEKEND | TRIBUTO AOS ROLLING STONEStributo2,50
  25. 25Rock Lab Festivalshow2,48
tributo ou festa, pelo rótulo do catálogo · os títulos estão como no catálogo

Na segunda, a pergunta passou a ser sobre o som de quem sobe ao palco, dizendo com todas as letras que tocar músicas de alguém num tributo não conta. Os tributos sumiram do topo. Mas no perfil de nova MPB (Tim Bernardes, Liniker, Céu), o Bruno Berle, um cantor e compositor alagoano que é exatamente o tipo de descoberta que o Radar existe para achar, ficou em 89º: o Jev simplesmente não sabia quem ele era, e julgava pela descrição de duas linhas do evento.

Quem sabia era o próprio Radar. Uma vez por dia, o DeepSeek com thinking lê o catálogo e escreve para cada evento os estilos e os artistas cujos fãs iriam. Para o Bruno Berle, tinha escrito Tim Bernardes, Liniker, Jadsa e Luedji Luna. Na terceira versão esses rótulos entraram no que o Jev lê, e o Bruno Berle foi para 4º de 127.

Como ficou

uma vez por dia · o DeepSeek com thinking rotula o catálogo: estilos, “fãs de” e se é show, festa ou tributo
antes
peneiracódigo · até 400 candidatos~3 s
→
DeepSeek com thinking escolhe 10uma chamada lê os 400 de uma vez~60 s
depois
peneiracódigo · até 400 candidatos~3 s
→
Jev, 3 perguntas por show400 chamadas, 16 de cada vez~7 s
→
regrascódigo · corte, cotas, 2 descobertas~0 s
→
motivosDeepSeek sem thinking, 10 shows~4 s
Tempos típicos das listas feitas no site. Em tracejado, o que é código.

Cada chamada leva o gosto da pessoa e um evento já com seus rótulos:

{
  "gosto": "<gosto>\nArtistas que mais ouve: Tim Bernardes, Liniker, Céu.\n</gosto>",
  "evento": {
    "titulo": "Bruno Berle | Lançamento do álbum Sem Fronteiras",
    "local": "Sesc Pompeia",
    "descricao": "O cantor, compositor e produtor musical Bruno Berle apresenta o show de seu terceiro álbum...",
    "estilos": ["Nova MPB", "Indie brasileiro"],
    "publico": "fãs de Tim Bernardes, Liniker, Jadsa, Luedji Luna"
  }
}

E estas são as três perguntas, como eu mando:

  1. Encaixe, nota de 0 a 3.“Quanto o som próprio do artista ou da banda que toca em evento combina com o gosto descrito em gosto? Julgue quem sobe ao palco e a música que é dele. Tocar músicas de um artista de que a pessoa gosta, num tributo, cover ou festa, não conta como encaixe. Quando houver, evento.publico diz de que artistas o público desse show costuma ser fã, e evento.estilos diz o estilo do show.”
  2. Tipo, uma opção entre três.“O que é o evento em evento?”Show, festa ou tributo. Na prática, quem decide é o rótulo do catálogo, que sempre existe; a resposta do Jev fica de rede para um evento que chegue sem rótulo.
  3. Conhecido, sim ou não.“A pessoa descrita em gosto provavelmente já conhece o artista que toca em evento?”

A resposta dada pelo Jev para a avaliação acima foi a seguinte:

{
  "model": "jev-1.13.0",
  "answers": {
    "fit": {
      "type": "score",
      "score": 2.77,
      "confidence": 0.78,
      "legend": {
        "0": "O som de quem toca não tem nada a ver com o gosto da pessoa",
        "1": "Só o gênero amplo é parecido",
        "2": "O som de quem toca é vizinho de alguns artistas do gosto",
        "3": "O som de quem toca é muito próximo dos artistas do gosto: quem ouve esses artistas iria querer conhecer"
      },
      "probabilities": {
        "0": 0.0,
        "1": 0.02,
        "2": 0.18,
        "3": 0.8
      }
    },
    "tipo": {
      "type": "choice",
      "choice": "show",
      "confidence": 1.0,
      "probabilities": {
        "show": 1.0,
        "festa": 0.0,
        "tributo": 0.0
      }
    },
    "conhece": {
      "type": "noul",
      "noul": 0.47
    }
  },
  "usage": {
    "input_tokens": 809,
    "output_tokens": 72
  }
}

O que quer dizer que o som do Bruno Berle combina muito com quem ouve Tim Bernardes, Liniker e Céu (2,77 de 3, com 80% de chance no nível mais alto), que é show dele mesmo e não tributo, e que essa pessoa está quase no cara ou coroa sobre já conhecê-lo (0,47), o que basta para ele contar como descoberta. Os 809 tokens de entrada são o que essa pergunta custa, e é deles que sai a conta lá embaixo.

O Jev julga um show de cada vez. Tudo o que depende da lista inteira ficou no código: corta o que tem encaixe abaixo da metade, guarda duas vagas para artistas que a pessoa provavelmente não conhece, e limita a lista a dois tributos ou festas, dois shows na mesma casa e seis nas próximas três semanas. No fim, o DeepSeek sem thinking escreve uma ou duas linhas sobre por que cada um dos dez combina, o que leva uns quatro segundos.

Se o Jev falhar ou passar de 20 segundos, a escolha antiga com thinking assume. A pessoa espera o minuto de antes, mas não fica com a página vazia. Desde a troca, isso aconteceu uma vez.

Antes e depois

DeepSeek com thinkingaté 05/10
mediana 61 s
Jevdesde 06/10
mediana 11 s
060120180240300 s
As mesmas listas de antes, e as feitas com o Jev, na mesma escala. Passe o mouse num ponto para ver o tempo.
DeepSeek com thinkingJev
tempo da escolha, mediana61 s11 s
mais rápida e mais lenta37 e 290 s4 e 17 s
custo por lista, medianaUS$ 0,014US$ 0,016

Quase de graça, por resposta

Uma coisa que sempre aparece quando falam do Jev é o quanto ele é barato. E é: a saída não se paga, a entrada custa US$ 0,042 por milhão de tokens, e cada resposta sai por menos de um centésimo de centavo de dólar. Só que uma lista faz até 400 chamadas, cada uma com uns 900 tokens de contexto, e no fim a conta fica em um centavo e meio por lista, praticamente o que o DeepSeek com thinking custava. A troca comprou tempo; o preço ficou onde estava.

Hoje essa é a arquitetura que roda no Radar. Mas se ele escalar, esse centavo e meio por lista vira uma conta de verdade. E aí veio outra pergunta: eu preciso mesmo do Jev para essas recomendações, ou dá para usar um classificador pequeno, rodando no meu próprio servidor?