Pular para o conteúdo

Jev: o modelo que resolve os problemas que LLMs não foram feitos para resolver

Ver no idioma original →

Autoria: Rafael Quintanilha – QuantBrasil · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: português

Vídeo original: Jev: o modelo que resolve os problemas que LLMs não foram feitos para resolver · Canal: Rafael Quintanilha – QuantBrasil · 41:34 · Assistir no YouTube

Tópicos: Agentes de IA, Automação de tarefas e workflows, Engenharia de software com IA, Modelos de IA

O vídeo apresenta Jev, primeiro modelo da classe System One, voltada a decisões rápidas, estruturadas e tipadas, em vez de conversas ou geração de texto. O apresentador explica como o modelo usa primitivas de choice, score e no para classificar informações com probabilidades e confiança calibrada, e demonstra seu uso em triagem de suporte e análise financeira. Em testes comparativos, Jev aparece como mais rápido e barato que LLMs em tarefas de classificação, mas pode falhar quando a tarefa exige mais inteligência ou contexto. A conclusão é que o modelo pode ser útil em automações, desde que o sistema seja projetado para lidar com a incerteza e encaminhar casos de risco ou baixa confiança para revisão humana.

  • Jev é apresentado como o primeiro modelo da classe System One, projetada para decisões rápidas, não para conversas longas.
  • Ao contrário de LLMs que geram texto, Jev retorna decisões estruturadas e tipadas, com probabilidades e estimativas de confiança.
  • As primitivas demonstradas são choice, para selecionar uma opção; score, para atribuir uma nota; e no, para uma resposta booleana.
  • A confiança do modelo permite que o software escolha entre automatizar, pedir confirmação ou encaminhar a decisão para uma pessoa.
  • O vídeo demonstra o uso de Jev para classificar mensagens de suporte por departamento, pedido de reembolso e nível de frustração.
  • Em testes de análise de sentimento, Jev teve menor latência e custo que o modelo comparado pelo apresentador.
  • Jev pode falhar em tarefas que exigem interpretar contexto ou distinguir entidades ambíguas; uma etapa de pré-filtragem pode melhorar o resultado.
  • A escolha entre Jev e um LLM deve considerar a tarefa, o custo, a velocidade, a confiança necessária e o risco da decisão.
Início Capítulo Resumo
00:00 Apresentação de Jev e da classe System One O apresentador introduz Jev e explica por que o modelo chamou a atenção como uma alternativa aos LLMs tradicionais.
04:54 A proposta de decisões estruturadas O vídeo relaciona o nome System One a decisões rápidas e apresenta RLCD, confiança calibrada e respostas tipadas.
09:44 O manifesto: inteligência composable O apresentador discute a proposta de compor sistemas de IA em camadas auditáveis e orientadas a máquinas.
13:33 Como Jev funciona e quais são suas primitivas A documentação é usada para explicar as primitivas choice, score e no e a diferença entre decisões estruturadas e geração de texto.
20:02 Demonstração de triagem de mensagens Uma mensagem de suporte é classificada por departamento, pedido de reembolso e nível de frustração.
24:55 Comparação com LLMs em aplicações reais O apresentador compara Jev e LLMs em análise de sentimento e identificação de empresas em notícias financeiras.
29:46 Custos, latência e limites dos testes São apresentados preços e resultados de velocidade e custo, além das limitações de usar Jev com listas extensas de ações.
34:03 Um caso de ticker ambíguo O exemplo de MS mostra que um LLM pode interpretar contexto melhor, enquanto Jev depende de uma etapa adequada de pré-filtragem.
37:49 Como usar a confiança para controlar o risco O vídeo explica que os limites de confiança devem variar conforme o impacto da ação e demonstra quando automatizar ou pedir revisão.
40:32 Conclusão e chamada para participação O apresentador reforça que Jev não substitui LLMs em qualquer situação e convida o público a compartilhar casos de uso.

“LLM retorna texto, retorna string. No caso do Jev, ele vai retornar decisões.” — 06:33

“O seu software pode ser responsável pela incerteza.” — 08:40

“O Jev é apenas um structured output glorified? Mas não é verdade.” — 14:38

“Não significa que você tem que largar o seu LLM e sair correndo pro Jev.” — 40:32

  • Jev (modelo): Modelo apresentado no vídeo como o primeiro da classe System One, voltado a decisões estruturadas e rápidas.
  • System 1 (conceito): Classe de modelos descrita como adequada a tarefas de decisão rápida, em contraste com a geração conversacional de texto.
  • RLCD (conceito): Sigla de Reinforcement Learning for Calibrated Decisions, abordagem de treinamento que o vídeo associa à classe System One.
  • RLHF (conceito): Técnica de aprendizado por reforço com feedback humano, apresentada como uma abordagem usada no treinamento de LLMs.
  • TypeSafe (empresa): Empresa associada no vídeo ao desenvolvimento de Jev e da classe System One.
  • choice (conceito): Primitiva que permite escolher uma opção de uma lista e retornar probabilidades e confiança.
  • score (conceito): Primitiva que atribui uma nota de acordo com uma escala ou rubrica definida.
  • no (conceito): Primitiva booleana que avalia se uma afirmação é verdadeira ou falsa.
  • OpenRouter (ferramenta): Serviço mencionado como uma opção para testar Jev.
  • DeepSeek V4 Flash (modelo): Modelo usado pelo apresentador para realizar análise de sentimento no Quant Brasil e comparar custo e latência.

00:00 Eis que a nossa bolha de inteligência artificial foi pega de surpresa pelo lançamento do JV, o primeiro de uma nova classe de modelos de inteligência artificial chamada System One, diferente dos LLMs tradicionais. Mas por que o Jeff chamou tanto a atenção da comunidade? Por que gerou tanta comoção? Será que muda alguma coisa para você? É justamente isso que quero contar no vídeo de hoje, em que vou apresentar tudo sobre o JV, essa nova classe de modelos, quando você deveria usá-la, quais são os casos práticos e

00:35 reais que fariam sentido para você. Vou, claro, mostrar um exemplo real na minha própria aplicação e responder à pergunta: será que o Jev é só mais um hype da internet ou chegou para ficar? Pessoal, entendo que quem acompanha esse mundo da IA às vezes fica um pouco sobrecarregado com informações novas. E, de fato, temos mudanças muito incrementais. Então, tem o Depsic V4 e sai o V4.1. Tem o GLM 5.2 e sai o 5.3, Fable 5,

01:08 Fable 5.1, etc., etc. São mudanças pequenas, embora a gente consiga perceber alguns saltos. No grande esquema das coisas, são mudanças pequenas. Porém, o anúncio do Jeev foi algo que realmente abalou um pouco as estruturas de como construímos apps com inteligência artificial, porque ele vem com uma proposta diferente daquilo a que estamos acostumados com os LLMs tradicionais, tá? Então, se você não sabe do que estou falando, o JEV é o primeiro modelo de uma nova classe chamada System One. Quando a gente está

01:41 falando de modelo, estamos falando daqueles modelos GPT6 Astra, Fable, que estamos acostumados a usar no dia a dia, tá? Esses modelos são basicamente treinados com uma técnica chamada RLHF, que é aprendizado por reforço a partir de feedback humano, ou seja, aprendizado reforçado por meio de feedback humano, tá? Tradicionalmente, esses modelos são feitos para serem usados em uma interface de chat. Não é à toa que, quando aconteceu o boom do GPT, ele veio acompanhado do ChatGPT. Você

02:13 interage ali por meio de uma interface conversacional. Hoje também é assim com os agentes de IA, tá? Só que o JV, por ser de uma nova classe, não é feito para ser um chat, tá? Tanto que apresentam o Jev dizendo que ele é inteligência além do chat, além de uma conversa. E o Jav dá propriedades de código à inteligência artificial. O que são propriedades de código, pessoal? Código é algo previsível, o código é

02:49 determinístico, o código é estruturado. E vamos ver algumas dessas questões aqui. O Jeff, tá bom? Eles continuam dizendo que tomaram a direção contrária à que estava sendo seguida na academia, na pesquisa. Então temos aqui, como eu disse, os RLHF, que levaram aos LLMs e são otimizados para a preferência humana; por isso, o feedback humano é o que vai condicionando o treinamento. Inclusive, no meu curso de fundamentos

03:20 da engenharia de IA, que está na trilha do engenheiro de IA, falo mais sobre a etapa de treinamento. Então você faz um treinamento de modelo condicionado ao que o humano considera adequado, tá? Eles continuam dizendo que essa arquitetura levou a modelos super-humanos em seguir instruções e naquilo que agora chamamos de chat, uma conversa. Só que essa arquitetura do RLHF cria

03:52 problemas inerentes, como confiança exacerbada e falta de confiabilidade. E o fato é, pessoal, que os LLMs ficaram tão bons e tão inteligentes que cresceram além do seu escopo original, além daquilo para que foram inicialmente projetados. Aí você vai dizer: “Ah, Vel, quem disse isso?” Bom, o criador aqui, um dos fundadores da Type Safe, empresa que criou o Jev, tem propriedade para falar: o CEO da TypeSafe, chamado Diogo Almeida. Inclusive, parece até nome de

04:23 brasileiro, né? Nem sei se ele é brasileiro, mas Diogo Almeida coinventou esse princípio, esse método de RLHF, e também o Instruct GPT, métodos que depois levaram à criação do ChatGPT. Então é um cara que vem da academia, que vem da pesquisa e que participou do desenvolvimento desse tipo de sistema, dos LLMs. Não é como se o pessoal da TypeSafe não tivesse nada a ver com isso. Só que eles estão resolvendo outro tipo de problema com outra abordagem. Então, o que construíram? Construíram uma nova

04:54 classe de modelos que estão chamando de System One. Parêntese: por que chamam de System One? Talvez vocês conheçam o livro Fast and Slow, do Daniel Kahneman. Beleza? Esse livro do Daniel Kahneman é muito famoso. Daniel Kahneman ganhou o Nobel de Economia. Nesse livro, Daniel Kahneman apresenta o conceito de sistema um e sistema dois. Eu sei, não é um nome muito criativo, mas, basicamente, o sistema um seria o

05:25 sistema que reage rápido, e o sistema dois é aquele em que você pensa, demora mais para tomar decisões. Então, estão chamando isso de System One porque ele faz parte desse tipo de área do cérebro que toma decisões rápidas, que infere algo rapidamente. Estão construindo modelos para esse tipo de tarefa. E aqui você já entende que ele não é feito para tarefas longas, não é feito para ficar fazendo código, não é feito para pensar na morte da bezerra; é feito para identificar uma coisa e dar uma

05:58 resposta. E já vamos ver como, tá? Isso foi feito com uma nova arquitetura que eles chamam de Reinforcement Learning for calibrated decisions, ou RLCD, em contraste com o RLHF. Isso está fora do escopo deste vídeo, mas é para você entender que há uma pesquisa por trás dessa nova classe de modelos chamada System One, da qual o JV é o primeiro modelo. Bom, vamos continuar vendo o que há de relevante no lançamento do Jev. E eles dizem: são decisões, não strings. Llo,

06:33 linguagem, retorna texto, retorna strings. No caso do JV e dos modelos do tipo System One, eles retornam decisões, algo tipado, tá? Ou seja, que tem tipo, pessoal. Tipo é algo de que software gosta. Gostamos de previsibilidade no código. Não gostamos de dados não estruturados. Usamos LLMs para tentar estruturar dados meio que na marra, mas o JV foi criado para fazer isso nativamente. Ele também

