Olá a todos meu nome é Thiago e hoje eu vou apresentar a segunda parte do meu projeto orientado de computação nele eu criei um chatbot wirra chat que é um sistema colaborativo de multiagentes que vai pegar e objetos né e materiais em linguagem natural e vai converter em linguagem estruturada para que ele possa ser consumido ali por uma plataforma de gestão vou dar todo o contexto necessário para vocês entenderem em um minuto mas antes eu não poderia deixar de agradecer ao meu orientador Martin Gomes por todo o apoio no para entender um pouco sobre o
problema que nós vamos resolver nesse projeto pense na seguinte situação imagine uma empresa com vários setores muitas vezes cada um desses setores olha pro mesmo contexto mas utilizando materiais e documentos diferentes por exemplo imagina que o setor de vendas faz uma venda utilizando uma apresentação em PowerPoint lá Você tem todos os dados do contrato de multas de vigências de regras de cobrança e preços e tá tudo consolidado naquele formato e com design muitas vezes é de uma apresentação comercial depois que o cliente dá ok esse PowerPoint ele vai pro jurídico e o jurídico vai pegar
os dados desse PowerPoint e colocar num contrato nota que eles estão olhando pro mesmo objeto pra mesma prestação de serviço mas por pontos de vista e a partir de documentos diferentes depois da assinatura do contrato com o serviço já sendo prestado recorrentemente e esse contrato vai pro financeiro que precisa saber as regras de cobrança para cobrar o valor certo e na data certa eh daquele cliente e muitas vezes esse contrato que antes era um documento de Word ali redigido e com as regras de cobrança e enfim os o ciclo de cobrança do contrato se torna
uma regra e uma planilha de excel que vai ser usada ali para consultar aquelas regras de cobrança nota que toda vez que alguém olha para esse objeto de prestação de serviço ele precisa pegar algum outro documento que não é consumido pela sua área e transformar e um documento que possa ser consumido pro seu fluxo de trabalho essa transferência de formato dentro de um mesmo domínio é super comum nas empresas e é fonte muitas vezes de ineficiência Então são processos manuais ali é e também muitas vezes fonte de inconsistência o que pode gerar ali problemas contábeis
e até mesmo de operação nesse projeto a gente vai usar a inteligência artificial para consumir dados em linguagem natural de diversas fontes diferentes e estruturar esses dados de uma forma que um sistema de gestão no nosso caso Aira possa consumir dando um contexto rápido a aa é uma plataforma de cobrança Então ela faz a gestão de contratos e de todas as datas que que estão ali envolvidas no contrato então a data de cobrança a data de faturamento data de vencimento e também das regras de cobrança Então imagina eh que você cobra por uma volumetria Então
imagina ali um software por exemplo de eh suporte então ele vai cobrar por tickets abertos de suporte por mensagens de WhatsApp enviadas pro cliente por mensagens de e-mail ali enviadas por cliente e no afinal das contas ele precisa consolidar tudo isso em uma fatura então a Aira é um software de gão focada em outros softwares que vendem para empresas e você mapeia toda essa regra de cobrança dentro do sistema e você pegar essa regra de cobrança dentro de contrato planilha e enfim vários outras fontes de dados e colocar na área é um processo manual um
processo demorado e a gente quer automatizar e deixar esse processo mais rápido utilizando a inteligência artificial dando um passo atrás vamos entender o que que é linguagem natural linguagem natural é a linguagem que a gente usa para transmitir informações ela tem algumas características importantes como a ambiguidade ou seja Às vezes a mesma sequência de palavras pode significar coisas diferentes dependendo do contexto que ela tá inserida e a complexidade então muitas vezes você tem que eh pegar palavras ali que estão muito distantes do do contexto que você tá lendo para entender o que que aquela sequência
quer dizer então elas têm essas características inerentes que os modelos de linguagem conseguem lindar muito bem no nosso caso essa linguagem natural ela vai estar presente em promas inscrições no próprio chat em documentos como PDF Word Que o usuário vai poder fazer upload e fórmula de Excel script de códigos que e podiam ser naturalmente usadas pelo financeiro e agora serão convertidas em planos dentro da área para fazer isso a gente vai usar um sistema de orquestração de Agentes em llm Então a gente vai ter vários agentes que eu já explico que são daqui a pouco
que vão conversar entre si e vão tomar a decisão de quem que é o agente mais apropriado para tomar aquela decisão ou para fazer aquela ação um agente de llm é um sistema que usa esses modelos de linguagem para raciocinar então ele pega um contexto escrito ali e e usa esses modelos para raciocinar e tomar decisões usando modelo de linguagem mas eles têm algumas camadas adicionais de abstração que permitem com que eles se especializem em algumas tarefas Ou seja você tem um modelo sem contexto a diferenciação e você dá instruções específicas de uma tarefa ou
de uma posição eh para aquele modelo e ele começa a tomar decisões e pensar como Aquela posição uma das técnicas que a gente usa para fazer isso é o rle prompting onde você indica Qual que é a função daquela daquela Instância daquele modelo e algumas instruções específicas do que que ele deve fazer para conseguir cumprir aquela função além de ter instruções específicas paraa sua tarefa ele também tem acesso a ferramentas específicas para cumprir aquela tarefa tanto de por exemplo chamada G api ou consultas e também tem acesso ao usuário para pedir informações adicionais e até
mesmo validar Passos Então imagina que ele vai tomar uma decisão uma criação ou vai interagir com alguma api ele pode pedir pro usuário antes validar o raciocínio dele e se tiver tudo ok ele toma aquela decisão a gente usar essa arquitetura de multiagentes apresenta alguns benefícios o primeiro é a modularidade e a capacidade de expansão como você restringe cada llm a um contexto direcionado você pode colocar várias instâncias dessa llm sem ter que se preocupar que você tá passando muita coisa para ela fazer e ela pode se perder em meio a tantas tarefas você focar
uma llm em uma tarefa de cada vez também gera mais confiabilidade e precisão nas respostas e com o domínio de conhecimento menor você pode se e com o domínio mais restrito você consegue fazer com que aquele llm tome decisão e faça ações mais complexas mas dentro do domínio restrito por exemplo imagine dentro de um sistema de suporte se você tem um agente que faz todas as tarefas daquele suporte provavelmente ele vai ter dificuldade em responder perguntas de determinado domínio mas imagina que você tem um atendente de suporte e que é um analista uma ia e
ele manda para outras ias uma que é especializada no contexto financeiro e outra que é especializada no contexto técnico por exemplo você consegue passar informações e instruções muito mais detalhadas para essas e as especializadas a arquitetura do nosso sistema começa com input humano então o humano vai começar dando o contexto de uma tarefa que ele quer fazer dentro do sistema da área essa tarefa pode ser tanto criar uma conta de pagamento no caso um cliente né com várias informações ou criar um plano com as regras de cobrança daquele cliente depois do ser humano passar os
contextos da atividade que ele quer fazer uma ia com papel de manager vai entender o contexto daquela solicitação e vai direcionar se aquela solicitação uma solicitação de criação de conta de pagamento uma solicitação de plano ou uma solicitação que não cabe para aqueles dois agentes e ele vai falar olha isso a gente não faz se quiser outra coisa você pode me chamar que eu direciono pro agente correto o Manager Então vai entender aquela solicitação e direcionar pro agente especializado então se for uma criação de clientes ele vai direcionar ali pro agente especialista em criar clientes
ou se tiver alguma informação faltando ou ele quiser confirmar alguma coisa ele pode voltar ali pro ser humano e pedir aquela informação adicional ou pedir a confirmação paraa ação que ele vai tomar similarmente com criador de planos ele pode voltar para humano para pedir mais dados daquela regra de de cobrança ou tirar alguma dúvida ou validar alguma decisão que ela tomou e também pode usar a API de criação de planos diretamente no sistema para criar um plano novo para aquele cliente olhando de forma macro a arquitetura do nosso sistema ficou assim e agora a gente
vai para uma demonstração para ver na prática como sistema funciona por aqui eu tenho a interface do chat e eu posso tanto descrever o que eu quero fazer aqui quanto fazer o upload de um PDF que vai servir de contexto aqui eu vou pegar um contrato de um cliente que já existe vou pedir para ele criar criar esse cliente e o esperado é que ele bata na pi veja que o cliente já existe e me retorne o cliente existente subir um arquivo subir um contrato de exemplo e ele tem um CNPJ de uma empresa que
já existe no nosso sistema Então o que eu espero é que ele entenda Esse contrato processe busque na api e retorne essa empresa já aqui para mim estruturada ele já achou a empresa que via api e me retornou estrutur os nomes dessa empresa aqui eu optei por não usar um documento e eu só gerei um CNPJ um gerador de CNPJ aleatório e vou pedir para ele criar uma conta usando aquele CNPJ então crie um novo cliente com o CNPJ PJ e passei o CNPJ ele vai ler CNPJ V que ele não existe falar olha você
precisa me passar a razão social o CNPJ você já informou e ele tá me falando Quais são as informações opcionais que eu tenho que passar aqui a razão social é Pedrinho chinelos por exemplo ele vai ler e ele vai me retornar a resposta estruturada que com que eu dei e com as informações que ele inferiu então ele já me passou o ID com o CNPJ o nome Pedrinho chinelos o externo ID também o CNPJ ele colocou que o business name é Pedrinho chinelos que é que eu tinha falado né da razão social não informei um
eh informal name e colocou o CNPJ ali igual eu tinha informado então ele criou aqui um novo cliente com as informações obrigatórias e inferiu o que ele não conseguia eh buscar pelas informações que eu dei bom e por fim a gente vai criar um plano aqui usando a área chat e aqui eu poderia da mesma forma como eu fiz na criação da conta de pagamento subir um contrato ou até mesmo de escrever alguma coisa aqui no chat mas vou fazer eh uma coisa que acontece muito na nos negócios que é quem vai criar esse plano
vai ser a pessoa do financeiro que já conhece a regra de cobrança então ele vai criar aqui e criaria lá na interface da Aira e eh provavelmente usaria como fonte a fórmula do Excel que ela fazia a cobrança anteriormente Então o que eu vou fazer aqui eu vou pedir para ela criar crie um plano baseado na seguinte fórmula do Excel opa ditei errado aqui pronto e e aqui eu escolhi uma fórmula do Excel especialmente complexa para ver como que ele lida nesse cenário Então a gente tem e três recursos né então a gente tem o
a42 o b42 o c42 que são células eh numa numa planilha e aí elas são cobradas individualmente então é para identificar que são três recursos diferentes e ele tem também um valor fixo de R 300 no plano que não tá associado a nenhuma das métricas vamos ver como ele se ele lida com isso tem algumas outras nuances também que são importantes da gente ressaltar aqui a primeira é eu tô falando de células ou seja ele tá referenciando um valor que aqui eu não de contexto Qual é Então o que é esperado é que ele pergunte
quais são essas células aqui e e quais valores eles significam no sistema beleza Ele já entendeu esses valores e já me perguntou o que que eu tô falando em quando eu coloco o a42 b42 c42 aqui eu vou até dar uma brincada e vou falar só o a42 e o b42 para ver se ele engole informação e cria de qualquer jeito outro recurso ou se ele vai me perguntar de novo sobre o c42 beleza ele falou tá bom você me falou os dois primeiros eu quero saber o terceiro então vou falar aqui o c42 são
usuários e aqui olha ele me apresenta um exemplo do plano então ele já sugere o nome do plano plano personalizado coloca que o Preço Fixo do plano é r$ 300 então ele Já identificou que aqueles R 300 não tinham a ver com as métricas e ele identifica Olha que o SMS é é 3.050 no até os primeiros 45.000 unidades 3.050 e depois ele eh sabe que vai ser 12 centavos por sms extra e olha que ele já sugere aqui o método Deão divisão progressivo que é cobra as primeiras 45.000 unidades lá em cima e depois
você cobra o excedente aqui eh aqui embaixo mesma coisa ele consegue fazer pros tickets de resposta e a mesma coisa ele consegue fazer pros usuários e se eu confirmar aqui ele já vai me mostrar o Jon aqui e eu vou falar também que as regras estão corretas Então beleza vamos ver se ele já chama o formatador beleza ele já chamou o criador e mandou a resposta estruturada aqui então a gente consegue ver que o Fix da Mount do do Planet 300 ele coloca o item um como é SMS E aí aqui ele coloca também as
regras de cobrança como eh enfim com as regras que ele colocou lá em cima Muito obrigado pela atenção até aqui espero que tenham gostado do projeto até mais