E aí tudo bem beleza Felipe aqui para mais um vídeo e olha desde que eu comecei a estudar sobre automações sobre sobre software em geral eh sempre me chamou muita atenção estudar sobre arquitetura né como que a gente arquiteta uma solução eh e dentro desse mundo de a que a gente tá surgindo agora muitos temas novos né várias possibilidades novas eu sou apaixonado em estudar como que grandes empresas como que grandes players dentro desse mercado estão criando soluções né e eh recentemente dia 19 de 19 de dezembro de 2024 na verdade sai um artigo incrível
da empresa antropic né que se você não conhece é um dos grandes players do mercado de a generativa São criador do Cloud também eh escrevendo aqui todos os conhecimentos deles de como a gente pode construir agentes efetivos que realmente funcionam né E esse artigo ele é uma aula de várias coisas tá de como que você deve pensar como desenvolvedor para criar soluções eh partindo sempre do mais simples mais controlável até chegar no mais complexo mas principalmente eh vários tipos de arquitetura que você pode implementar eh para criar suas soluções pros seus clientes aí ou pro
seu próprio produto beleza e o que que eu resolvi fazer eu resolvi trazer nesse vídeo aqui um resumo completo desse artigo bem bem completo mesmo a gente vai passar quase que ponto a ponto aqui e eu vou mostrar alguns cases reais que eu já desenvolvi então vai ser quase que uma uma mini aula alguma coisa assim onde eu vou passar por esse conteúdo criado por eles trazendo a minha visão os meus aprendizados e alguns cases reais que eu já desenvolvi aqui beleza então a gente não vai ficar lendo inglês para não ter problema para não
atrapalhar eu já fiz o trabalho de traduzir tudo para português então vamos olhar aqui vamos dar um zoom né eh como é que a gente pode construir agentes efetivos utilizando antropic né então vamos lá vamos começar tá então a gente fala que ao longo dos últimos anos eles estão trabalhando com dezenas de equipes construindo agentes de large linguage moda né estamos falando aqui de Agentes de ag generativa perfeito e consistentemente as implementações mais bem sucedidas não utilizavam frameworks complexos ou bibliotecas especializadas em vez disso elas eram con vida com padrões simples e compostos Então já
de cara aqui na sua cara aqui já desmonta o que grande parte aí do mercado vem falando né Principalmente de grandes grandes não mas de pessoas que estão falando que devem se construir sistemas super complexos para resolver problemas aqui a antropic já fala que é o contrário que as soluções mais bem-sucedidas são as mais simples e elas são mais especializadas em resolver aquele tipo de problema específico beleza e eu assino muito embaixo isso eu assino embaixo tá na comunidade e Builders direto a gente tem debates em relação a modelos de arquitetura né multiagentes Trabalhando junto
ali mas eh eu não acho que ainda está no ponto de poder utilizar isso eh de maneira tão madura e principalmente a gente só precisa utilizar esses tipos de frameworks esses tipo de padrões né em em cenários que realmente precisa disso na maioria dos cenários a gente não vai precisar tá e você vai ver ficar super Claro aqui quais são os cenários beleza de cara ele já define pra gente o que que é um Agente né então o que que é um Agent é um sistema totalmente autônomo que opera eh independentemente por longos períodos utilizando
diversas ferramentas para realizar tarefas complexas Essa é uma das possibilidades de definição ou são implementações mais prescritivas que seguem o workflows pré pré-definidos beleza aqui são algumas formas de definir isso na antropic nós categorizamos todas essas variações como agentic System Ou seja a gente tá falando de sistemas de Agentes beleza essa é a grande categoria sistemas de Agentes mas Fazemos uma distinção arquitetural importante dentro dos sistemas de Agentes nós temos os workflows e os Agents Ok então temos aqui essa divisão e ela é bem importante a gente vai entender exatamente o que que ela significa
e nós vamos entender o cas de cada um deles beleza workflow são sistemas Nos quais os llms e as ferramentas são orquestrados por caminhos de códigos pré-definidos vamos lá quando a gente tá trabalhando aqui no no n8n como é que chama isso daqui Como é que chama essa parte aqui ó vamos entrar aqui no meu n2n tá esperar Abrir Como é que chama isso aqui cada sãozinha dessa chama workflow né dentro de um workflow são passos que a sua automação vai vai percorrer e são Passos pré-definidos beleza isso aqui é um workflow dentro do sistema
de Agentes de a é o mesmo conceito um workflow onde a gente tem Passos pré-definidos beleza os Agents por outro lado são sistemas Nos quais os llms direcionam dinamicamente os seus próprios processos e o uso de ferramentas mantendo o controle sobre como realizam as tarefas então nesse caso no Agents ele tem o poder de definir o caminho o caminho não é pré-definido é um próprio agente que define a rota que deve ser percorrida para resolver aquele problema Beleza então super simples aqui workflows rotas pré-definidas Agents é um um um um lugar ali uma tomação no
nosso caso que a gente pode usar aqui onde o agente ele vai ter a autonomia de orquestrar o nosso a rota do nosso workflow beleza Beleza espero que tenha ficado Claro daí aqui super importante quando e quando não usar os agentes porque a gente às vezes pensa que a gente deve usar a gente para tudo mas não não é assim tá vamos ver o que que antrop fala ao criar aplicações com llm recomendamos buscar a solução mais simples possível aumentando a complexidade Apenas quando necessário isso pode significar não construir sistemas agentic de forma alguma Ou
seja a gente nem chegaria na construção de um sistema de Agentes entendeu um sistema de agente que frequentemente trocam latência e custo por melhor desempenho de tarefa então é importante considerar quando essa troca faz sentido que ele tá falando aqui pra gente primeira coisa que você tem que fazer como alguém que vai criar soluções é criar a solução mais simples possível que você vai ter o maior controle ponto final é isso que deve ser feito beleza E ele fala aqui ó que um sistema de agente você vai eh trocar latência que é tempo vai ele
vai demorar mais tempo para resolver aquele problema e vai ficar mais caro vai ter um custo ali ele tá fazendo referência ao custo de tokens aqui principalmente Eh mas você vai ter um melhor desempenho para executar aquela tarefa é como se ele tivesse uma capacidade de raciocinar sobre aquela tarefa desde que muito bem feito porque se não for bem feito você não vai ter esse melhor desempenho entendeu Você só vai ter latência e custo Ok então isso aqui é extremamente importante aí ele fala assim Felipe o que que é um como é que eu crio
uma solução sem um sistema é de Agentes dentro do nosso n8n a gente não consegue aqui por exemplo criar uma solução aqui né e pera aí aqui ó vou colocar o manual Trigger né manual Trigger e eu posso colocar qualquer outro passo aqui né vamos dizer que eu vou fazer uma ação aqui no Bas Row por exemplo tá vou criar uma linha lá isso eu precisei de um sistema de Agentes para fazer isso não isso aqui continua sendo uma maneira de resolver meu problema entendeu super simples eu só quero criar uma linha no no no
base Roll entendeu Então isso que que ele tá falando pra gente essa a solução mais simples possível e eu coloquei aqui né Será que uma automação com passos pré-definidos já não resolve o nosso problema que é o que eu acabei de mostrar Talvez sim tá bom quanto maior complexidade justificada os workflows oferecem previsibilidade e consistência para tarefas bem definidas Ok enquanto agentes são melhor opção quando a flexibilidade e decisões orientadas Pelo modelo são necessários em escala Ou seja workflows quando a gente quer algo mais previsível consistente e a gente quando a gente precisa que um
Agent Tome uma decisão porque isso vai ser mais eficiente pro nosso paraa Nossa solução aqui ok ã beleza né No entanto para muitas aplicações otimizar chamadas únicas de llm como recuperação e exemplo do contexto geralmente é suficiente fazendo uma chamada única para um llm já pode resolver muitos problemas Tá OK agora vamos partir para um segundo tópico antes da gente entrar nessa parte aqui dos das da arquitetura em si Tá bom vamos falar sobre frameworks tá bom existem muito frameworks que facilita a implementação de um sistema de Agentes incluindo l graph e da Amazon Bedrock
da rivet da vellum L Flow qualquer outro aí que a gente tá bem costumado né e a ouvir falar sobre esses sistemas e isso aqui são Frame works que que o que que eles fazem eles criam camadas de abstração eh paraa execução de certas etapas do nosso código e a gente não precisa ficar nos relacionando com aquelas etapas mais profundas a gente só relaciona só se relaciona com a etapa mais abstrata com a mais simples né então ele colocou assim ó contudo eles frequentemente criam camadas adicionais de abstração que podem obscurecer os Prom e as
respostas subjacentes tornando mais difícil de depurar além disso pode incentivar a adição de complexidades desnecessária quando uma configuração mais simples seria possível que que qual que que qual que é esse ponto aqui tá deixa eu mostrar para vocês aqui ó então eu vou entrar dentro do nosso n8n de novo e eu tenho um ai Agent aqui dentro do n8n tá bom e que basicamente isso aqui é um Framework tá o n8n implementou um Framework chamado L chain aqui dentro e a gente consegue utilizar o Framework do L chain Tá super simples é um único nó
tá a gente precisa colocar aqui os outros pontos né o chat mod uma Memory uma to se a gente quiser utilizar mas é o único nó eu não preciso fazer nenhuma chamada pi eu já consigo utilizar um agente aqui de a OK posso escolher qual do tipo de agente que ele vai trazer pra gente mas olha que interessante tá tá vendo que se eu simplesmente utilizar Isso aqui vai funcionar Tá mas is tem camadas aqui por trás que eu não estou olhando por exemplo qual que é é o prompt inicial para esse sistema funcionar né
Qual o prompt da ca tá escrito aqui né se eu não vir aqui e escrever o que eu realmente quero ele vai rodar com esse prompt you are a helpful assistant beleza Outro ponto Qual é o máximo de interação que esse agente vai eh fazer ou seja quantas vezes ele vai ficar eh refletindo sobre as ações dele tá escrito aqui que são 10 pô mas se eu precisasse apenas de duas e se eu precisasse de de sei lá de não ter limite aqui sei lá eu não preciso que isso aqui tenha limite tá vendo que
é mais uma camada que tá um pouco escondida que pode gerar um pouco de complicação quais são eh se eu quero retornar os os os passos intermediários né E por aí vai eu tô tentando demonstrar que cada um desses agentes dentro de frameworks eles por por terem a eh o objetivo de facilitar a implementação eles possuem eh algumas camadas que se a gente não dominar a gente só vai confundir a nossa solução entendeu aqui ó olha aqui ó eu coloquei aqui ó o conventional Agent ele vende para padronizado esse prompt aqui como a mensagem do
humano entendeu então esse prompt ele tá padronizado aqui dentro e eu tenho limites o que eu posso ou não mudar é isso que ele tá falando aqui então o Framework ele pode trazer benefícios Mas ele também e exige que Você estude se aprofunde para ter noção perfeita do que deve ser feito e aí vem a sugestão sugerimos que os desenvolvedores comecem a utilizar diretamente as apis de llm muitos padrões podem ser implementados com poucas linhas de código isso aqui a gente sempre falou dentro da do da e Builders e a gente direto H muitos muitos
membros né novos membros chegam falando cara eu quero implementar um agente Pronto fala assim irmão beleza Vai implementar só que o primeiro ponto é você entender os fundamentos e você vai entender os fundamentos criando algo como ess aqui ó isso aqui é um agente de a né que eu vou mostrar mais mais profundamente o que que ele consegue fazer mas aqui nós estamos lidando diretamente com a api da Open então a gente aprende exatamente como é que a gente trabalha com api como é que isso aqui tá estruturado então por exemplo aqui a documentação da
PNI o que que é um assistente O que que é uma Trader O que que é uma message uma Run né O que que é um Vector Store a gente vai trabalhando com tudo isso e vai lidando direto com eles fazendo isso a gente elimina completamente qualquer camada de abstração nó nós estamos lidando direto com o llm entendeu Por isso que nós sempre defendemos a conexão direto com api você tira do Meio eh coisas que podem complicar beleza feito aqui esses essas ressalvas né Vamos passar agora pela arquitetura tá e me fala aqui Você tá
gostando desse vídeo você tá aqui ainda né comenta aqui embaixo o que que você tá achando dá sua visão aí a sua experiência que para mim vai ser bem legal Aproveita dá o like no vídeo porque esses conteúdos aqui dão bastante trabalho ok Então vamos começar a pensar aqui e nos sistemas aí ele coloca o primeiro sistema aqui que é o build and Block que é de augmented llm inglês travou basicamente que é um llm aumentado Ok o bloco de reconstrução básico do sistema gente que é um llm aprimorado com argumentations como Recuperação é que
é o retrieval ferramentas Tools e memória que que ele tá falando isso aqui esse aqui é o Pilar tá beleza quando a gente tá falando de llm agora a partir de agora nós vamos falar de llm nós estamos falando de um llm aumentado um llm que tem acesso a retrieval tá retrieval é o quê quando a gente pega eh treina vamos lá a gente tem um PDF que fala sobre todos os detalhes da nossa empresa a gente pega esse PDF guarda no banco de dados lá especializado e agora o llm ele tem capacidade de ir
buscar esses dados através de semelhança para trazer o contexto e poder responder beleza isso aqui se chama retrieval eh e ele faz um processo de query e resultado tá bom a parte de Tools é quando a gente dá o poder pro llm executar ferramentas externas geralmente Então vamos dizer que eu quero ah consultar aqui um banco de dados a gente vai dizer para llm que ele tem que eh pegar uma resposta desse padrãozinho aqui e agora quando ele pegar essa resposta ele consegue consultar o banco de dados e trazer um retorno beleza Felipe pelo amor
de Deus como é que você tá Como é que isso aqui funciona você tá falando grego para mim Calma isso aqui dentro desse workflow aqui por exemplo que a gente ensina na comunidade nós temos aqui ó o a nossa ia ela tem a capacidade aqui por exemplo ó de buscar livros tá esse aqui é um projeto chamado bookkeeper onde é um agente que ele tem essa capacidade ele vai lá consegue buscar livros no banco de dados ele consegue buscar dados do usuário na verdade salvar dados do usuário e buscar dados do usuário que são informações
são ações diferentes entendeu então nós estamos dando o poder pro nosso llm executar tarefas operar sistema isso aqui é bizarramente e Poderoso beleza e essa questão da memória é quando ele consegue construir um histórico basicamente então toda vez que entra uma uma pergunta ele vai responder vai gravar no histórico e toda vez que ele vai responder de novo Agora ele pode olhar aquele histórico das respostas para responder de forma contextualizada simples assim beleza e aqui o o nosso fluxo é o seguinte entrada llm e saída não tem nuan super tranquilo então um workflow é uma
ação né ela entra é transformada e sai o mais básico da programação isso aqui por isso que ele tá falando que é o fundamento né o build and Block tá beleza ã Alguns alguns aspectos Chaves de implementação Ou seja a gente tem que adaptar essas capacidades pro seu caso uso específico que que ele tá falando Ah eu quero fazer um sistema de agendamento eu quero fazer um sistema é de tirar dúvidas aqui da minha Pizzaria Sei lá eu quero fazer um sistema que faz vendas então adapta para cada uso específico e garantir que elas eh
ofereçam uma interface simples e bem documentada pro seu llm basicamente é o seguinte documente a sua automação a sua solução que isso vai ser bem importante inclusive passar isso muito bem eh Claro pra llm dizer exatamente o que que tem no retrieval O que que tem na Tools O que que tem na memória tá Ok então explicamos o básico a partir de agora quando a gente falar sobre LM nós estamos falando sobre a ldm aumentada fechou vamos falar então sobre o noso primeiro a nossa primeira arquitetura que é prompt chaining que é encadeamento de prompts
o encadeamento de prompts decompõe uma tarefa e uma sequência de etapas ondeada chamada de llm processa saída da Etapa anterior Você pode adicionar verificações programáticas como Gates portões em qualquer as etapas intermediárias para garantir que o processo permaneça no caminho ou seja dentro desse fluxo aqui tá não tem como aumentar assim vamos ver se eu consigo aumentar beleza dentro desse fluxo quando a gente dispara ali a nossa automação no caso a nossa solução uma llm é chamada tá bom e ela vai trazer um output dentro desse output nós vamos através da própria programação Então a
gente vai programar ali um Gate um portão que ele vai dizer pra gente se deve ser finalizado ou deve continuar se continuar ele vai aqui nesse caso específico para uma llm 2 depois para uma lm3 Mas você pode fazer o que você quiser aqui dentro tá bom inclusive colocar mais Gates né colocar mais eh etapas de avaliação aqui nos nos nas etapas intermediárias Felipe você já fez isso eu já fiz isso eu vou mostrar um modelo aqui chamado enriquecimento de dados que eu tenho um vídeo aqui no YouTube sobre isso dá uma pesquisadinha e aqui
dentro da enriquecimento de dados eh eu vou usar ess essa solução para mostrar duas arquiteturas tá eu tenho essa chamadinha na api da openi onde eu consigo eh estruturar minha resposta em um Jon tá então por exemplo eu recebo uma resposta assim é qualificação de um lead aqui ó Então qualifico esse Lead e no final aqui ele fala assim qual é a urgência de atendimento desse Lead perante a chance dele fechar a a compra né ele comprar o meu produto eu fiz isso então o Maia trouxe isso para mim ele classificou como alta naquele caso
e aqui eu tenho um Gate ó eu tenho um Suit dentro do n8n que ele é um Gate ele vi ó se for baixa faça isso se for média faça isso se for alta faça isso né então isso aqui é exatamente a arquitetura que ele mostrou pra gente se for baixa não vai acontecer nada se for média também não agora se for alta eu quero que você Gere uma resposta personalizada e devolva para esse usuário por exemplo Ou mande aqui no meu caso um e-mail pro meu vendedor com todos os dados desse usuário e uma
estratégia específica ali para você entrar em contato com esse usuário e vender ali eh de acordo com as informações que a gente já capturou dele beleza posso ter falado muita coisa aqui mas basicamente é isso então a a ia Ela traz pra gente uma categorização a gente usa programação para definir os próximos passos Tá bom então esse aqui é o nosso eh é vamos lá lembrar o nome encadeamento de prompts é um tipo de arquitetura e ele fala assim ó ideal para soluções que tarefas podem ser facilmente e claramente decompostas em subtarefas fixadas Então as
subtarefas já estão prontas né Eu já sei que ele tem que enviar um e-mail por exemplo a única coisa que eu preciso saber se ele é um lead com potencial baixo ou alto Ok fechou Vamos partir pro próximo tá workflow routing que é roteamento então ou seja o roteamento ele classifica uma entrada e a direciona para uma tarefa de acompanhamento especializada esse workflow permite a separação de responsabilidade e a criação de prompts mais especializados se esse workflow e sem esse workflow otimizar para um tipo de entrada pode prejudicar a desempenho em outras saídas eu vou
até destacar isso aqui porque isso aqui é importante isso aqui é o motivo de você usar esse workflow ou seja se você não utilizar cflow otimizar eh para um tipo de entrada pode prejudicar o desempenho em outras entradas Esse é o motivo se tiver isso se isso estiver acontecendo você deve aplicar essa arquitetura se não você não deve você deve fazer uma arquitetura simples Esse é o conceito Tá bom então qual que é a ideia aqui a uma entrada de dados uma llm vai ser um router ela vai definir para qual caminho e aquela ação
deve ser seguida e o mais legal é que nós temos um exemplo disso Inclusive eu tenho um curso que eu mostro dentro da i Builders Eu tenho um curso onde eu mostro para você a criação aqui um sistema de multiagentes né é um curso que ele tá em desenvolvimento e a gente já tem essa primeira etapa que é exatamente o router né então o usuário Manda mensagem pra gente o nosso router classifica Qual agente de a que no caso é um assistente aqui Deve conversar com esse usuário e e esse agente de agora vai conversar
com esse usuário Felipe como é que isso aqui funciona na prática vamos lá deixa eu mostrar aqui tá tenho aqui o sisteminha nosso o multiagente funcionando normal no padrãozinho que Já ensinei vários vídeos que a gente tem L na I Builders em determinado momento aqui a gente separa os dados desse usuário e envia pro router né e o router recebe os dados de entrada como a mensagem do usuário só que além disso ele tá aqui dentro ele vai conseguir classificar por exemplo ó eh vamos ver se eu consigo mostrar rapidinho formato a mensagem Todas as
mensagens aqui talvez fique muito aqui eh tá tudo bem Não não importa tá eu queria mostrar Ah aqui isso aqui que eu queria mostrar Vamos lá eh essa aqui aqui ó o agente para o qual eh O que que ele deve fazer né Vamos lá o agente para o qual a mensagem do usuário será encaminhada se a dúvida for relacionada a vendas Envie para o agente de vendas se for suporte técnico com eh do conteúdo do curso agente do suporte técnico e se for dúvida sobre a assinatura do usuário agente administrativo então passei um prompt
para ele tô usando aqui eh o modelo de resposta padronizada né um Jon aqui para ele trazer para mim trago E aqui nessa nesse agente específico esse router ele definiu que essa esse usuário deveria ser enviado pro agente administrativo quando isso quando isso finaliza eu volto para cá e agora o agente administrativo que vai atender esse usuário beleza esse aqui é um sistema de router eh de roteamento workflow de roteamento onde cada onde nós vamos ter um router que vai definir qual fluxo deve ser seguido para resolver aquela tesque perfeito tá aqui tá aqui né
exemplo de onde é útil direcionar diferentes tipos de consulta de atendimento ao cliente por exemplo perguntas Gerais solicitações de reembolso suporte foi exatamente o que eu já tinha feito tá bom isso aqui é bem legal ó Isso aqui é uma técnica muito boa encaminhar perguntas fáceis e comuns para modelos menores como Cloud 3.5 e perguntas incomuns para modelos mais robustos como Cloud 3.5 sonet tá bom otimizando custos de velocidade tá vendo o router ele vai ser útil para você otimizar curos e velocidades aí você CONSEG controlar isso de acordo com o nível da pergunta né
fechamos mais um Vamos partir pro próximo espero que você esteja gostando e acompanhando vamos entrar agora numa outra arquitetura chamada paralel at difícil falar né paralelização Basic é o seguinte é onde a gente vai ter um workflow que ele vai trabalhar simultaneamente em uma tarefa e ter suas saídas agregadas programaticamente esse workflow chamado de paralelização apresenta duas versões principais beleza seccionamento ou seja dividir uma tarefa em subtarefas Independentes que são executadas em paralelo vou mostrar como é que funciona ou votação que é executar a mesma tarefa várias vezes para obter resultados diversos Então vamos lá
quando a gente começa o nosso workflow esse workflow vai ser subdividido aí em três caminhos no caso aqui né então os três llms e depois através de programação a gente vai agregar tudo isso e vai dar o output do nosso workflow Felipe você tem um exemplo disso tenho também tenho aqui no enriquecimento de dados ó é exatamente isso então essa automação aqui ela recebe um web Hook de preenchimento de um formulário eh basicamente de um lead interessado num produto tá essa que é a ideia quando isso acontece eu começo três workflows aqui então por exemplo
aqui eu vou pegar eu vou pegar os dados desse usuário e vou lá dentro do LinkedIn dele e vou fazer um web Scraper no Linkedin dele tá é aqui ó aqui tá o Linkedin Ok então vou no Linkedin pego os dados Depois eu pego uma Maia para resumir esses dados para dar os dados bonitinhos para mim aqui no no na na no de cima né no workflow aqui de cima eu pego e eu vou no site da empresa desse usuário faço um we Scraper pego todos os dados do site desse usuário tá E aqui embaixo
eu simplesmente trato os dados do formulário então ele preencheu o formulário trato esses dados Limpo ele depois no final eu agrego tudos todos esses dados está tudo agregado aqui e a partir de agora eu poderia fazer qualquer tipo de workflow entendeu no meu caso especificamente eu agreguei através de programação e depois eu fiz uma chamada eh para um llm para ele poder estruturar esses dados de uma maneira mais inteligente então ele Analisa esses dados traz a resposta aquela coisa toda que eu já mostrei entendeu então basicamente isso aqui é é um tipo de paralelização Só
que no caso aqui que elear pra gente terminaria no agregador No meu caso eu dei um passinho a mais aqui fiz uma outra tarefa depois do agregador tá Por que que isso aqui eh vamos falar sobre as diferenciações né seccionamento e votação Tá qual que é a parte do seccionamento implementar guarde rails onde uma Instância do modelo processa as consultas do usuário enquanto outra verifica se há conteúdo ou solicitações inadequada isso tende a ser mais eficaz do que usar a mesma chamada para lidar com guard Race Então essa é uma forma de você fazer seccionamento
outra forma é automatizar avaliações de desempenho de llms onde cada chamada avalia um aspecto diferente do desempenho do modelo de um determinado Prom beleza Esse é o seccionamento você vai fazer várias etapas ao mesmo jeito e no final a gente vai juntar ali né Eh e depois revisão Tá qual que Esso aqui na verdade desculpa votação é a outra forma de fazer eh paralização é que são vários nomes em inglês e português confunde a cabeça né revisar um trecho do código em busca de vulnerabilidades onde diferentes proms analisam e sinalizam o código eh sem identificarem
algum problema então eles estão fazendo qual que é a diferença aqui tá a diferença aqui é que a mesma ação vai passar por três etapas diferentes e vai finalizar a votação é diferente a gente vai passar por etapas diferentes mas elas vão voltar elas vão se auto alimentar entendeu por exemplo aqui avaliar-se um conteúdo é inadequado com múltiplos prompts analisando diferentes aspectos ou aplicando diferentes limiares de votação para equilibrar falsos positivos e negativos Ok beleza depois a gente pode entrar mais profundadicas workflow é orchestrator workers ou orquestrador de trabalhadores né basicamente é onde quando é
Quando uma llm tá Central ela decompõe dinamicamente as tarefas delegando para as llms trabalhadoras e sintetiza os resultados obtidos então entrou eh um input uma llm vai definir Quais são as subtarefas que deve ser executada nesse input e ela vai indicar para cada um dos llms No final a gente vai sintetizar tudo isso e trazer o nosso output deixa eu ler aqui para você entender diferença do restante eh esse workflow é ideal para tarefas complexas onde não é possível prever subtarefas necessárias em tarefas de programação por exemplo o número de arquivos que precisam ser alterados
e a natureza dessas alterações provavelmente Depende de tarefas específicas embora seja semelhante a workflow paralização a principal diferença está na flexibilidade as subtarefas não são pré-definidas mas determinadas dinamicamente Beleza então ou seja enquanto esse aqui eh Obrigatoriamente o nosso fluxo né vai passar dentro dessas três subtarefas aqui não aqui o nosso orchestrator ele vai definir em quais dos fluxos Vai ser necessário que a gente percorra beleza essa que é a ideia aqui vamos partir pro próximo e Não na verdade isso falar onde que é útil né ferramenta de condição ferramentas de codificação que realiza alterações
complexas em vários arquivos de cada vez tarefas de buscas que envolvem reunir analisar informações e diversas fontes para encontrar dados relevantes deixa eu trazer um exemplo real para vocês tá aqui eu fiz vários vídeos já sobre o lovable né uma ferramenta de criar aplicativos utilizando apenas e e dentro do lovable ele precisa executar várias tarefas ao mesmo tempo tá então quando a gente pede por exemplo alterar um código ele vai fazer isso ele vai fazer em vários arquivos essas tarefas só que ele vai eh definir Quais tarefas devem ser executadas através do orchestrator é um
um Maia que define qual tarefa deve ser executada naquele momento beleza trouxe aqui um exemplo real né agora temos aqui um outro workflow que é o evaluator optimizer que é o avaliador otimizador nesse workflow uma chamada de llm gera uma resposta enquanto outra fornece avaliação e feedback e um ciclo interativo isso aqui é muito interessante essa ferramenta é muito legal para melhorar a qualidade das respostas Beleza então vamos lá ele é especialmente eficaz quando há critérios Claros de avaliação e quando o refinamento interativo agrega valor mensurável dois sinais de boa adequação são primeiro a resposta
do LM pode ser demonstrador quando o humano fornece feedback articulado ou seja você pode inserir essa arquitetura aqui quando por exemplo dentro do seu workflow a resposta de humano fosse interessante entendeu E aí você pode substituir resposta de um ano por exemplo por um llm evaluator que vai refletir sobre eh o que ele acabou de receber e aqui segundo o próprio lrm pode oferecer esse feedback como eu falei aqui isso é análogo ao processo interativo que um escritor humano utiliza ao revisar e aperfeiçoar um documento input entra o nosso llm vai gerar alguma alguma solução
vai passar pro evaluator evaluator vai falar se tá bom se não tá bom se não tiver bom volta pro generator agora com os feedbacks ele vai criar de novo agora se chegou no evaluator Tá ok foi aceito nosso output Já pode sair ok muitos SAS micras que fazem criação de newsletter de post blogs né de conteúdo utilizam essa arquitetura aqui beleza e essa aqui foi a última arquitetura dentro dos workflows a gente tem capacidade maior de programar nossas soluções agora vamos falar um pouquinho sobre a parte dos agentes que ele tá chamando de Agentes aqui
tá Então os agentes são estão emergindo em produção à medida que as llms amadurecem Em capacidade chave como compreender entradas complexas engajar-se em raciocínio e e planejamento os usar ferramentas de forma confiável e se recuperar de eu ou seja nós temos esses Pilares aqui que eles são eh muito necessários para que a gente tenha um agente que funcione de forma adequada e cada vez mais que a gente consegue melhorar nisso os agentes vão ganhar mais autonomia para eh criar esse tipo de soluções entendeu então hoje nós estamos num ponto que os agentes são Super Poderosos
já Mas se a gente conseguir programar o máximo possível ali taro mais simples Talvez seja melhor do que a gente partir por uma parte de um agente que ele ainda não tem ele não consegue compreender a entrada complexa ele não vai fazer um planejamento adequado não vai saber qual ferramenta utilizar não vai se recuperar de erros essa aqui é a ideia beleza vamos lá os agentes começam seu trabalho e com um comando ou uma discussão interativa com o usuário uma vez que a tarefa está bem clara os agentes planejam e operam de forma independente podendo
retornar ao humano para mais informações e julgamento Então é isso daqui que a antropic tá chamando de agente tá bom esse termo aqui ele é super discutido a gente pode est falando de agente desde o início mas ele tá chamando de agente dentro desses sistemas de agente um agente Onde que nós vamos nos eh nós nós humanos né Vamos interagir com o agente de a ele vai entender o que deve ser feito uma vez que ele entende ele vai começar a interagir com o ambiente que você vai entender o que que é tá mas basicamente
que todas as habilidades que ele possui ele vai conseguir ficar raciocinando sobre aquilo executando eh refletindo corrigindo erros tá e se necessário ele vai inclusive fazer perguntas pro humano de novo para entrar dentro do fluxo essa aqui a ideia aqui ó durante a execução é crucial que os agentes obtenham a verdade fundamental tá mal traduzido isso aqui Ground truth em cada etapa com resultados de chamadas de ferramentas ou execuções de código para avaliar o progresso basicamente o que a gente tá falando aqui é que ele precisa saber muito bem quais são os poderes que ele
possui para conseguir refletir o que deve ser feito em cada etapa os agentes eles podem fazer pausas para receber feedback humano em Pontos de verificação ou encontrar bloqueios ele pode inclusive eh parar né ele pode definir que deve ser encerrado aquele processo a a tarefa geralmente termina quando é concluída mas também é comum incluir condições de parada Como por exemplo o número máximo de iterações para manter o controle os agentes eles podem lidar com tarefas sofisticadas mas sua implementação é geralmente simples eles são em Essência llms que utilizam ferramentas baseando-se nos feedbacks ambiental em ciclos
né portanto é essencial projetar os conjuntos de ferramentas e Sua documentação de forma Clara e cuidadosa caramba Felipe o que que é isso né aqui tá bem descrito ó então um agente basicamente é o seguinte tá a gente vai ter a nossa primeira interação ali e llm ela vai ter a capacidade de interagir com você novamente e ele vai poder definir ações com o ambiente receber feedbacks desse ambiente eh ao ao estar alimentado com esse feedback ele vai poder definir uma nova ação por exemplo ou ele vai poder finalizar ou ele vai poder conversar com
o humano ele vai tomar essas decisões tá bom isso aqui é basicamente um agente de a que nós vemos implementados aqui aqui ó Então deixa eu entrar novamente esse agente de a ele é capaz de fazer isso então quando a gente tá falando de iteração aqui embaixo nós estamos falando isso então ele vai executar um ciclo ele vai refletir sobre aquele ciclo depois ele vai executar um segundo ciclo vai definir se tem um output se ele tem deve pedir uma pergunta pro humano né Essa parte não dá para fazer tão tão certinho aqui mas funcionaria
dessa forma mas basicamente Esse é o conceito de um agente e é também o conceito do que a gente ensina no curso né então por exemplo o bookkeeper ele também entra dentro desse perfil ele não vai fazer aquela parte de planejamento porque na verdade isso define mais do depende mais do prompt Tá bom mas toda vez que a gente pega lá o nosso histórico e a gente envia eh pro nosso assist da openi que a gente utiliza aqui como a gente ele vai poder fazer esses ciclos então ele tem um ciclo aqui por exemplo de
fazer uma ação de chamar uma tu uma ferramenta ele vem para cá a gente poderia adicionar aqui um outro ciclo que já tá na verdade embutido dentro do assistant que é acionar retrieval então ele também pode acionar o retrieval a gente pode adicionar um outro ciclo aqui que po acionar o histórico então ele fica fazendo isso daqui por isso que toda vez que a gente vai trabalhar com assistant a gente precisa trabalhar com loop para verificar o estatus de saída daquele assistant Olha quantas saídas ele pode trazer pra gente ele pode trazer uma saída que
ele precisa de uma ação externa ele pode ter uma saída que foi completo aquela requisição ele pode fazer que tá na fila a Open botou na fila lá ele pode est em Progresso ele pode tá refletindo tá sendo cancelado eh deu erro tá failed né ou ele foi incompleto Então são vários tipos de saída que um agente pode trazer pra gente e nós temos que estar sempre preparado a lidar com essas saídas para conseguir fechar ali o o ciclo do agente beleza Daí vamos lá quando usar agentes vamos ver trazer aqui pra gente qual o
momento que a gente deve utilizar agentes são ideais para problemas abertos onde é difícil ou impossível prever o número necessário de etapas e onde não é possível codificar um caminho fixo nessas situações a llm pode operar por várias interações sendo necessário ter algum nível de confiança em sua capacidade de tomada de decisão a autonomia dos agentes os torna especialmente adequados para escalar tarefas em ambiente confiáveis Então vamos usar aqui um exemplo prático tá vamos pensar que você quer um agente de agendamento que ele seja capaz de qualificar aquele Lead e fazer um agendamento isso aqui
é perfeito para esse uso por quê Porque ele vai ficar interagindo com o humano a fim de qualificá-lo Explicar sobre o seu produto por exemplo E demonstrar para ele que tem a capacidade de agendar uma Call com o vendedor e a partir do momento que o humano fala beleza eu quero agendar uma Call o a gente vai extrair informações ele vai tomar uma decisão ele vai pegar e vai chamar uma tu falar assim cara agora tá na hora de marcar sua Call vou lá Marco a call através da nossa programação e eu volto pro fluxo
aí ele vai voltar pro fluxo assim olha a qu fo marcada tal dia e agora com isso ele vai conseguir falar pro humano humano a sua Call foi marcada tal dia com o vendedor tal tá aqui o link entendeu isso aqui que é um o agente é capaz isso aqui é revolucionário é muito importante é como se a gente tivesse dando autonomia para que um robô defina o que deve ser feito entendeu só que importante você precisa definir exatamente qual é eh qual é o o workflow que realmente precisa dessa autonomia toda né Essa autonomia
toda ela tem que ser necessária para dar certo beleza porque a natureza autônoma dos agentes implica em custos mais elevados e no potencial de erros acumulativos pode dar muito errado recomendamos testes extensivo eem ambientes isolados né para você testar juntamente com a implementação de guard rails apropriados ou seja Deu erro aqui por exemplo na nossa automação ó deu erro o que que você vai fazer vai fazer alguma coisa isso aqui é um guard rail tá ã por último ele traz aqui eh um exemplo de de um agente específico aqui pro caso dele então o humano
aqui faz uma interação com a interface né até o momento que a llm chega com um contexto com o contexto a llm consegue se relacionar com o environment Né que é aquilo que eu falei que é o retrieval que é Tool que é o histórico e ele vai começar a interagir com isso ele vai ficar tendo feedback vai responder vai melhorar e depois quando tiver completado ele vai devolver pro humano beleza basicamente isso então vamos agora partir aqui eh para essa parte de combinação e depois pro nosso resumo né esses blocos de construção eles não
são PR escritos Não estão escritos em pedras tá eles são padrões comuns que os desenvolvedores podem mudar e combinar para atender diferente casos de uso ou seja se você conhecer alguém que fala cara tem que ser assim esse é o único jeito que deve ser feito Esqueça essa pessoa está mentindo para você porque até antrop tá falando isso são padrões comuns utilize a sua imaginação eh faça teste eh faça sistemas híbridos que utilizam aqui diferentes arquiteturas o momento é esse vamos utilizar o que melhor vai resolver o seu problema beleza portanto você deve considerar adicionar
complexidade Apenas quando isso realmente for melhor a resultados Esse é um outro ponto extremamente importante e aqui por último o resumo que ele traz pra gente mas eu vou trazer o meu próprio aqui né importantíssimo tá vamos lá mantenha a simplicidade desde o dia zero mantenha a sua simplicidade porque é extremamente importante defina uma arquitetura que você tenha maior capacidade de controle então se você conseguir programar a maior parte eh do seu workflow vai por mim vai ser melhor vai funcionar melhor você vai ter melhores resultados e você vai evitar bastante erro e quando for
construir agentes construa agentes de forma adequada e aprofundada para resolver aquele pro problema tá bom então o agente ele tem muitas capacidades ele vai ter essa autonomia mas quanto mais descrição quanto mais especialização você der para esse agente melhor vai ser o resultado que ele vai trazer para nós beleza e é isso esse é o resumo eh é um assunto extremamente interessante eu vou deixar o link aqui do artigo completo aqui embaixo vai lá e lê mas eu fiz um resumo gigantesco aqui tá dando 43 minutos de vídeo sem cortes Espero muito que você tenha
gostado eh esse tema especificamente de arquitetura é um tema que me interessa porque é assim que a gente ganha autonomia Para construir qualquer tipo de solução e você nunca vai ficar com medo quando você tiver um cliente aí com uma solução difícil alguma coisa assim para você resolver tá bom com isso daqui se você entender isso daqui você esquece qualquer tipo de ferramenta as ferramentas não importam mais o que vai importar é a sua capacidade de compreender como você soluciona o problema e aí depois pegar a parte técnica para implementar isso tá bom mas a
capacidade é extremamente importante isso vai diferenciar demais você do mercado beleza muito obrigado por ter chegado até aqui se inscreve no canal dá um like nesse vídeo porque dá bastante trabalho né Deixa o seu comentário aqui embaixo dando sugestões prosos próximos vídeos dando feedback nesse vídeo aqui e muito obrigado viu até a próxima valeu