07:04 vem com confiança calibrada, então você já tem, por padrão, a probabilidade, a estimativa de que aquela classificação foi feita da forma adequada. E, claro, ele é mais parecido com código. Então é confiável, rápido e type safe. Eles insistem muito que ele é rápido e barato. E, de fato, fiz alguns testes que ainda vou mostrar no final deste vídeo, nos quais ele é bem mais rápido e barato do que um modelo que já é rápido e barato. Já vamos ver isso com mais detalhes. E gostei muito disto. Esta parte talvez tenha sido a que mais me convenceu no

07:36 sentido deste lançamento e que acho que talvez seja a mais importante para a maioria das pessoas aqui. O JV é feito para automações, pessoal. Isso é fundamental para quem está criando um sistema de IA, para quem está criando um sistema mais complexo e colocando IA como parte da tomada de decisão. Quando usamos um LLM, essa tomada de decisão é arbitrária e depende do raciocínio arbitrário e estocástico que temos

08:08 de um modelo. Só que, quando você pede para um modelo, como um LLM, dar um intervalo de confiança, aquilo não é necessariamente matemático. É meio que inferido pelo próprio modelo. Aqui, não. No caso do Jeff, ele de fato vai ter uma distribuição de probabilidades que permitirá ter uma confiança muito mais assertiva — ou melhor, uma confiança muito mais próxima daquilo que entendemos por confiança. E, quando estamos construindo um sistema, é importante entender o grau de confiança,

08:40 onde a gente deve colocar um humano, onde a gente consegue fazer isso 100% automatizado, tá? Então isso nos ajuda muito, beleza? Então o Jev retorna decisões tipadas com probabilidades calibradas, de modo que o seu software possa lidar com a incerteza. Uma coisa é eu saber que o meu código tem 90% de certeza; outra coisa é eu saber que ele tem 30% de certeza. Eu, como decisor, como engenheiro por trás

09:11 desse sistema de IA, posso decidir qual etapa fazer em seguida, tá? Então você pode configurar os seus thresholds, né? Já que ele dá um intervalo de confiança, você é responsável por definir o threshold adequado. Cara, eu quero o máximo de confiança aqui. Vou definir um threshold de 95%, por exemplo. Não, eu tolero um pouco de erro aqui, não tenho problema com falso positivo. Vamos colocar um threshold de 60%. Vai depender de você, repito, como engenheiro por trás desses sistemas, tá? Então você consegue combinar essas decisões no código para

09:44 construir workflows maiores, com muito mais controle sobre a inteligência que é utilizada. E, antes de partir um pouco mais para a parte técnica do Jev, eu queria ler esse manifesto que achei muito revelador sobre o que eles querem construir, tá? Não vou ler tudo aqui, mas vou pegar algumas partes principais. Então eles começam dizendo que a missão deles é pavimentar o menor caminho possível para uma revolução econômica baseada na inteligência artificial, tornando a inteligência composable, ou seja, de um jeito que

10:18 você consiga compor uma coisa em cima da outra, que é como o software funciona. Se você parar para pensar, quando desenvolvemos software, vamos construindo em cima de diferentes conceitos. Então você começa escrevendo uma linguagem de máquina e cria uma linguagem de baixo nível; aí cria uma linguagem de programação, sei lá, tipo Java, e daí passa para Python; depois, cria um framework, tipo FastAPI, e vai aumentando o nível. Só que por que a gente consegue trabalhar em níveis mais

10:48 altos, com abstrações mais altas, né? Porque estamos sustentados em níveis que já estudamos, já estruturamos e nos quais confiamos. Então, se você conseguir usar a inteligência artificial para criar esses sustentáculos que vão nos permitir criar sistemas cada vez mais robustos, a gente pode ter uma aceleração econômica, né? Essa, digamos assim, é a big picture deles, tá? Mas o importante para mim aqui é essa parte de tornar a inteligência composable. Eu gosto bastante disso, tem muito a ver

11:22 com o que falamos antes sobre automação, tá bom? Eles dizem que a IA tradicional, né, a IA atual, é treinada para ser um assistente articulado, útil e agradável. E beleza, né? São objetivos razoáveis, se você partir do pressuposto de que há um humano do outro lado do modelo. Então, se estou interagindo por chat, tudo bem que meu assistente seja um assistente útil e agradável, certo? Mas e se for uma máquina do outro lado? E se

11:54 eu quiser compor um sistema de IA conversando com IA? Não preciso que elas sejam um assistente útil; preciso que funcionem mais como código, tá? Então, o fato de a IA ter sido treinada para falar com humanos gera a consequência natural de que ela vai acabar exigindo humanos no loop, né, em vez de simplesmente conseguir ser autônoma e rodar em background, tá? O software, em geral, nunca funcionou dessa forma, com humanos no loop, né? Mesmo o código mais complexo é construído em cima de lógicas

12:27 simples e abstrações que vão sendo colocadas uma em cima da outra, como eu disse para vocês. A particularidade é que, a cada nova camada, a cada novo grau de abstração que você vai colocando nesse bolo que é a engenharia de software, existe a possibilidade de auditar. Eu sei: opa, o problema está aqui, ó. Está nessa camada dois. Quando temos um LLM resolvendo tudo, não conseguimos auditar. Passamos para o LLM e deixamos ele se virar, fazer a resposta, e ele nos dá um retorno que faz a gente perguntar: “Cara, mas por

12:58 que você retornou isso e não retornou aquilo?“, né? E temos todo aquele trabalho de fazer harness engineering, né? Isso também está no meu curso, na minha trilha de engenharia, cujas inscrições vão abrir no dia 30, com condições especiais. O link vai estar na descrição e no comentário fixado. E você acaba tendo que fazer todo esse trabalho de harness engineering, que, claro, vai continuar sendo útil, a gente vai continuar fazendo, mas perde muito da tomada de decisão determinística que acontece ali. Então gosto muito dessa proposta deles, né, basicamente, de você ter uma IA, né, uma

13:33 IA que seja composable, que possa ser composta e que seja nativa para máquinas. Maravilha. Agora que já falamos dos princípios por trás dessa nova classe de modelos, vamos ver como o Jev funciona na prática, tá? Estou aqui na documentação deles, na introdução, e vamos ver como trabalhar com o Jev, tá? Então, para começar, aquela mesma história que a gente já conhece, né? Os modelos de linguagem, os LLMs, são projetados para produzir texto para humanos

14:06 lerem, certo? Quando você quer que um modelo faça um julgamento que o seu código vai consumir, isso cria um desalinhamento, uma confusão. Você está forçando um sistema que gera texto a retornar decisões estruturadas e, depois, faz o parse desses resultados no seu código. Isso é muito importante porque a gente pode cair na tentação de achar que o Jev é apenas um structured output glorificado, né? Cheio de pompa. Mas não é verdade,

14:38 pessoal. Sim, de fato, ele vai gerar um structured output. Se você não sabe o que é isso, é quando forçamos um modelo de IA a retornar, por exemplo, um JSON em um formato que segue determinado esquema, tá claro, né? Podemos forçar o LLM a fazer isso, mas, de novo, você está coagindo um sistema de geração de texto a fazer algo para o qual não foi projetado. Por mais que a gente faça treinamento e pós-treinamento para que os modelos consigam respeitar bem o output estruturado, não foi

15:13 para isso que eles foram desenvolvidos. Inclusive, se você trabalha com IA há mais tempo, provavelmente passou por uma fase em que isso era difícil. No início, quando começamos a usar LLMs para fazer código, tentávamos fazer outputs estruturados, para que ele retornasse um esquema bonitinho em formato JSON, e muitas vezes ele errava, não respeitava aquilo. Aí os modelos foram ficando melhores nisso, e a gente tinha que colocar algumas validações para garantir que ele realmente saísse no formato. Era realmente uma dor de cabeça que, no fim das contas, foi meio

15:45 que resolvida, mas que nunca foi resolvida na base, na forma como o modelo é treinado para retornar esses resultados, tá? Então o Jev é basicamente construído para tomar essas decisões rápidas e estruturadas que tipicamente usamos em um sistema de software, tá? Então, mais concretamente, o que acontece? O Jev avalia perguntas em relação a um estado e retorna um resultado estruturado. Não há geração de texto, você não precisa fazer o parse de nada,

16:16 você recebe valores tipados e uma distribuição de probabilidades que o seu código pode seguir de acordo com as probabilidades, tá? Então isso é muito importante. Você vai passar um estado com as informações — pense que é como o contexto que um LLM recebe — e vai dizer: “Ó, quero que você retorne, por exemplo, um destes tipos”. Aí peço que ele retorne um destes três tipos, pessoal: uma choice, um score ou um não, tá? Esses são os primitivos, os primitivos do type-safe, tá? Então,

16:49 assim como os primitivos de software, os primitivos do type-safe são modulares, compostos, estruturados, confiáveis e rápidos, tá? Para que serve cada um desses primitivos? Bom, vamos analisar primeiro a choice. O objetivo, quando você faz uma pergunta do tipo choice, é escolher uma opção de uma lista, tá? Então aqui ele vai retornar a escolha que fez, a probabilidade de cada escolha e a confiança que tem no resultado. Rafael, me dá um exemplo de choice. Ora,

17:21 Imagine que você quer fazer uma classificação de sentimento, uma análise de sentimento de uma ação. Você quer pegar uma notícia, pegar a ação e dizer: “Interprete, dentro deste texto, se a reação a essa ação é positiva, negativa ou neutra”. É uma escolha. O modelo tem que pegar e selecionar uma dessas opções, tá? Outro exemplo de choice, de escolha: você recebeu uma mensagem do seu suporte e quer saber para quem deve encaminhá-la. Será que é para o time de finanças? Será

17:53 que é para o time de desenvolvimento? Será que é para o time jurídico? Para quem devo encaminhar essa mensagem, né, com base no contexto da mensagem que recebi? Qual departamento tem que lidar com isso? É uma escolha, uma choice; você pode utilizar o Jev para isso. O segundo tipo de pergunta aqui é o score. Então, o score basicamente é uma nota baseada numa rubrica, né, num gabarito. E você vai receber o score, as probabilidades e também a confiança. Exemplo de score: tudo que você possa

18:24 querer expressar com uma distribuição numérica pode ser avaliado usando o score, tá? Eles dão estes exemplos aqui, ó. Qual é a gravidade desse bug que está sendo reportado? Se for zero, você vai dizer que não há impacto na funcionalidade. Um: está quebrado. Dois: é um issue blocking, né, algo que precisa ser consertado imediatamente. E aí o modelo vai te dar um score. Por exemplo, pode retornar 0.8, o que significa que está entre cosmetic e broken, mais perto de broken do que de blocking, por exemplo. Ou pode retornar, sei lá, 1.9. Caramba, 1.9 significa que está realmente mais para o lado de ser blocking, né? Então você analisa de acordo com isso. Outro exemplo é: quão formal é esta roupa, com base na descrição? E aí você dá os scores, e ele vai te dar uma nota entre eles. Quão relevante é a experiência do candidato em relação à vaga publicada? E aí, ó, 0, 1, 2, 3, em graus de relevância, né, de acordo com a experiência da pessoa. Então, se a pessoa tiver, sei lá, 2.5, ela está

18:58 em algum ponto entre ter experiência diretamente relevante e ter uma boa experiência. Então você consegue, digamos assim, ordenar os candidatos pelos mais relevantes, por exemplo. Isso é muito, muito interessante, tá? E também temos esse tipo de chamada, o no, que até agora não entendi por que eles chamam de no, que basicamente é um booleano, tá? Se alguém souber por que deram esse nome específico aqui, me conta nos comentários, porque eu realmente não entendi. Mas basicamente é um booleano. Você vai perguntar se aquilo é verdade ou não, e ele vai retornar um número entre zero

19:30 e um. Quanto mais próximo de um, mais próximo de true, tá? Sei lá: “O cliente está irritado?” Zero ou um, tá? E aí você sabe, né, se o cara está irritado ou não. Beleza? Isso aqui também é bem, bem interessante, tá? Maravilha, pessoal. Vamos ver o Jev funcionando na prática. Então, consegui acesso a ele, tá? No momento, ele está em wait; você pode tentar se inscrever no Jev, né? Demoraram mais ou menos um dia para me liberarem o acesso. Então, basicamente, ele já tem um playground aqui onde você pode fazer testes, tá? Vou colocar aqui um exemplo de uma mensagem que você poderia

20:02 receber, tá? Então, recebi esta mensagem aqui. Este é o meu estado e preciso fazer perguntas em relação àquele estado que recebi, àquele “contexto”, entre aspas, tá? E vou fazer cada pergunta de acordo com as primitivas que acabamos de ver: um no, um score ou uma choice, tá? Então, você pode fazer isso diretamente por aqui, pelo playground. Já deixei algumas perguntas separadas, que vou colar aqui, tá? Então, basicamente, vamos ler isso juntos, tá? Imagine que criei um classificador que faz a triagem de mensagens de suporte, tá? E

20:34 aí a pessoa mandou uma mensagem assim: “Comprei seu curso de Python ontem, mas em todas as aulas aparece ‘access denied’ em vários pontos. Já tentei sair, fazer logout e redefinir minha senha. Eu tinha deixado este fim de semana livre para estudar e agora estou desperdiçando meu fim de semana. Por favor, corrija meu acesso. Não quero um reembolso, quero assistir ao curso”, tá? Então, imagine que recebeu essa mensagem. Com certeza, não seria dos nossos sistemas lá do programa, mas imagine que você recebeu essa mensagem, tá? E aí você criou um sistema, quer criar um sistema automático de triagem e, nesse

21:07 sistema automático de triagem, você define três perguntas, beleza? Então, coloquei uma pergunta para cada primitiva aqui. Pergunta número um: para qual departamento devo encaminhar esta mensagem? Quem tem que cuidar disso aqui, tá? É uma choice, uma escolha. Pode ser technical support, billing, teaching ou other order. Beleza? Imagine que temos estes critérios aqui. Determinamos quais são as instruções e definimos o critério. Como ele vai dizer se é technical support? Como vai dizer se é billing? Como vai dizer que é teaching?

21:40 Passamos quais são os critérios que serão utilizados, tá? Também temos outro tipo de pergunta: request refund. Será que essa pessoa está pedindo um reembolso? Aqui é um no, né, um booleano. Este cliente está pedindo para receber o dinheiro de volta? Por quê? Porque, se a pessoa pedir um reembolso, posso colocá-la num fluxo determinístico para que vá lá e consiga o reembolso. Ou posso encaminhá-la urgentemente para algum vendedor que possa entrar em contato e tentar renegociar com a pessoa. Também pode ser feito. E o terceiro exemplo aqui seria um score,

22:10 seria uma nota, né? Quão frustrado está este cliente, pelo modo como está se expressando? Pense no score como tudo que você poderia perguntar com “de zero a 10, como você está se sentindo?”. Tudo isso pode ser um score, tá? E também temos critérios, ó. Zero seria neutro ou amigável. Um: está um pouquinho… está expressando inconveniência, está desapontado. Dois seria uma grande frustração. E três é quando o cara está sendo abusivo, né? Então, com esse estado e essa pergunta, eu poderia fazer uma solicitação aqui. E, cara,

22:43 olha só como isso foi rápido, pessoal. Isso basicamente levou 104 milissegundos para fazer a interação, tá? Para fazer a inferência. Beleza? 104 ms, e levou mais 314 ms por causa da internet, né, o round trip aqui. E ele vai retornar algo assim, ó. Lembra? A primeira pergunta era sobre o departamento, era uma escolha. Ele foi lá e escolheu technical support com 100%, porque isso ficou claro na mensagem, né? Depois, para request refund. Ora, isso era para ser um booleano, e ele me deu 97% de chance de ser

23:17 falso. Por quê? Ficou claro: o cliente disse: “I don’t want a refund”. E a frustração acabou caindo no ponto número dois, ó: expressa uma frustração forte com o tempo desperdiçado e tudo mais, né? Então, ficou claro aqui que o cliente estava nessa categoria. Agora vamos fazer alguns testes. Deixa eu tirar esta parte final em que ele diz que não quer pedir um reembolso. E vamos gerar de novo. Olha só, aumentou um pouquinho a probabilidade de que o cara queira um reembolso, tá? Ele não disse

23:52 necessariamente; o modelo continua confiante. O cara não pediu, não há nada indicando que ele queira um refund, né? E se eu trocar e colocar algo como “Please fix my access as”, né? Você entendeu este xingamento em inglês. Você vai ver que, provavelmente, vamos cair neste nível de frustração aqui, né? Olha lá, caímos no nível quatro de frustração. Por quê? Porque agora ele usou um insulto, né? Insultou a pessoa. Isso é muito legal, muito legal. Imaginem isso como moderação, pessoal. É muito fácil fazer isso

24:25 necessariamente, o modelo continua ali confiante. O cara não pediu; não tem nada indicando aqui que ele quer, né, um reembolso. E se eu trocar e colocar alguma coisa do tipo: “Por favor, corrija meu acesso, pois…”, né? Você entendeu essa palavra aqui, esse xingamento em inglês. Você vai ver que aqui, ó, provavelmente a gente vai cair agora nesse nível de frustração, né? Olha lá, caímos aqui no nível quatro de frustração. Por quê? Porque agora ele usou um insulto, né? Ele insultou a pessoa. Isso é muito legal, muito legal. Imaginem isso aqui como moderação, pessoal. É muito fácil fazer isso.

24:55 moderação aqui, né? Muito, muito fácil mesmo. Então, bem legal isso. Beleza, pessoal. Então, espero que tenha ficado claro que o JEV funciona muito bem como classificador, só que é um classificador construído para ser um classificador. E você pode pensar assim: “Ah, Rafael, mas beleza, qual é o problema de usar um LLM? Os LLMs não resolvem esse problema?” E sim, em muitos casos, mas a gente tem uma penalidade de custo, uma penalidade de velocidade e uma penalidade de confiança também no sistema. De novo, ele não foi construído para ser feito

25:30 daquela forma. Quem trabalha com engenharia, quem desenvolve sistemas, sempre tem que estar pensando na melhor ferramenta para a tarefa em mãos, tá? E o JV me parece excelente para isso, para quem quer construir sistemas. E a grande verdade é que, muito possivelmente, se você está desenvolvendo um sistema com IA, se está colocando IA de alguma forma na sua empresa, provavelmente está automatizando algum processo, está criando algum workflow, está pegando dados não estruturados de diferentes fontes e tomando uma decisão

26:04 com base naquilo. Só que agora você consegue tomar essa decisão de uma forma muito mais interessante, com intervalos de confiança, com probabilidades, de forma mais rápida e usando uma tecnologia que de fato foi feita para isso, tá? Então, para responder a essa pergunta de forma mais concreta, se vale a pena você trocar o LLM pelo Jev, quero mostrar para vocês aqui um exemplo real e concreto lá no Quant Brasil. No Quant Brasil, que é o meu site de finanças quantitativas, fazemos o que chamamos de análise de

26:35 sentimento, tá? Então, deixa eu passar aqui, por exemplo, para o Claude, e vou usar a CLI do Quant Brasil para pedir algo do tipo: “Please analyze the sentiment of the latest Vale 3 news”, tá? Então, quero saber o que o mercado está achando das últimas notícias sobre a Vale, o que as notícias estão dizendo, tá? Aqui estou usando a CLI do Quant Brasil, cujo link vou deixar na descrição. Você pode instalar e testar de forma gratuita, tá? E aí, com a CLI do Quant Brasil, ele é capaz de buscar essas notícias, ó. A gente está

27:07 vendo aqui as notícias sendo chamadas, né, ali na série. Estou usando o Claude Code. Ele faz a análise de sentimento e vai me dizer, ó: para tal e tal notícia, tive esse sentimento positivo, negativo ou neutro, certo? E aqui está o resultado, ó. Nos últimos seis dias, tivemos aqui, ó, 10. Ele pegou as últimas 10 notícias: quatro negativas, três positivas e algumas neutras, tá? Ele indica algumas em particular, ó: MPF assinou acordo válido. Claro que isso aqui é negativo. E você vê que tem aqui, ó,

27:38 negativo e um intervalo de confiança de 0,72. Isso já está sendo feito, já está em produção no Quant Brasil. E é feito usando um LLM. Estou usando o DeepSeek V4 Flash para analisar as notícias e retornar o sentimento, a confiança e a razão pela qual ele escolheu aquilo, né, num formatinho que posso depois salvar no banco e mostrar ali para os usuários, tá? Então, isso é feito usando o DeepSeek V4 Flash, que é um modelo muito baratinho e rápido. E aí você poderia pensar: bom, esse aqui é o

28:11 caso clássico para usar um classificador como o JEV. Beleza? Quero mostrar para vocês aqui alguns experimentos que fiz, tanto em relação ao preço quanto a onde faz sentido usar o JV, onde não faz, onde o LLM vai ser mais prático, vai ser mais fácil. Beleza? Então, prestem atenção aqui, porque tem bastante informação interessante, tá? Testei isso, pessoal, em duas tarefas diferentes, tá? A primeira tarefa é a análise de sentimento, que foi essa que mostrei para vocês, né? Então, receber uma notícia e determinar se ela é positiva, negativa ou neutra para uma determinada

28:42 empresa. E a segunda tarefa aqui é fazer um company matching, ou seja, receber uma notícia, tá? Tem uma notícia aqui: MPF entra com um pedido contra a Vale, tá? Quais empresas foram mencionadas aqui? Você entende que nem sempre é claro para a gente identificar quais são as empresas que aparecem na notícia? Porque, normalmente, podemos fazer isso de algumas formas, né? A forma mais bruta seria verificar se o nome da empresa está na notícia. Só que, no mercado financeiro, às vezes você não usa o nome da empresa, mas

29:15 usa o ticker, né? Sei lá, Vale é VALE3. Só que o ticker nem sempre vai resolver. Por quê? Porque, dependendo do mercado que você está analisando, o ticker pode gerar um falso positivo. No S&P 500 tem uma empresa cujo ticker é A. Então, obviamente, essa empresa vai aparecer sempre ali, né? Muito bem. Então, posso usar o JEV para ver se essa empresa foi de fato mencionada nesse artigo. Sim ou não? Tá? Então, essas são duas tarefas em que poderíamos usar o JEV como substituto do LLM. Vamos começar então

29:46 analisando o custo, tá? Quais são os preços base dele? Bom, o Jev custa US$ 0,042 por milhão de input tokens, e o output é gratuito, tá? Inclusive, se você entrar agora no OpenRouter, tem aqui, ó, o Javus: US$ 0,042 e US$ 0 por milhão de output tokens. Então, você nem precisa ter acesso à lista de espera; pode testar aqui pelo próprio OpenRouter, e no Vercel também está de graça por tempo limitado, tá? Então, já dá para ver aqui a diferença de preço em relação ao DeepSeek, né? Ele é três vezes mais barato no input e, né,

30:19 infinitamente mais barato no output. E olha só a diferença em relação ao GPT-6 ATA, por exemplo, né? É ridiculamente barato. Estamos falando aqui de 200 vezes mais barato do que o GPT-6 ATA, que é o modelo mais recente da OpenAI. Então, vamos para a parte de análise de sentimento. O teste que fiz aqui com o Codex foi pegar seis artigos, tá? Com os tickers das ações mencionadas ali, rodar essa análise duas vezes. Então, temos 12 chamadas para o DeepSeek e 12 chamadas para o JEV. Qual foi a latência média do DeepSeek? A latência média para

30:54 eu obter a resposta foi de 2,6 segundos. No JV, foi de 0,4 segundos, tá? Então, estamos falando aqui que o JV é entre seis e sete vezes mais rápido, tá, Rafael? Mas você usou o DeepSeek por meio do OpenCode Go, que é um provedor baratinho e mais lento? Sim, é verdade. Muito possivelmente você consegue diminuir esse valor, mas sempre vai ter um provedor roteando para você e, pela natureza do LLM, ele vai ser mais lento mesmo, tá? Então, se você precisa fazer uma classificação em um tempo mais crítico, em um sistema de tempo real, isso aqui é

31:24 bem interessante, tá? A gente consegue reduzir significativamente o tempo. Bom, o custo de 12 classificações nem dá para mencionar, ó. Se pensarmos no custo projetado por 1.000 classificações, temos aqui US$ 0,14 com o DeepSeek e US$ 0,02 com o Jev. Então, o JV também é cerca de sete vezes mais barato; estamos falando de 80% mais barato, tá? Uma redução de 80% no custo é muita redução de custo, pessoal. Aí fiz outro experimento aqui, tá? Pegue um artigo qualquer e pegue todas as

31:55 ações que estou rastreando e, para cada ação, pergunte: “Essa ação está mencionada? Essa ação está mencionada? Essa ação está mencionada?” Então, nesse caso, eu tinha 1.667 ações no universo e fiz esse workflow com o Jev e com o GPT-6 Astra, tá? Já vou dizer por quê. Fiz isso primeiro usando todo o universo e depois usando apenas uma short list. O que seria a short list? Primeiro, você pega a notícia, filtra apenas aquelas em que os tickers foram mencionados e aí ele vai gerar falsos positivos, como falei para vocês. Mas tudo bem, vamos usar então o

32:27 Classificador para eliminar os falsos positivos, tá? Então, fiz esses dois exercícios aqui no universo completo, com todas as 1.700 ações. Você vê que nem teve tanta diferença de tempo aqui entre o Jev e o GPT-6, tá? Só que, claro, o preço foi muito mais barato, ó. Se a gente pegar aqui o custo projetado para 1.000 artigos, né, a gente teria um custo de [valor não informado] com o Jev e de 507 com o GPT-6. Então, obviamente, isso aqui é só para mostrar para vocês que essa é uma abordagem que não dá certo, né? Não vai escalar, tá? Tem um detalhe aqui também: a gente vai ver que o Jev erra bastante dessa forma, tá? O GPT-6, por ser

33:00 inteligente, acerta muito bem, mas olha a diferença de custo, né? É impraticável, não dá para fazer dessa forma. Quando a gente passa pela lista curta, aí o Jev já começa a ficar mais rápido, e a diferença de preço já fica muito mais palatável. Embora o GPT-6 aqui já fique, né, seja teoricamente algo que já poderia valer a pena, olha a diferença de preço aqui, né? A gente está falando de algo cerca de 200 vezes mais barato, pessoal, e o Jev e o GPT-6 tiveram o mesmo resultado. Ah, Rafael, mas por que você usou o GPT-6? Não precisava usar ele. Só estou dando como exemplo onde você

33:31 usaria o máximo de poder do LLM. Aqui, tanto o Jev quanto o GPT-6 teriam o mesmo resultado. E a gente está tendo aqui o Jev sendo 200 vezes mais barato. No exemplo de PSIC, ele foi 80% mais barato também, tá? E, na prática, tecnicamente, como funcionam essas requisições? Então, pense que a gente tem o JSON desta forma aqui, ó. O source name é o nome de quem, né, do artigo; o título, né: “Trump proíbe CNN, MS Now e político de entrar na Casa Branca por cobertura tendenciosa”. Aqui está o summary, né? O summary é o texto aqui,

34:03 e tudo mais, a URL e o published. Por que esse exemplo é interessante? Porque MS é o ticker, é o símbolo do Morgan Stanley, que é um banco listado na bolsa. E MS Now é um jornal, né? É o que antigamente era MSNBC, né? Então, é uma empresa de mídia, não é uma ação, certo? Então, se você pegar e passar o ticker aqui para a lista curta, ele vai falar: “Opa, está falando do Morgan Stanley neste artigo”, mas não tem nada a ver, está falando de outra coisa, tá? Então, vamos ver como fazemos a requisição na prática. Com o DeepSeek V4 Flash, eu passo um system prompt deste tipo, ó: “Você é um analista

34:38 financeiro do mercado brasileiro. Responda somente com um objeto JSON válido e aderente ao esquema solicitado.” Está vendo isso aqui, pessoal? Está vendo como a gente precisa explicitar o contexto para o modelo? Faça isso desta forma. Isso aqui, pessoal, é muito mais frágil. Aí a gente passa este prompt aqui, ó: “Analise o sentimento desta notícia, use apenas estas informações e classifique o impacto como positivo, negativo ou neutro.” Aí, use “neutro” quando for o caso. Isso aqui é mais ou menos a mesma coisa que a gente passa para o Jev, né, explicando o motivo. Aqui estão os dados, e aí retorne

35:11 exatamente este formato. E aqui está a descrição do JSON, tá? E, quando a gente executa com o DeepSeek, ele vai me retornar aqui, ó: neutro, confiança 0,9; notícia sobre proibição de veículos de mídia, sem relação direta com o ativo MS, Morgan Stanley. Veja, pessoal, aqui é o LLM sendo inteligente, tá? Ele está sendo inteligente. Ele recebeu aqui, ó, o ticker MS. Entendeu que MS é o Morgan Stanley e falou: “Não, isso aqui não tem nada a ver com o banco”. E aí o LLM foi lá e retornou o resultado correto: sentimento neutro, não tem nada a ver.

35:42 Mas como seria a mesma requisição, só que agora com o Jev? Tá? Então, basicamente, passando o mesmo artigo com os mesmos dados. Aqui a gente vai fazer uma pergunta para determinar o sentimento, que vai ser do tipo choice. E aí os critérios vão ser positivo, negativo e neutro, de novo, indicando quando é cada coisa, tá? E a resposta vem mais ou menos neste formato aqui, ó: a escolha é negativa, a confiança é 0,25, abaixo estão as probabilidades etc. Mas por que isso aconteceu? Isso aconteceu porque ele basicamente recebeu

36:13 aqui o ticker, né, MS, e falou: “Cara, está lá, está lá o MS. Ele não é tão inteligente assim”. Então, achou que a escolha era negativa, tipo, Trump está proibindo, tá? Então, aqui você já vê uma limitação desse tipo de modelo. Ele não é tão inteligente quanto o LLM. Ele não foi feito para isso. Não foi capaz de identificar aqui que o MS mencionado no artigo não era o ticker. Então, retornou que esse sentimento é negativo. Só que aí, quando a gente faz a análise da lista curta, ou seja, filtra apenas as ações que foram

36:43 mencionadas e aí usa o Jev para identificar se aquela menção de fato existe, essa é justamente a próxima instrução: “Identifique cada empresa ou fundo diretamente referenciado no artigo, seja no título ou no conteúdo”, tá? E aí a gente passa aqui o artigo, passa as regras como definidas, e a instrução passa a ser a seguinte, ó: está referenciando o MS, Morgan Stanley? Está referenciando o ServiceNow, que também é o ticker de uma empresa chamada ServiceNow? E, quando a gente faz dessa

37:15 forma, passando como um boolean, ou seja, um valor booleano: está referenciando, sim ou não? Aqui ele acerta. Olha lá, está dizendo “não”, 0,09, ou seja, baixo, né, mais próximo de false; 0,12, mais próximo de false. Então, aqui consegui fazer com que o Jev acertasse. Por quê? Porque projetei o meu sistema da forma adequada. Precisei fazer uma etapa anterior antes de passar para o Jev. No LLM, não preciso; confio na inteligência daquele LLM. Só que essa inteligência vem com um custo, seja de tempo, seja de preço. Rafael, mas como

37:49 você sabe que é falso? Você precisa determinar qual é o seu threshold aqui. Claro, neste caso a gente pode determinar o threshold como 0,5: abaixo disso é falso, acima disso é true. Podemos fazer dessa forma, tá? E, nesse caso, obviamente, ele vai ter acertado. E vale a pena entender mais sobre a parte de confiança, tá? Tem um artigo bem legal aqui na documentação deles, em que dizem que a confiança é derivada das probabilidades e que, muitas vezes, dizer “eu não sei” é um sinal útil, né? Você fala: “Cara, eu não sei o que fazer neste caso, tá?” E é responsabilidade do desenvolvedor saber

38:23 o que vai fazer com cada nível de confiança que recebe. Então, você poderia desenvolver um sistema em que, se a confiança é alta, você age automaticamente. O modelo entendeu perfeitamente o que fazer. Você não precisa de nenhum humano, tá? Se a confiança é média, você procede com cautela, ou seja, só automatiza dependendo do risco que aquela ação pode representar para você, tá? Então, você pode pedir para o usuário confirmar, pode sinalizar para alguém fazer um review ou até pedir mais

38:54 informações antes de continuar. E, se a confiança é baixa, aí você não faz nada, manda diretamente para um humano, tá? E eu gostei muito deste exemplo que eles dão aqui, ó, porque não existe um threshold universal. O threshold vai ser ajustado de acordo com o risco do impacto daquela classificação. Então, sei lá, imagine que a gente tem um sistema tentando entender o que o usuário está tentando fazer, né, na sua conta. Então, tem aqui a pergunta: o que o usuário está tentando fazer? E tem os critérios: ele está querendo

39:24 ver o saldo, aprovar uma transferência ou pedir suporte, né? Imagine que isso é um roteador, um classificador dentro de um sistema bancário. Ora, se a confiança for abaixo de 0,5, em qualquer um dos casos você manda diretamente para um humano. Se não for abaixo de 0,5, beleza? Vamos ver então o que ele tentou fazer. Ah, tentou verificar o saldo. Beleza, mostra o saldo. Não tem muito risco aqui, né? Tenho uma confiança média ou alta, e o impacto da ação é baixo. Posso deixar que veja o saldo. Agora, imagine que a ação seja aprovar uma transferência. Nesse caso, eu só vou

39:59 aprovar diretamente se a confiança for alta. Então, dependendo da ação, você vai ajustar a confiança. Isso é muito importante. No caso, se for acima de 90%, aí você confirma automaticamente. Se for abaixo disso, mas acima de 0,5, aí você pede para o usuário confirmar, envia um e-mail, sei lá, envia um código, faz alguma coisa para garantir que de fato é o usuário, tá? Então, é muito interessante construir sistemas baseados na confiança do resultado. Mas agora eu quero saber de você: o que você achou do Jev?

40:32 Faz sentido no seu caso de uso? Para que você usaria ele? Me conta aqui nos comentários. Vamos criar uma discussão aqui nos comentários, onde a gente possa ver casos de uso possíveis para usar o Jev. Não significa que você tem que largar o seu LLM e sair correndo para o Jev. Não é para aplicar o Jev em qualquer circunstância de forma destemperada, não é? É para entender o sistema que você está controlando e colocar ali a ferramenta adequada. Beleza? Se você gostou desse vídeo, eu já te peço, por gentileza, curta este

41:02 vídeo, compartilhe com seu amigo e sua amiga que gostam de programar com IA, que gostam de criar sistemas com IA. Tenho certeza de que vai ser muito útil. Não deixe também de se inscrever no canal. Se você está no celular, aproveita e dá o hype, beleza? Se o que você gosta é construir sistemas com IA, eu repito o convite para que você se inscreva na lista de lançamento da trilha do engenheiro de IA, que eu vou lançar no dia 30 de setembro, às 19 horas, tá, pessoal? Lá estarão meus três cursos fundamentais: os fundamentos da engenharia

41:34 de IA, programação agêntica e engenharia de harness. Eu quero oferecer uma formação completa para que você consiga entender, aplicar e projetar seus próprios sistemas de IA. Não deixe de se inscrever na lista de lançamento. Vamos ter condições exclusivas para a turma fundadora. Então, espero você lá no dia 30 de setembro. Enquanto isso, repito: inscreva-se também aqui no canal para receber os próximos conteúdos até lá. Agradeço imensamente a você por estar comigo até agora e até a próxima.

Transcrição original

[00:00] Eis que a nossa bolha de inteligência artificial foi tomada de surpresa pelo lançamento do JV, o primeiro de uma nova classe de modelos de inteligência artificial chamada Systen One e que é diferente dos LLMs tradicionais. Mas por que que o Jeff chamou tanto a atenção da comunidade? Por que que ele gerou tanta comoção? Será que muda alguma coisa para você? É justamente isso que eu quero te contar no vídeo de hoje, onde eu vou te apresentar tudo sobre o JV, essa nova classe de modelos, quando você deveria utilizá-la, quais são casos práticos e

[00:35] reais que faria sentido para você. Eu vou, claro, te mostrar um exemplo real na minha própria aplicação e responder a pergunta: será que o Jev é só mais um hype da internet ou chegou para ficar? Pessoal, eu entendo que quem acompanha esse mundo da IA às vezes fica um pouco sobrecarregado de informações novas. E de fato, né, a gente tem mudanças que são muito incrementais. Então, tem o Depsic V4 e sai o V4.1. Tem o GLM 5.2 e sai o 5.3, Fable 5,

[01:08] Fable 5.1, etc, etc. São mudanças pequenas, por mais que a gente consiga perceber alguns saltos, elas são mudanças pequenas no grande esquema das coisas. Porém, o anúncio do Jeev foi algo que realmente abalou um pouco as estruturas de como nós construímos apps com inteligência artificial, porque ele vem com uma proposta diferente daquilo que a gente tá acostumado dos LLMs tradicionais, tá? Então, se você não sabe do que eu tô falando, o JEV é o primeiro modelo de uma nova classe chamada System One. Quando a gente tá

[01:41] falando de modelo, nós estamos falando então daqueles modelos GPT6 Astra, Fable, aquilo que a gente tá acostumado a utilizar no dia a dia, tá? Esses modelos são basicamente treinados com uma técnica chamada RLHF, né, que é reinforcement learning from human feedback, ou seja, aprendizado, né, reforçado, né, através de um feedback humano, tá? E esses modelos, eles tradicionalmente são feitos para serem utilizados numa interface de chat. Não à toa que quando, né, teve o boom do GPT, ele veio atrás do chat GPT. você

[02:13] interage ali via uma interface conversacional. Também é assim com os agentes de A hoje, tá? Só que o JV e ele sendo de uma nova classe, ele não é feito para ser um chat, tá? Tanto que eles até apresentam o Jev dizendo que ele é inteligência além do chat, além de uma conversa, tá? e o Jav. Então, dá para Iar, dá pra inteligência artificial as propriedades de código. Que que são as propriedades de um código, pessoal? Um código é algo previsível, o código é

[02:49] determinístico, o código é estruturado. E nós vamos ver algumas dessas questões aqui. O Jeff, tá bom? Eh, eles seguem dizendo que eles tomaram a direção contrária do que estava sendo feito na academia, na pesquisa, tá? Então a gente tem aqui, como eu disse, os RLHFs, né, que levaram aos LLMs e são otimizados para a preferência humano, por isso que é human feedback, o feedback do humano é o que vai condicionando o treinamento. Inclusive, no meu curso de fundamentos

[03:20] da engenharia de A, que está na wait aí, né, trilha do engenheiro de A, nesse curso eu falo mais sobre etapa de treinamento. Então você faz um treinamento de modelo condicionado a um que o humano acha que aquilo é adequado, tá? Então eles seguem dizendo que isso levou, né, esse essa arquitetura levou os modelos que são super humanos em seguir instruções, né, e no que a gente agora chama de chat, né, uma conversa. Só que e essa arquitetura do RLHF cria

[03:52] problemas inerentes como confiança exacerbada, uma falta de confiabilidade. E o fato é, pessoal, que os LLMs ficaram tão bons e tão inteligentes que eles cresceram além do seu escopo original, do que eles foram inicialmente projetados para fazer. E aí você vai falar assim: “Ah, vel, por que quem disse isso?” Bom, o criador aqui, um dos fundadores do Type Safe, dessa empresa que gerou, né, o Jev, ele tem propriedade para falar, né, o CEO do TypeSfe aqui chamado Diogo Almeida. Inclusive, parece até o nome de

[04:23] brasileiro, né? Não sei nem se ele é brasileiro, mas o Diogo Almeida, ele coinventou esse princípio, esse esse método do RLHF e também o Instruct GPT, que foram métodos que levaram depois a criação do chat GPT. Então é um cara que vem da academia, que vem do estudo e que participou do desenvolvimento desse tipo de sistema, dos LLMs. Então não é como se o pessoal do Typeesfe Ll, tem nada a ver. Só que eles estão resolvendo um outro tipo de problema com uma outra abordagem. Então o que que foi que eles construíram? Eles construíram uma nova

[04:54] classe de modelos que eles estão chamando de system one. Parêntese. Por que que eles chamam de Systen One? Vocês talvez conheçam o livro Fast and Slow, né, do Daniel Canneman. Beleza? Esse livro aqui do Daniel Ceman é um livro muito famoso. Daniel Canan ganhou o Nobel de Economia, tá? E nesse livro o Daniel Caneman, ele apresenta o conceito de sistema um e sistema dois, né? Eu sei, não é um nome muito muito criativo, mas basicamente o sistema um seria o

[05:25] sistema que reage rápido e o sistema dois é o sistema que você, né, pensa, você demora mais para tomar as decisões, né? Então eles estão chamando isso aqui de system one porque ele faz parte desse tipo da sua área do cérebro que toma decisões rápidas, que infere algo rápido, tá? Então eles estão construindo modelos para esse tipo de tarefa. E aqui você já entende que ele não é feito para long task, ele não é feito para ficar fazendo código, ele não é feito para pensar na morte da bezerra, ele é feito para identificar uma coisa e dar uma

[05:58] resposta. E a gente já vai ver como tá? Então isso foi feito com uma nova arquitetura que ele chama de Reinforcement Learning for calibrated decisions, né? Então RLCD em contraste com o RLHF, tá? Isso aqui tá fora do corpo desse vídeo, mas para você entender que existe uma pesquisa por trás dessa nova classe de modelos chamada System One, do qual o JV é o primeiro modelo. Bom, então vamos seguir vendo aqui o que tem de relevante no lançamento do Jev. E eles dizem, né, são decisões, não strings. Llo,

[06:33] linguagem, retorna texto, retorna string. No caso do JV e dos modelos do tipo system one, eles vão retornar decisões, vão retornar algo que é tipado, tá? Ou seja, que tem tipo, pessoal. Tipo é algo que software adora. Nós gostamos de previsibilidade em código. Nós não gostamos de dado não estruturado. A gente usa LLMs para tentar estruturar um dado de uma forma meio que na marra, mas o JV foi criado para fazer isso nativamente. Ele também

[07:04] vem com uma confiança calibrada, então você já tem ali por padrão a probabilidade, a estimativa de que aquela classificação foi feita da forma adequada. E claro, ele é mais como um código, né? Então ele é confiável, rápido e type safe. Então eles batem muito na tecla aqui de que ele é rápido e barato. E de fato, eu fiz uns testes que ainda vou mostrar no final desse vídeo, onde de fato ele é bem mais rápido e barato do que um modelo que já é rápido e barato, tá? A gente já vai ver isso com mais detalhes, né? E eu gostei muito disso aqui, tá? Essa parte aqui talvez foi a que mais me pegou no

[07:36] sentido, né, desse lançamento e que eu acho que talvez seja o mais importante pra maior parte das pessoas aqui, tá? O JV ele é feito para automações, pessoal. Isso é fundamental para quem tá criando um sistema de A, para quem tá criando um sistema mais complexo e colocando IA como parte da do decision making, da tomada de decisão. Quando a gente usa um LLM, essa tomada de decisão, ela é arbitrária e depende ali do reasoning arbitrário e estocástico que nós temos

[08:08] de um modelo. Só que quando você pede para um modelo, tipo um LLM, te dá um intervalo de confiança, aquilo ali não é necessariamente matemático, né? Aquilo ali é meio que inferido pelo próprio modelo, tá? aqui não. Aqui no caso do Jeff, ele de fato vai ter uma distribuição de probabilidades que você vai conseguir ter uma confiança muito mais assertiva ou melhor, uma confiança muito mais próxima do que nós entendemos por confiança. E quando a gente tá construindo um sistema, é importante que a gente entenda o grau de confiança,

[08:40] onde que a gente deve colocar um humanop, onde que a gente consegue fazer ele 100% automatizado, tá? Então isso nos ajuda muito, beleza? Então o JEV retorna decisões tipadas com probabilidades que sejam calibradas, de modo que o seu software possa ser responsável pela incerteza. É uma coisa, se eu sei que o meu código tem uma certeza de 90%, é outra coisa se eu sei que ele tem uma certeza de 30%. Eu, como o decisor, como o engenheiro por trás

[09:11] desse sistema de a, eu posso decidir que etapa fazer em seguida, tá? Então você pode configurar os seus thrashs, né, já, já que ele dá um intervalo de confiança, você é responsável por dar o thrash adequado. Cara, eu quero, eu sou o máximo de confiança aqui. Eu vou dar um thrash de 95%, por exemplo. Não, eu tolero aqui um pouco de erro, não tenho problema com falso positivo. Vamos botar aqui um thrash de 60%, vai depender de você, repito, como engenheiro por trás desses sistemas, tá? Então você consegue combinar essas decisões no código para

[09:44] construir workflows maiores, com muito mais controle em cima da inteligência que é utilizada. E antes de partir um pouco mais pra parte técnica do JV, eu queria ler esse manifesto que eu achei muito revelador sobre o que que eles querem construir, tá? Eu não vou ler tudo aqui, mas vou pegar algumas partes principais. Então eles começam dizendo que a missão deles é pavimentar o menor caminho possível para uma revolução econômica baseada na inteligência artificial através de tornar a inteligência composable, ou seja, que

[10:18] você consiga compor uma em cima da outra, que é como o software funciona. Se você for parar para pensar, nós quando desenvolvemos software, a gente vai construindo em cima de diferentes conceitos. Então você começa lá escrevendo uma linguagem de máquina e você cria uma linguagem de baixo nível, aí você vai lá e cria uma linguagem de programação, sei lá, tipo um Java e aí dali vira um Python e dali você cria um framework, tipo fast API, e aí você vai aumentando o nível. Só que por que que a gente consegue trabalhar em níveis mais

[10:48] altos, com abstrações, né, mais altas? Porque a gente tá sustentado em níveis que nós já estudamos, já estruturamos e que a gente tem confiança naquilo. Então, se você conseguir usar a inteligência artificial para criar esses sustentáculos que vão permitir que nós criemos sistemas cada vez mais robustos, a gente pode ter uma aceleração econômica, né? Essa essa, digamos assim, é a big picture deles, tá? Mas o importante para mim aqui é essa parte de making intelligence composable. Isso aqui eu gosto bastante, tem muito a ver

[11:22] com que nós falamos de automação ali antes, tá bom? Eles dizem que a IA tradicional, né, a IA atual, ela é treinada para ser um assistente articulado e e que seja útil, né, e agradável. E beleza, né? É objetivos razoáveis. Se você assumir que é um humano que tá do outro lado do modelo. Então, se eu tô interagindo via chat, é OK que o meu assistente seja helpful pleasant assistant, certo? Mas se for uma máquina que tá do outro lado. E se

[11:54] eu quiser compor um sistema IA falando com IA, eu não preciso que eles sejam helpful assistant, eu preciso que ele funcione mais como código, tá? Então, o fato de que a IA foi treinada para falar com humanos, né, gera a consequência natural de que a IA vai acabar requerendo humanos no looping, né, human vezes, ao invés de simplesmente conseguir ser autônoma e rodar em background, tá? Então, software no geral nunca funcionou dessa forma com Human em Delope, né? mesmo. O código mais complexo é construído em cima de lógicas

[12:27] simples e abstrações que vão sendo colocadas uma em cima da outra, como eu disse para vocês, com a particularidade de que a cada novo layer, a cada novo grau de abstração que você vai colocando, né, nesse bolo, que é a engenharia de software, você tem uma possibilidade de auditar. Eu sei, opa, o problema tá aqui, ó. Tá nessa camada dois. Quando a gente tem um LLM resolvendo tudo, a gente não consegue auditar. A gente passa pro LLM e se vira aí, faz a resposta e ele te dá um retorno que você fala: “Cara, mas por

[12:58] que que você retornou isso e você não retornou aquilo?“, né? E a gente tem todo aquele trabalho de fazer o harness engineering, né? que também tá lá no meu curso, na minha trilha do engenheiro de, cujas inscrições vão abrir no dia 30 com condições especiais e o link vai tá na descrição e no comentário fixado. E você acaba tendo que fazer todo esse trabalho de harness engineering, que claro, vai continuar sendo útil, a gente vai continuar fazendo, mas a gente perde muito da tomada de decisão determinística ali que acontece. Então eu gosto muito dessa proposta deles, né, basicamente de você ter uma AI, né, uma

[13:33] IA que seja composable, seja composta e seja machine native, seja nativa, orientada para as máquinas. Maravilha. Agora que a gente já falou dos princípios por trás dessa nova classe de modelos, vamos ver como que o JV funciona na prática, tá? Então tô aqui na documentação deles, aqui na introdução e vamos ver aqui como que você trabalha com o Jeff, tá? Então, para começo de conversa, aquela mesma história que a gente já sabe, né? Os Laruas de Modas, os LLMs são projetados para produzir texto e para humanos

[14:06] lerem, certo? Quando você quer que um modelo faça um julgamento que o seu código vai consumir, isso cria, né, um mismatch, uma confusão ali. Você tá forçando um sistema que gera texto para retornar decisões estruturadas e aí você parceia esses resultados de volta no seu código. Isso aqui é muito importante porque a gente pode cair na tentação de achar que o JEV é apenas um structured output glorified, né? Glorificado, né? Cheio ali de pompas. Mas não é verdade,

[14:38] pessoal. Sim, de fato, ele vai te gerar ali um structured output. Se você não sabe o que é isso, é quando a gente força um modelo de A retornar, por exemplo, um JSON num formato seguindo um determinado esquema, tá claro, né? Nós podemos forçar o Ll fazer isso, mas de novo, você tá aqui, ó, cocing, você tá coagindo um sistema de geração de texto a fazer algo que ele não foi projetado para fazer. Por mais que a gente faça ali treinamento pós-treinamento, para que os modelos consigam, né, respeitar bem ali o output estruturado, não foi

[15:13] para isso que eles foram desenvolvidos. Inclusive, se você trabalha com IA mais tempo, você provavelmente passou por uma fase onde isso era difícil. os modelos lá no início, quando a gente começou a usar o Ll para fazer código, a gente tentava fazer ali eh outputs estruturados que ele retornasse ali um esquema bonitinho num formato de Jason, e muitas vezes ele errava, ele não respeitava aquilo. E aí os modelos foram ficando melhores em fazer isso e a gente tinha que colocar umas validações para garantir que ele realmente saia no formato. era realmente uma uma dor de cabeça que no final das contas foi meio

[15:45] que resolvida, mas que nunca foi resolvida na base, na forma como o modelo é treinado para retornar esses resultados, tá? Então o JV é basicamente construído para fazer essas decisões rápidas e estruturadas que nós tipicamente utilizamos num sistema de software, tá? Então mais concretamente o que que acontece? O JEV calcula perguntas contra um estado e retorna resultado estruturado. Não tem geração de texto, você não precisa parciar nada,

[16:16] você pega valores tipados e distribuição de probabilidades que o seu código pode ali, né, seguir de acordo com as probabilidades, tá? Então isso é muito importante. Você vai passar um estado com a informação, pensa que é como se fosse o contexto do que um LLM recebe e você vai falar: “Ó, eu quero que você retorne, por exemplo, nesse e nesse e nesse tipo”. E aí eu peço para que ele retorne um desses três tipos, pessoal, uma choice, uma um score ou um no, tá? Isso aqui são os primitivos, são as primitivas do type safe, tá? Então,

[16:49] similar as primitivas de software, as primitivas do type safe, né? As primitivas de a são modulares, compos estruturadas, confiáveis e rápidas, tá? O que que cada uma dessas primitivas se presta a fazer? Bom, vamos analisar primeiro o choice. O objetivo aqui, então, quando você dá uma pergunta do tipo choice, é que você escolha uma opção de uma lista, tá? Então aqui ele vai retornar à escolha que ele fez, né? a probabilidade de cada escolha e a confiança que ele tem no resultado. Rafael, me dá um exemplo de choice. Ora,

[17:21] imagina que você quer fazer uma classificação de sentimento, uma análise de sentimento de uma ação. Você quer pegar ali uma notícia, pegar ali ação e falar assim, ó, me interpreta aqui dentro desse texto se a bção feita a essa ação é positiva, negativa ou neutra. É uma escolha. O modelo tem que pegar, selecionar uma dessas, tá? Um outro exemplo de choice, de escolha, você recebeu ali uma mensagem do seu suporte e aí você quer saber para quem que eu tenho que mandar essa mensagem. Será que é do time do financeiro? Será

[17:53] que é do time de desenvolvedores? Será que é o time legal? Para quem que eu tenho que mandar essa mensagem, né? Baseado no contexto da mensagem que eu recebi aqui. Qual que é o departamento que tem que lidar com isso aqui? é uma escolha, é uma choice, você pode utilizar o JV para isso. O segundo tipo de pergunta aqui é o score. Então, o score basicamente é uma nota baseada numa rúbrica, né, num gabarito. E ali você vai receber o score, também as probabilidades e também a confiança. Exemplo de score. Tudo que você possa

[18:24] querer ter uma distribuição numérica é passível de você utilizar o score, tá? Eles dão esses exemplos aqui, ó. Quão severo é esse bug que tá sendo reportado. Se for zero, né, você vai falar, não vai ter impacto na funcionalidade. Um, tá quebrado ou dois é um issue blocking, né, assim, tem que consertar instantaneamente. E aí o modelo vai te dar um score, por exemplo, ele pode te retornar aqui 0.8, o que significa que ele tá aqui entre cosmetic e broken, tá mais perto de de broken do que de do que de blocking, por exemplo. Ou ele pode retornar aqui, sei lá, 1.9. Caramba, 1.9 é que tá realmente tá tá

[18:58] mais pro lado aqui de ser blocking, né? Então você analisa de acordo com isso. Outro exemplo é qual quão formal é esse é essa roupa aqui, né? Baseada na descrição. E aí você dá os scores aqui e ele vai te dar a nota entre eles. Quão relevante é a experiência do candidato, né, em relação à vaga que foi postada. E aí, ó, pô, 0 1 2 3 indo graus de relevância aqui, né, de acordo com o que a pessoa tem na experiência dela. Então, se a pessoa tiver, sei lá, 2.5, ela tá

[19:30] algo entre ter uma experiência direta e uma uma boa experiência. Então você você consegue, vamos dizer assim, ordenar os candidatos por aqueles mais relevantes, por exemplo. Então isso é muito muito interessante, tá? E nós temos também esse tipo de chamado no, que até agora eu não entendi porque que eles chamam de no, que é basicamente um bulean, tá? Alguém, se alguém souber porque que eles deram esse nome em particular aqui, me conta aqui nos comentários que eu realmente não entendi. Mas é basicamente um buleano. Você basicamente vai fazer uma pergunta se aquilo é verdade ou não e ele vai retornar um número entre zero

[20:02] e um. Quanto mais próximo de um, mais próximo do true, tá? Sei lá, ah, o cliente está irritado, zero ou um, tá? E aí, quanto mais próximo você sabe, né, se o cara tá irritado ou não. Beleza? Isso aqui é bem bem interessante também, tá? Maravilha, pessoal. Vamos ver o Jev funcionando na prática. Então, eu consegui acesso a ele, tá? Ele tá no momento em wait, você pode tentar se inscrever no Jav, né? Demorou mais ou menos um dia para eles me liberarem. Então, basicamente ele já tem um playground aqui que você pode fazer teste, tá? Então, vou colocar aqui um exemplo de uma mensagem que você poderia

[20:34] receber, tá? Então, recebi essa mensagem aqui. Esse é o meu estado e eu preciso fazer perguntas em relação àquele estado que eu recebi, aquele, entre aspas contexto, tá? E eu vou fazer cada pergunta de acordo com as primitivas que nós acabamos de ver. Um no, um score ou uma choice, tá? Então você pode fazer direto aqui, né, pelo playground. Eu já deixei algumas separadas que eu vou colar aqui, tá? Então, basicamente vamos ler isso aqui junto, tá? Imagina que eu criei um classificador que faz uma triagem de mensagens de suporte, tá? E

[21:07] aí a pessoa mandou uma mensagem assim: “Eu comprei o seu curso de Python ontem, mas cada aula diz access den acesso em vários”. Eu já tentei sair, fazer o logout, resetar minha minha senha, eu tinha deixado de lado esse fim de semana para estudar e agora eu tô desperdiçando meu fim de semana. Por favor, corrija o meu acesso. Eu não quero um refund, eu quero assistir o curso, tá? Então imagina que recebeu com certeza não seria dos nossos sistemas lá do programa aí, mas imagina que você recebeu essa mensagem, tá? E aí você criou um sistema, você quer criar um sistema automático de triagem e aí da desse

[21:40] sistema automático de triagem você determina ali três perguntas, beleza? E aí botei uma pergunta para cada primitivo aqui. Pergunta número um, qual que é o departamento que eu tenho que rotear essa mensagem? Quem que quem que tem que tomar conta disso aqui, tá? É uma choice, é uma escolha. Pode ser technical support, billing, teaching ou other order. Beleza? Imagina que a gente tem esses critérios aqui. Nós determinamos quais são as instruções e a gente dá aqui o critério. Como que ele vai dizer se é do technical support? Como que ele vai dizer se é o billing, como que ele vai dizer que é o teaching.

[22:10] A gente passa ali quais são os critérios que vão ser utilizados, tá? Nós também temos um outro tipo de pergunta, request refund. Será que essa pessoa está pedindo um refund? E aí aqui é um no, né? É um buleando. Esse cliente está pedindo para receber o dinheiro de volta. Por quê? Porque eu posso querer, se a pessoa pedir um refund, eu jogar ela num fluxo determinístico para que ela vá lá e e consiga o reembolso dela. Ou eu roteio, eh, urgentemente para algum vendedor que possa entrar em contato, tentar renegociar com a pessoa. Pode ser feito também. E o terceiro exemplo aqui, então, seria um score,

[22:43] seria uma nota, né? Quão frustrado esse cliente está, como ele tá se expressando, né? Então, pensa no score, que é tudo que você possa dizer, ah, de zero a 10, como você tá se sentindo? Tudo isso pode ser um score, tá? E também a gente tem critérios, ó. O zero seria neutro ou amigável. Um é ah, tá um pouquinho com tá expressando aqui o inconveniência, tá desapontado. O dois seria uma grande frustração. E o três é o cara tá tipo sendo abusivo, né? Então com esse estado e essa pergunta eu poderia fazer um request aqui. E cara,

[23:17] olha quão rápido foi isso aqui, pessoal. Isso aqui basicamente durou 104 msundos para fazer a interação, tá? Para fazer a inferência. Beleza? 104 ms e demorou mais 314 ms que é o da internet, né? O round trip aqui. E ele vai te retornar alguma coisa assim, ó. Lembra? Era primeiro, a primeira pergunta era o departamento, era uma escolha. Ele foi lá, ó, e escolheu technical support com 100%, porque ficou claro aqui na mensagem, né? Depois pro request refund. Ora, isso aqui era para ser um buleano e ele me deu aqui, ó, 97% de chance de ser

[23:52] falso. Por qu ficou claro? O cliente falou: “I don’t wan refund”. E a frustração, a frustração ele acabou aqui caindo no ponto número dois, ó. Expressa uma frustração forte sobre tempo de e tempo desperdiçado e tudo mais, né? Então ficou claro aqui que o cliente estava nessa categoria. Agora vamos fazer uns testes aqui. Deixa eu tirar essa parte final onde ele diz que não quer pedir um refund. E vamos regenerar aí. Olha só, aumentou um pouquinho a probabilidade de que o cara tá querendo um reembolso, tá? Eh, ele não disse

[24:25] necessariamente, o modelo continua ali confiante. O cara não pediu, não tem nada indicando aqui que ele quer, né, um refund. E se eu trocar e botar alguma coisa do tipo, “Please fix my access as”, né? Você entendeu essa palavra aqui, esse xingamento em inglês, você vai ver que aqui, ó, provavelmente a gente vai cair agora nesse nível de frustração aqui, né? Olha lá, caímos aqui no nível quatro de frustração. Por quê? Porque agora ele usou insulto, né? Ele insultou a pessoa. Isso é muito legal, muito legal. Imagina isso aqui como moderação, pessoal. Muito fácil você fazer

[24:55] moderação aqui, né? Muito, muito fácil mesmo. Então, bem legal isso. Beleza, pessoal. Então, espero que tenha ficado claro que o JEV ele funciona muito bem como um classificador, só que ele é um classificador construído para ser um classificador. E você pode pensar assim: “Ah, Rafael, mas beleza, qual o problema de usar um LLM? Os llms não resolvem esse problema?” E sim, em muitos casos, mas a gente tem uma um pênalti de custo, um pênalti de velocidade e um pênalti de confiança também no sistema. De novo, ele não foi construído para ser feito

[25:30] daquela forma. Quem trabalha com engenharia, quem desenvolve sistemas, tem sempre que estar pensando na melhor ferramenta para tarefa à mão, tá? E o JV me parece excelente para isso, para quem quer construir sistemas. E a grande verdade é que muito possivelmente se você está desenvolvendo um sistema com IA, se você tá colocando IA de alguma forma na sua empresa, você provavelmente está automatizando algum processo, você tá criando algum workflow, você tá pegando dados não estruturados de diferentes fontes e tomando uma decisão

[26:04] baseado naquilo. Só que agora você consegue fazer essa decisão de uma forma muito mais interessante, com intervalos de confiança, com probabilidade de forma mais rápida e usando uma tecnologia que de fato foi feito para aquilo, tá? Então, para responder essa pergunta de forma mais concreta, se nós, né, se vale a pena você trocar o LLM pelo Jev, eu quero mostrar para vocês aqui um exemplo real e concreto lá no Quant Brasil. No Quant Brasil, que é o meu site de finanças quantitativas, nós fazemos o que nós chamamos de análise de

[26:35] sentimentos, tá? Então, deixa eu passar aqui, por exemplo, para o cloud e eu vou usar o a CLI do Po Brasil para falar algo do tipo: “Please analyze the sentiment of the latest vale 3 news,” tá? Então, as últimas notícias de Vale, eu quero saber o que que o mercado tá achando, que que que o que que as notícias estão dizendo, tá? É aqui eu tô usando a CLI do Conte Brasil, que eu vou deixar o link na descrição. Você pode instalar e testar de forma gratuita, tá? E aí com a SLI do C Brasil, ele é capaz de puxar essas notícias, ó. A gente tá

[27:07] vendo aqui, ó, as notícias sendo chamadas, né, ali na séri. Tô usando dentro aqui do cloud code. Ele faz a análise de sentimento e ele vai me dizer, ó, para tal e tal notícia, eu tive esse sentimento positivo, negativo ou neutro, certo? E tá aqui o resultado, ó. Nos últimos s dias, nós tivemos aqui, ó, 10. Ele pegou aqui as últimas 10 notícias, quatro negativas, três positivas, algumas são neutras, tá? Ele diz algumas em particular, ó, MPF assinou válido. Claro que isso aqui é negativo. E você vê que tem aqui, ó,

[27:38] negativo e um intervalo de confiança, 0.72. Isso aqui já está sendo feito, já está em produção no Quant Brasil. E isso é feito utilizando um LLM. Eu tô utilizando o DeepSic V4 Flash para analisar as notícias e retornar o resultado do sentimento, a confiança e a razão do porque ele escolheu aquilo, né, num formatinho que eu posso depois salvar no banco e mostrar ali pros usuários, tá? Então isso é feito utilizando o Dipsic V4 flash, que é um modelo muito baratinho e rápido. E aí você poderia pensar, bom, esse aqui é o

[28:11] caso clássico para você usar um classificador como o Jav. Beleza? Eu quero passar para vocês aqui alguns experimentos. que eu fiz tanto em relação a preço, quanto onde que faz sentido usar o JV, onde que não faz, onde que o LLM vai ser mais prático, vai ser mais fácil. Beleza? Então, prestem atenção aqui que aqui tem bastante informação interessante, tá? Eu testei isso aqui, pessoal, em duas tarefas diferentes, tá? A primeira tarefa é a análise de sentimento, que foi essa que eu mostrei para vocês, né? Então, receber uma notícia, ela é positiva, negativa ou neutra para uma determinada

[28:42] empresa. E a segunda tarefa aqui é fazer um company matching, ou seja, receber uma notícia, tá? Tem uma notícia aqui, eh, MPF entra com um pedido contra Vale, tá? Quais empresas foram mencionadas aqui? Você entende que nem sempre é claro pra gente entender quais são as empresas que estão ali na notícia? Porque normalmente, tipicamente, né, nós podemos fazer isso de algumas formas, né? A forma mais eh bruta seria eu ver se tem o nome da empresa na notícia. Só que na na no mercado financeiro às vezes você não usa ali o nome da empresa, mas

[29:15] você vai usar ali o ticker, né? Sei lá, vale é vale três. Só que o ticker nem sempre ele vai resolver. Por quê? Porque dependendo do mercado que você tá analisando, o ticker pode ser um falso positivo. No SP500 tem uma empresa cujo ticker é A. Então obviamente essa empresa sempre vai aparecer ali, né? Muito bem. Então eu posso usar o JEV para ver, será que essa essa empresa foi de fato mencionada nesse artigo? Sim ou não? Tá? Então são duas tarefas que nós poderíamos usar o JEV aqui como substituto do LLE. Vamos começar então

[29:46] analisando o custo, tá? Quais são os preços base dele? Bom, o Jev ele custa 0.042 por milhão de de input tokens e o output dele é gratuito, tá? Inclusive, se você entrar no open router agora, open router, você tem aqui, ó, Javus, tá aqui, ó, 0.042 e 0 milhão de output tokens. Então, então você nem precisa ter acesso lá na weight list, você pode testar aqui pelo próprio Open router e lá no Versel também tá de graça por tempo limitado, tá? Então você já vê aqui a diferença dele de preço em relação ao deepsic, né? Ele é três vezes mais barato no input e, né,

[30:19] infinitamente mais barato no output. E olha só a diferença em relação com GPT6 ATA, por exemplo, aqui, né? É ridiculamente barato. A gente tá falando aqui de 20, né? 200 vezes mais barato do que o GPT 6 ATA, que é o último modelo da Open A. Então vamos aqui pra parte de análise de sentimento. Então o teste que eu fiz aqui com o Coldex foi pegar seis artigos, tá? Com os stickers que foram mencionados ali, né? Com as ações que foram mencionados ali, rodar el esse essa análise duas vezes. Então a gente tem 12 chamados pro Dipsic e 12 chamados para o Jack. Qual que foi a latência média do deepic? A latência média para

[30:54] eu ter a resposta foi 2.6 segundos. No JV foi 0.4 segundos, tá? Então a gente tá falando aqui que o JV é entre seis e sete vezes mais rápido, tá, Rafael? Mas você usou o DeepS é através do Open Code Go, que é um provedor baratinho, mais lento? Sim, é verdade. Muito possivelmente você consegue diminuir esse valor, mas você sempre vai ter um provedor roteando ali para você e pela inerência do LLM, ele vai ser mais lento mesmo, tá? Então, se você precisa fazer uma classificação num tempo mais crítico em um sistema de tempo real, isso aqui é

[31:24] bem interessante, tá? A gente consegue reduzir significativamente o tempo. Bom, o custo de 12 classificações, nem dá para falar esse número aqui, ó. Se a gente for pensar no custo projetado por 1000 classificações, a gente tem aqui, ó, 0.14 comic, 0.02 com o Jev. Então, o JV aqui também sendo ali cerca de sete vezes mais barato, estamos falando aqui dele ser 80% mais barato, tá? 80% de de redução de custo é muita redução de custo, pessoal. Aí eu fiz um outro experimento aqui, tá? Pegue um artigo, um artigo qualquer e pegue todas as

[31:55] ações que eu estou traqueando e para cada ação pergunta: “Essa ação tá mencionada? Essa ação tá mencionada? Essa ação tá mencionada?” Então, no caso aqui, eu tinha 1667, né, ações ali no universo e eu fiz esse workflow com o Jev e com o GPT6 Astra, tá? Eu já vou dizer porquê. Eu fiz isso usando primeiro todo o universo e depois eu fiz isso utilizando só uma short list. O que que seria a short list? Seria primeiro você pega a a notícia, você filtra apenas aqueles que os stickers foram mencionados e aí ele vai ter falsos positivos, como eu falei para vocês. Mas tudo bem, vamos usar então o

[32:27] classificador para eliminar os falsos positivos, tá? Então eu fiz esses dois exercícios aqui no universo completo, com todas as 1700 ações, você vê que nem teve tanta diferença de tempo aqui entre o Jeev e o GPT6, tá? Só que claro, o tempo, o preço foi muito mais barato, ó. Se a gente pegar aqui o custo projetado para 1000 artigos, né, a gente teria de custo aqui no Jeev e 507 no GPTC. Então, obviamente, isso aqui é só para mostrar para vocês que essa aqui é uma abordagem que não dá certo, né? Não vai escalar, tá? Tem um detalhe aqui também que a gente vai ver que o JEV ele erra bastante dessa forma, tá? O GPT6 por ser

[33:00] inteligente, ele acerta muito bem, mas olha a diferença de custo, né? É, é impraticável, não dá para fazer dessa forma. Quando a gente passa pela short list, aí o JV já começa a ficar mais rápido e aí a diferença de preço já é muito mais palatáquip, por mais que o GPT6 aqui já fiquem, né, seja teoricamente já poderia pagar, olha a diferença de preço aqui, né? A gente tá falando de algo cerca de 200 vezes mais barato, pessoal, com o fato de que aqui o JEV e o GPT6 tiveram o mesmo resultado. Ah, Fel, mas por que que você usou o GPT6? não precisava usar ele. Só tô dando como exemplo, eh, onde você

[33:31] usaria o máximo de poder do LLM. Aqui, tanto o JEV quanto o GPT6 teriam o mesmo resultado. E a gente tá tendo aqui o JEV sendo 200 vezes mais barato. No exemplo de PSIC, ele foi 80 80% mais barato também, tá? E na prática, tecnicamente, como que funciona essas requisições, tá? Então, pensa que a gente tem o Jason dessa forma aqui, ó. O source name é o nome de quem, né, do artigo, o título, né, Trump proíbe CNN, MS MSAL e político de entrar na Casa Branca, né, por cobertura tendenciosa. Tá aqui o summary, né, o summary é o texto aqui,

[34:03] tudo mais, é a URL e o published. Por que que esse exemplo é interessante? Porque MS é o ticker, é o símbolo do Morgan Stanley, que é um banco listado na bolsa. E MS Now é um jornal, né? é o que antigamente era MSNBC, né? Então é uma empresa de mídia, então não é uma ação isso aqui, certo? Então se você pegar e passar ticker aqui, o short list, ele vai falar: “Opa, tá falando do Morgan Stanley nesse artigo e não tem nada a ver, tá falando de uma outra coisa, tá? Então a gente vai ver como que a gente faz a requisição na prática. Com o Dipsic V4 flash eu passo um system prompt desse tipo, ó, você é um analista

[34:38] financeiro do mercado brasileiro, responda somente com objeto Jason válido e aderente ao esquema solicitado. Tá vendo isso aqui, pessoal? Tá vendo como a gente precisa explicitar contextualmente pro modelo? Faça isso dessa forma. Isso aqui, pessoal, é muito mais frágil. Aí a gente passa esse prompt aqui, ó. Analise o sentimento dessa notícia, use apenas essas informações, é, classifica o impacto positivo, negativo e neutro. Aí use o neutro quando for dessa forma. Isso aqui é a mesma coisa que a gente dá ali mais ou menos no JV, né? Explicando o motivo, tá aqui, né? os dados e aí retorne

[35:11] exatamente esse formato e tá aqui a descrição do Jon, tá? E quando a gente roda ali com Deipsic, ele vai me retornar aqui, ó. Neutro, confiança 0.9, notícia sobre proibição de veículos de mídia sem relação direta com o ativo MS Morgan Start. Veja, pessoal, aqui é o LLM sendo inteligente, tá? Ele tá sendo inteligente. Ele recebeu aqui ó, ticker MS. Ele entendeu que o MS é o Morgan Stanley e ele falou: “Não, isso aqui não tem nada a ver com o banco”. E aí o LLM foi lá e retornou o resultado correto? Sentimento neutro, não tem nada a ver.

[35:42] Mas como que seria a mesma requisição só que agora com o Jeff? Tá? Então, basicamente, passando o mesmo artigo com os mesmos dados. Aqui a gente vai fazer uma pergunta para determinar o sentimento, que vai ser do tipo choice. E aí os critérios vão ser positivo, negativo e neutro, de novo, indicando quando é cada coisa, tá? E a resposta vem uma coisa nesse sentido aqui, ó. A escolha é negativa, a confiança 0.25, baixa aqui as probabilidades, etc. Mas por que que isso aconteceu? Isso aqui aconteceu porque ele basicamente recebeu

[36:13] aqui o tick, né, MS e ele falou: “Cara, tá lá, tá lá o MS, ele não é tão inteligente assim”. Então ele achou que a escolha era negativa, tipo, Trump tá proibindo, tá? Então aqui você já vê uma limitação desse tipo de modelo. Ele não é tão inteligente quanto o LLM. Ele não foi feito para isso. Ele não foi capaz de identificar aqui que o MS mencionado no artigo não era o ticker. Então ele retornou que não é esse sentimento aqui é negativo. Só que aí quando a gente faz, né, a análise da short list, ou seja, filtra apenas as ações que foram

[36:43] mencionadas e aí usa o JV para identificar se aquela menção de fato existe. Então é justamente essa a próxima instrução. Identifique cada empresa ou fundo diretamente referenciado no artigo, né? Seja no título ou no conteúdo, tá? E aí a gente passa aqui o artigo, a gente passa as regras como definidas e aqui a instrução passa a ser o seguinte, ó. Tá referenciando o MS Morgan Stanley, tá referenciando esse now, que também é uma outra, é o ticker de uma empresa chamada Service Now. E quando a gente faz dessa

[37:15] forma, passando como um no, ou seja, um buleando, está referenciando sim ou não? Aqui ele acerta. Olha lá, ele tá dizendo, ó, no 0.09, ou seja, baixo, né, mais próximo do false, 0.12, mais próximo do false. Então aqui eu consegui fazer com que o JV acertasse. Por quê? Porque eu projetei o meu sistema da forma adequada. Eu precisei fazer uma etapa anterior antes de passar pro JEV. No Llm, eu não preciso, eu confio na inteligência daquele LLM. Só que essa inteligência vem a um custo, seja de tempo, seja de preço. Rafael, mas como

[37:49] que você sabe que é falso? Você precisa determinar qual é o seu thold aqui. Claro, aqui no caso a gente pode determinar o thrash como 0.5 e abaixo disso é falso, acima disso é true. Podemos fazer dessa forma, tá? E nesse caso, obviamente, ele vai ter acertado. E vale a pena você entender mais sobre a parte de confiança, tá? Tem um artigo bem legal aqui na documentação deles, onde eles falam que a confiança ela é derivada das probabilidades e que muitas vezes você dizer eu não sei é um sinal útil, né? Você fala: “Cara, eu não sei o que fazer nesse caso, tá?” E é responsabilidade do desenvolvedor saber

[38:23] o que que ele vai fazer para cada confiança que ele recebe. Então você poderia desenvolver um sistema onde se a confiança é alta, você vai lá e age automaticamente. O modelo entendeu perfeitamente o que fazer. Você não precisa de nenhum humano, tá? Se a confiança é média, você vai proceder com cautela, ou seja, você só vai automatizar dependendo do risco do que aquela ação pode tomar para você, tá? Então você pode pedir pro usuário confirmar, você pode flaguear para alguém fazer um review ou até pedir mais

[38:54] informação antes de continuar. E se a confiança é baixa, aí você não faz nada, manda diretamente para um humano, tá? E eu gostei muito desse exemplo que eles dão aqui, ó, porque o thrash não existe um thrashhold universal. O threshold vai ser ajustado de acordo com o risco do que aquela classificação pode impactar. Então, sei lá, imagine aqui que a gente tem um sistema tentando entender o que que o usuário está tentando fazer, né, na sua na sua conta. Então, tem aqui a pergunta, que que o usuário tá tentando fazer? E tem o critério, ele tá querendo

[39:24] ver o saldo, ele tá querendo aprovar uma transferência ou ele tá querendo o suporte, né? Imagina que isso é um roteador, é um classificador dentro de um sistema bancário. Ora, se a confiança for abaixo de 0.5, em qualquer dos casos você vai lá e manda direto pro humano. Se não é abaixo de 0.5, beleza? Vamos ver então o que que ele tentou fazer. Ah, ele tentou verificar o saldo dele. Beleza, mostra o saldo. Não tem muito risco aqui, né? Eu tenho uma confiança média ou alta, o impacto da ação é baixo. Eu posso deixar ele ver o saldo. Agora, imagina que a ação seja aprovar transferência. Nesse caso, eu só vou

[39:59] aprovar diretamente se a confiança for alta. Então, dependendo da ação, você vai ajustar a confiança. Isso é muito importante. No caso, se for acima de 90%, aí você confirma automaticamente. Se for abaixo disso, né, mas acima de 0.5, aí você pede pro usuário confirmar, você envia um e-mail, você, sei lá, envia um código, você faz alguma coisa para garantir que de fato é o usuário, tá? Então, muito interessante você construir sistemas baseados na confiança do resultado. Mas agora eu quero saber de você, o que que você achou do Jeff?

[40:32] Faz sentido no seu caso de uso? Para que você usaria ele? Me conta aqui nos comentários. Vamos criar aqui uma discussão aqui nos comentários, onde a gente possa ver casos de uso passíveis para usar o JV. Não significa que você tem que largar o seu LLM e sair correndo pro JV. Não é para aplicar o JV em qualquer circunstância de forma, né, destemperada, não é? Para entender o sistema que você tá controlando e colocar ali a ferramenta adequada. Beleza? Se você gostou desse vídeo, eu já te peço, por gentileza, curte esse

[41:02] vídeo, compartilha com seu amigo e sua amiga que gosta de programar com a, que gosta de criar sistemas com, tenho certeza que vai ser muito útil. Não deixa também de se inscrever no canal. Se você tá no celular, aproveita e dá o hype, beleza? Se o que você gosta é construir sistemas com IA, eu repito o convite para que você se inscreva na lista de lançamento da trilha do engenheiro de ar que eu vou lançar no dia 30 de setembro às 19 horas, tá pessoal? Lá vão ser os meus três cursos fundamentais, o fundamento da engenharia

[41:34] da IA, programação agêntica e o Harness engineer. Eu quero dar uma formação completa para que você consiga entender, aplicar e projetar os seus próprios sistemas de ar. Não deixa de se inscrever na lista de lançamento. Vamos ter condições exclusivas pra turma fundadora. Então espero você lá no dia 30 de setembro. Enquanto isso, repito, se inscreve aqui também no canal para você receber os próximos conteúdos até lá. Agradeço imensamente a você por estar comigo até agora e até a próxima.