IA Agêntica com Vercel: Saltbox One

VVercel
Computing/SoftwareInternet Technology

Transcript

00:00:00[ÁUDIO EM BRANCO]
00:00:30.
00:00:53>> Olá, sejam todos bem-vindos a mais uma sessão da comunidade Vercel.
00:00:57Meu nome é Jacob Paris, serei o seu anfitrião hoje.
00:01:00Realizamos essas sessões para destacar projetos muito legais da comunidade,
00:01:03de clientes e de qualquer pessoa que esteja criando coisas incríveis na Vercel.
00:01:08Estamos transmitindo ao vivo no LinkedIn,
00:01:10mas se você quiser participar do chat, acesse [community.com/live](https://community.com/live) e
00:01:15você poderá ver a sessão no topo da página.
00:01:18No final, teremos um tempo para perguntas e respostas, então
00:01:21fique à vontade para mandar suas perguntas no chat ao vivo ao longo do caminho.
00:01:25Gostaria de apresentar o nosso convidado.
00:01:27Temos Shane Smith da Saltbox Management.
00:01:30>> Olá.
00:01:32>> Olá Shane, como vai você hoje?
00:01:35>> Tudo ótimo, e com você?
00:01:37>> Vou muito bem.
00:01:38Sim, então você preparou uma demonstração para nós?
00:01:42>> Sim, tenho um material para apresentar,
00:01:46um pouco de contexto e, no final, farei uma demonstração ao vivo.
00:01:48>> Excelente, posso ajudar a compartilhar sua tela aqui se quiser começar.
00:01:53>> Perfeito.
00:01:57Certo, enquanto a tela carrega, vou começar com um breve histórico.
00:02:04Como o Jacob disse, meu nome é Shane Smith, sou o CTO da Saltbox Management.
00:02:09A Saltbox é uma empresa de serviços.
00:02:12Nós passamos a maior parte do nosso tempo implementando
00:02:16tecnologias Salesforce para os nossos clientes.
00:02:18E, nos últimos dois anos, estivemos desenvolvendo um produto próprio.
00:02:24À medida que avançamos, estamos chegando ao ponto de começar a disponibilizá-lo
00:02:28para os nossos clientes e para o mercado de forma mais ampla.
00:02:31Hoje, vou falar sobre como fizemos isso, especificamente com a Vercel,
00:02:37e sobre algumas das diferentes tecnologias que a Vercel nos proporciona.
00:02:41Como vocês podem ver na tela aqui,
00:02:42também vamos falar sobre o AI Gateway.
00:02:44Então, entrando um pouco na nossa definição do problema,
00:02:49nós temos um grupo de clientes que utiliza o Salesforce.
00:02:54E, especialmente neste mundo de agentes, esses usuários querem interagir
00:02:58com o Salesforce de uma forma muito mais natural.
00:03:02Assim, no primeiro caso de uso, o problema que tentamos resolver é
00:03:06para os usuários de negócios.
00:03:07Eles querem poder falar com seu ecossistema de produtos Salesforce em linguagem simples
00:03:10e obter respostas para as suas dúvidas de maneira muito mais rápida.
00:03:16E, no segundo caso, estamos tentando resolver o problema para os desenvolvedores, as pessoas
00:03:20que configuram e constroem personalizações dentro do Salesforce,
00:03:23o que basicamente somos nós.
00:03:25Foi aí que começamos essa jornada: queríamos tornar o desenvolvimento
00:03:28no ecossistema Salesforce mais fácil por meio de agentes.
00:03:31Portanto, esses são os dois problemas que estamos tentando resolver para nós
00:03:34e para os nossos usuários.
00:03:35E o contexto por trás disso é que fazer isso é, na verdade, um grande desafio.
00:03:41Quero dizer, é por isso que as empresas contratam consultorias de serviços como nós e outras.
00:03:45Porque entender o contexto do Salesforce, entender a empresa e
00:03:49o contexto do projeto que eles estão tentando realizar, e transformar isso
00:03:54em um código de produção escalável com as melhores práticas é algo muito difícil.
00:03:58Você não pode simplesmente recorrer a qualquer LLM e
00:04:01fazer uma pergunta sobre Salesforce; provavelmente obterá alguma resposta, mas
00:04:05não será algo pronto para produção.
00:04:07E esse era o objetivo que estávamos tentando alcançar.
00:04:12À medida que avançávamos por esse caminho, tínhamos uma equipe de produto relativamente pequena
00:04:16com a qual tentávamos construir esse produto bastante ambicioso.
00:04:19Por isso, queríamos focar no produto e não tanto na infraestrutura.
00:04:24Queríamos que a infraestrutura simplesmente funcionasse e nos desse os recursos necessários.
00:04:28Esse foi o nosso desafio e a nossa aposta: que poderíamos construir esta
00:04:33plataforma escalável sobre a infraestrutura da Vercel para nos viabilizar isso.
00:04:40Vou falar um pouco sobre como conseguimos fazer isso.
00:04:44Basicamente, nós temos três camadas quando se trata da nossa arquitetura de alto nível.
00:04:48Na camada mais alta, temos uma aplicação Next.js que funciona como
00:04:53a interface do usuário voltada para o cliente.
00:04:56E ela conta com todos os recursos normais de transmissão de interface em tempo real
00:05:02que se espera de um agente nos dias de hoje.
00:05:04Na segunda camada, temos os nossos recursos de edge e servidor.
00:05:09Utilizamos o AI SDK, especificamente a versão 6 agora, para controlar o agente,
00:05:16gerenciar o ciclo do agente e todas as ferramentas integradas a ele.
00:05:21Se você não conhece este SDK e está entrando no mundo dos agentes,
00:05:25eu recomendo fortemente que comece a usá-lo.
00:05:28Ele permite que você utilize qualquer LLM disponível no mercado.
00:05:34Ele funciona de forma agnóstica e oferece a estrutura e
00:05:37o suporte necessários para construir o fluxo de trabalho do agente,
00:05:40disponibilizando ferramentas muito poderosas ao longo do processo.
00:05:43E a terceira camada aqui é a IA propriamente dita, conectando-se a qualquer modelo que quisermos.
00:05:51Isso foi o que realmente tivemos que decidir quando começamos a trilhar esse caminho,
00:05:56pois queríamos entender qual era o modelo ideal para usarmos.
00:06:00E a nossa conclusão foi que nem sempre há um único modelo certo
00:06:04para todas as situações.
00:06:06Dessa forma, queríamos construir de maneira agnóstica, para podermos alternar
00:06:10e usar o modelo ideal para cada situação à medida que novos modelos fossem lançados.
00:06:14E poder integrá-los sem precisar fazer grandes mudanças estruturais nos bastidores.
00:06:20Por isso, escolhemos o AI Gateway, e
00:06:23falarei um pouco mais sobre ele em instantes.
00:06:25Temos também os nossos serviços de apoio ou de back-end,
00:06:30como vocês podem ver na parte inferior, que dão suporte ao restante da infraestrutura.
00:06:35Aprofundando um pouco mais no AI Gateway,
00:06:38vocês podem ver no lado esquerdo apenas um pseudocódigo demonstrando como seria,
00:06:43mas basicamente você tem uma linha que diz:
00:06:46"Vou me conectar ao gateway".
00:06:49E uma vez feito isso, você tem o gateway configurado e
00:06:51pode utilizar essencialmente o modelo que preferir.
00:06:55Em muitos casos, usamos o Opus 4.6, mas em outros usamos o Sonnet,
00:07:00modelos GPT e até o Groq em diferentes situações.
00:07:04E essa é realmente uma das grandes vantagens do AI Gateway:
00:07:08você pode usar o modelo que quiser, não fica preso a um fornecedor,
00:07:10tendo total flexibilidade.
00:07:12E isso nos permitiu implementar um roteamento inteligente
00:07:18com base na complexidade e no tipo de pergunta.
00:07:22Temos este classificador que nos permite determinar o quão complexa
00:07:27é a pergunta que o usuário está fazendo.
00:07:29Eles estão apenas pedindo uma resposta simples a uma mensagem de saudação?
00:07:32Ou estão solicitando algo mais complexo, como estruturar um fluxo inteiro
00:07:37de trabalho para o usuário?
00:07:38Dependendo disso, podemos direcionar para modelos diferentes.
00:07:40Isso nos garante respostas rápidas,
00:07:44permitindo escolher o nível adequado de complexidade do modelo que oferecemos
00:07:49e entregar a melhor resposta para o usuário.
00:07:50E nos dias de hoje, pensando na experiência com o agente,
00:07:59existem basicamente dois recursos distintos que a maioria dos usuários espera.
00:08:04Um deles é a transmissão em tempo real (streaming) para o usuário,
00:08:07para que ele possa ver o que está acontecendo instantaneamente.
00:08:09Mas também o que acontece quando você tem uma solicitação
00:08:14realmente complexa que pode levar mais do que alguns minutos, dezenas de minutos ou horas.
00:08:20Do ponto de vista do produto, nós começamos pelo lado do streaming.
00:08:23É exatamente aí que o AI SDK se destaca, começando pela transmissão em tempo real.
00:08:28No lado esquerdo, vocês podem ver um exemplo de solicitação:
00:08:31gerar histórias de usuário a partir de uma reunião.
00:08:33Esse foi um dos nossos primeiros casos de uso quando estávamos criando a ferramenta,
00:08:37que consistia em pegar todo o contexto e gerar as histórias de usuário para os desenvolvedores.
00:08:41Mas quando começamos a lidar com requisitos mais complexos, como estruturar uma
00:08:45loja virtual B2B inteira no Salesforce ou projetar um site no Experience Cloud com páginas personalizadas,
00:08:51essas tarefas demoram muito mais do que os poucos minutos que podem ser transmitidos em tempo real para um navegador.
00:08:56Conforme fomos amadurecendo na plataforma Vercel,
00:08:59passamos a oferecer essa experiência unificada para o usuário na interface,
00:09:05mas com a capacidade de transmitir dados em tempo real e de iniciar processos em segundo plano,
00:09:09dependendo da complexidade do que está sendo executado.
00:09:11E tudo isso é suportado pela infraestrutura da Vercel,
00:09:14tanto na própria plataforma quanto no uso de recursos adicionais,
00:09:19como sandboxes e alguns outros sobre os quais falarei em breve.
00:09:24Do ponto de vista instrumental, acredito que o grande trunfo de usar
00:09:28algo como o AI SDK é que você tem basicamente uma estrutura pronta para se conectar.
00:09:34Começamos apenas com algumas ferramentas e, ao longo do tempo, fomos adicionando
00:09:39mais e mais recursos nessas categorias que nos permitem ter meios de interagir
00:09:44tanto com o usuário quanto com os ambientes Salesforce.
00:09:48Como podem ver, temos geração de documentos, busca,
00:09:52histórias de usuários, integrações e, principalmente, essa funcionalidade do Salesforce,
00:09:57que nos permite compreender o ambiente, validá-lo, consultá-lo
00:10:01e também realizar implantações de código nesses mesmos ambientes.
00:10:05Isso realmente dá vida ao agente, indo muito além de uma simples interação direta com uma LLM.
00:10:10Então, falando sobre o conceito de "o agente tem mãos"...
00:10:16Como isso realmente funciona na prática?
00:10:18No ecossistema da Vercel, este é, na verdade, um dos recursos mais
00:10:22recentes que eles vêm disponibilizando: a capacidade de ter uma sandbox.
00:10:27Se você está familiarizado com o Salesforce,
00:10:30sabe que os desenvolvedores e a equipe técnica costumam interagir
00:10:34com o Salesforce utilizando a interface de linha de comando (CLI) da plataforma.
00:10:39Isso permite que eles, diretamente pelo terminal, interajam com o Salesforce,
00:10:43criem sandboxes, criem lojas de comércio B2B e façam implantações.
00:10:49Tudo isso facilita muito a interação com o Salesforce.
00:10:51No entanto, fazer isso dentro de um navegador efêmero é bastante difícil.
00:10:55Você entra em sites aleatórios e precisa fazer login todas as vezes,
00:10:59o que torna a interação com o Salesforce complicada.
00:11:01Por isso, passamos a aproveitar esse recurso de sandbox da Vercel,
00:11:06onde permitimos que o usuário se autentique em seu próprio ambiente.
00:11:10Iniciamos uma sandbox que nos permite interagir com um sistema de arquivos,
00:11:16o que viabiliza a implantação do código que estamos criando ou dos arquivos
00:11:20que estamos manipulando diretamente nessa sandbox, utilizando depois a CLI do Salesforce
00:11:26para enviar esses arquivos diretamente para o Salesforce.
00:11:30Este talvez seja um caso de uso bem específico do ecossistema Salesforce,
00:11:35já que eles possuem os conceitos de scratch orgs e sandboxes, mas acredito que,
00:11:40conforme avançamos mais na parte de desenvolvimento dentro do ecossistema de agentes,
00:11:43essa ideia de trabalhar com sandboxes é absolutamente fundamental.
00:11:49Porque ela nos dá a capacidade de ter essa estrutura de arquivos
00:11:55sobre a qual os agentes e as LLMs são tradicionalmente construídos.
00:11:58Acho que isso traz muita flexibilidade em relação ao que você
00:12:01pode realmente realizar.
00:12:06E para resumir os pilares sobre os quais viemos construindo,
00:12:10o v0 tem sido um recurso fantástico para a nossa equipe, sabe?
00:12:17Nós o utilizamos em duas frentes distintas.
00:12:18Usamos sob a perspectiva de produto enquanto desenvolvemos o nosso próprio produto, o Saltbox One.
00:12:23E também o usamos na parte de serviços, quando estamos construindo soluções no Salesforce.
00:12:27O que nós fizemos, na verdade, foi conectar os dois.
00:12:31De modo que se você estiver no Saltbox One e tiver o contexto do que está tentando fazer,
00:12:35tiver todas as informações do Salesforce e a capacidade de realmente
00:12:41reunir esses dados sobre a sua organização Salesforce, nós temos uma integração nativa e robusta com
00:12:45o v0, onde é possível passar essas informações como contexto.
00:12:51E isso permite que o v0 ajude você na geração de código de forma muito mais precisa.
00:12:54Isso não serve apenas para React; dado o contexto correto e
00:12:58as informações do ambiente, ele pode gerar coisas como Apex, LWCs e fluxos.
00:13:01Conseguimos unir essas duas pontas
00:13:05e criar uma integração muito fluida e eficiente.
00:13:09Se tivéssemos que parar por um momento e pensar no que diríamos para outra equipe,
00:13:14estes seriam os meus quatro aprendizados:
00:13:17Primeiro: use um gateway. Pare de discutir sobre qual modelo é melhor
00:13:21e comece a escolher o modelo certo para a ferramenta certa, na ocasião certa.
00:13:25Isso lhe dará muita flexibilidade e capacidade de execução.
00:13:28Segundo: streaming é apenas o começo.
00:13:31É onde começam muitas das aplicações,
00:13:35especialmente as startups no mundo dos agentes de IA.
00:13:38Mas, na realidade, você também precisa dessa capacidade de execução persistente em segundo plano.
00:13:42Esse é o patamar mais alto onde você quer chegar.
00:13:45Terceiro é a sandbox, como acabei de mencionar.
00:13:48Tornar as coisas reais, dando acesso via CLI aos seus agentes,
00:13:52o que de fato traz poderes incríveis ao seu fluxo de trabalho.
00:13:55E o último é: encontre a plataforma certa.
00:13:57Para nós, isso significou construir na Vercel, o que
00:14:01nos permite não focar na infraestrutura.
00:14:04E nos permite focar nos recursos e
00:14:07nas capacidades que estamos tentando lançar no Saltbox One em escala.
00:14:12Com isso, vou passar agora para a demonstração e
00:14:19mostrar uma experiência conversacional do Salesforce.
00:14:24Falar um pouco sobre a geração de histórias e
00:14:26ver o agente em ação aqui.
00:14:29Então, me deem um momento enquanto mudo de tela.
00:14:34Certo, legal.
00:14:38Entrando no Saltbox One, esta é uma das nossas organizações de demonstração.
00:14:44Mas vocês podem ver que, do lado esquerdo, temos o que chamamos de
00:14:48nossos projetos, e eles nos dão diferentes contextos.
00:14:51E no centro, temos o nosso novo painel de conversação.
00:14:56Então podemos focar aqui.
00:14:58Podemos ver todos os nossos diferentes projetos ao rolar a página.
00:15:01Isso nos permite carregar o contexto correto na conversa.
00:15:05Temos as nossas ferramentas aqui embaixo,
00:15:08que é por onde todas as nossas integrações são passadas.
00:15:12E logo abaixo, temos a capacidade de adicionar contexto.
00:15:16Podemos incluir uma reunião aqui, uma história de usuário, um artefato,
00:15:20uma organização do Salesforce ou algo específico dessa organização.
00:15:23Isso nos permite ter uma conversa muito rica dessa forma.
00:15:27Então, vou começar com um exemplo mais complexo.
00:15:33E enquanto ele roda, vamos mudar para algo um pouco...
00:15:37ou algo que já executei antes para podermos discutir.
00:15:40Neste exemplo, queremos criar um fluxo de tela no Salesforce que nos permita
00:15:45inserir comentários de casos e que nos forneça uma tela de confirmação.
00:15:51Não é um requisito super complexo, mas exige que você conheça fluxos,
00:15:56saiba como configurá-los, como chegar lá e
00:15:58como depurá-los.
00:16:00Então, vamos deixar nosso agente trabalhando nisso enquanto
00:16:03falamos sobre as outras conversas.
00:16:06E antes de eu sair daqui, vocês podem ver que ele está recuperando alguns arquivos de contexto.
00:16:09Esse é um dos segredos do Saltbox One: temos muita
00:16:13informação sobre o Salesforce, sobre como fazer isso e
00:16:16os roteiros para fazer as coisas funcionarem corretamente aqui.
00:16:19E vocês podem ver que foi bem rápido em voltar e dizer:
00:16:23"Boas notícias, verifiquei sua instância.
00:16:25Não há automações nos comentários de caso agora, então estamos livres para prosseguir".
00:16:29Ele vai me fazer algumas perguntas de acompanhamento aqui.
00:16:32E eu vou dizer: "Sim, você pode usar a organização padrão",
00:16:37e vou deixar rodar. Ele começará a montar um plano.
00:16:41Mas enquanto isso acontece, vou pular para
00:16:44uma conversa diferente aqui.
00:16:47Esta é, na verdade, uma das capacidades mais utilizadas que temos
00:16:52nos nossos projetos para os clientes: a capacidade de processar uma reunião.
00:16:56Neste caso, tenho uma marca de demonstração chamada Halston.
00:17:00Gravei uma reunião onde conversamos sobre novos requisitos de
00:17:03desenvolvimento de funcionalidades no Salesforce.
00:17:07E estou perguntando um pouco sobre nossa organização, querendo fazer com base no que existe hoje
00:17:11e com base no que é a funcionalidade padrão
00:17:16do Salesforce.
00:17:18Superficialmente, parece um pedido bem simples, mas,
00:17:21pensando bem, é bem complexo porque exige os
00:17:26detalhes do seu ambiente, e você precisa saber o que é padrão
00:17:30e o que é customizado para tomar as decisões certas.
00:17:33Neste caso, fizemos essa pergunta e vocês podem ver o retorno com:
00:17:37"Aqui estão os requisitos da reunião que saíram daquela discussão.
00:17:41E aqui está o que você tem hoje.
00:17:43Aqui está o seu modelo de dados", montando um belo diagrama Mermaid para visualizarmos
00:17:46e confirmarmos que é isso que temos hoje.
00:17:48E então ele começa a propor recomendações.
00:17:52"Aqui está como o S1 abordaria isso", dividindo o processo nestas fases.
00:17:57Começaria com a fase um com o modelo de dados, assinaturas de visibilidade de vitrine,
00:18:02e depois traria algumas recomendações e perguntas-chave.
00:18:06E eu posso interagir com ele.
00:18:07Então, dei a seguinte resposta: "Aqui estão as respostas para essas perguntas".
00:18:12E no final das contas, ele me entregou este belo documento que detalha
00:18:16bastante os requisitos divididos naquelas fases.
00:18:19E eu posso pegar isso e transformar em código.
00:18:22Posso transformar em histórias de usuário ou em quaisquer outros requisitos.
00:18:27Então, esse é um dos superpoderes do Saltbox One: nós construímos isso
00:18:31do ponto de vista de serviços.
00:18:33Nós sabemos como implementar o Salesforce.
00:18:35Conhecemos as melhores práticas.
00:18:37Sabemos como abordar o problema.
00:18:38E tudo isso está embutido no contexto de agente que fornecemos
00:18:43ao Saltbox One.
00:18:44Voltando para a nossa conversa original,
00:18:49podemos ver que dissemos "sim" para a organização padrão.
00:18:52Ele analisou todo aquele contexto de que falamos,
00:18:55descobrindo a melhor maneira de fazer isso.
00:18:57E podemos ver que ele criou este cartão simpático para revisarmos.
00:19:02Agora, este cartão é a nossa forma de controlar o que o agente pode fazer.
00:19:07Você quer que o agente monte esse plano,
00:19:11mas não quer que ele execute sozinho.
00:19:13Ainda queremos o humano no controle aqui.
00:19:15Por isso, criamos este componente onde você pode ver exatamente
00:19:19o que vai ser implantado e como será implantado.
00:19:22E o que você pode fazer é clicar em aprovar e executar.
00:19:25E o que isso fará... claro, estou fazendo uma demonstração, então não vai funcionar.
00:19:29Mas o que você pode fazer é de fato implantar.
00:19:33Você pode clicar em tentar novamente depois de conversar com o agente
00:19:37e resolver o problema.
00:19:38E se for implantado, você pode reverter para a versão anterior se
00:19:43não tiver gostado da nova versão.
00:19:44Um último caso de uso que vou colocar na tela antes de fazermos
00:19:50mais um ao vivo é apenas uma rápida revisão da arquitetura da sua organização.
00:19:55Esta é uma pergunta muito comum que nos fazem o tempo todo:
00:20:00"Ajude-nos a entender a arquitetura ou a entender o débito técnico
00:20:03que existe nela.
00:20:04Como nos preparamos para seguir este caminho de agentes
00:20:09no ambiente do Salesforce?"
00:20:10São perguntas simples, mas ao mesmo tempo muito profundas.
00:20:15Então, você pode fazer uma pergunta como essa e
00:20:18deixar que ele analise seus ambientes de licença, principais descobertas,
00:20:22e monte como seu modelo de objetos se parece nas oportunidades.
00:20:27E, novamente, uma das coisas que sempre faremos na resposta
00:20:30é começar a sinalizar itens que você talvez precise revisar.
00:20:34Neste caso, temos uma documentação indicando,
00:20:38por exemplo, campos não documentados em todos os nossos objetos.
00:20:40Temos muitos campos customizados, recomendações de abordagem,
00:20:45e os próximos passos para nos aprofundarmos.
00:20:48Neste caso, eu poderia dizer que quero seguir em frente.
00:20:53E o que ele fará é começar a estreitar o foco especificamente
00:20:57no fluxo de comércio B2B e em como tudo interage.
00:21:02Ele fará consultas nos ambientes.
00:21:05Analisará todo o ecossistema ao redor e
00:21:07depois trará uma síntese da resposta,
00:21:10e você poderá continuar conversando.
00:21:12Enquanto esse agente roda em segundo plano,
00:21:16vou mostrar mais um caso de uso como último exemplo.
00:21:21Se voltarmos para uma nova conversa, posso simplesmente
00:21:27arrastar uma página do Confluence que foi
00:21:32o resultado de uma das nossas conversas anteriores.
00:21:35Ela contém todos os detalhes de como será a solução.
00:21:39E posso pedir rapidamente para criar histórias de usuário
00:21:43para a fase um deste documento.
00:21:46Mais uma vez, o que torna isso especial é que ele reúne não apenas
00:21:50o contexto deste documento, mas do seu projeto, do seu ambiente Salesforce,
00:21:55nossas melhores práticas, o ecossistema do Salesforce, e
00:21:59decide qual é a melhor maneira de dividir esta fase um
00:22:03em histórias de usuário gerenciáveis, escrevendo a declaração inicial de "como usuário,
00:22:08gostaria de..." com alguns tópicos sobre quais são os critérios de aceitação.
00:22:14Isso serve como um ótimo ponto de partida para essas histórias.
00:22:18E assim que as histórias de usuário são geradas, você pode entrar
00:22:22em mais detalhes nas interações
00:22:24com o agente para refinar como elas devem ficar.
00:22:28Enquanto esse está rodando,
00:22:32vou voltar para a conversa anterior onde terminamos nossa auditoria.
00:22:36Fizemos algumas consultas e montamos o fluxo de auditoria B2B aqui.
00:22:40Como podem ver, reunimos uma avaliação muito boa de como tudo está,
00:22:45além de recomendações sobre o débito técnico ou
00:22:48o que deveríamos priorizar.
00:22:51Então vocês começam a ver como tudo se conecta.
00:22:55Voltando ao meu exemplo,
00:23:00parece que a minha tela travou, um segundo.
00:23:11Aqui está.
00:23:14Vocês podem ver que, no nosso último exemplo, geramos essas histórias de usuário.
00:23:18E elas aparecem no lado esquerdo com
00:23:22os detalhes no lado direito.
00:23:24Isso nos dá a capacidade de integração com o Asana ou Jira e
00:23:27permite um ciclo de desenvolvimento completo de como isso funciona.
00:23:32Essa é uma visão geral rápida do Saltbox One, de como usamos o ecossistema da Vercel,
00:23:39como usamos recursos como a sandbox, o gateway
00:23:44e o v0 para construir uma aplicação como esta e
00:23:49realmente focar nos recursos e funcionalidades para os nossos clientes,
00:23:53e não tanto na infraestrutura por trás disso.
00:23:56Com isso, Jacob, temos alguma pergunta para debater?
00:24:02>> Sim, sim, obrigado por mostrar essa ótima demonstração.
00:24:06Fiquei com algumas dúvidas aqui.
00:24:08Primeiro, fiquei curioso sobre como funcionam as permissões dos agentes.
00:24:12O S1 tem permissões próprias, tipo, quando você configura o app,
00:24:16ele ganha certos acessos ao Salesforce, Confluence e assim por diante?
00:24:20Ou é baseado na pessoa que está fazendo as perguntas?
00:24:23Porque essa é uma parte meio complicada de resolver quando se tem todas essas
00:24:26integrações de SSO corporativo.
00:24:29Fiquei curioso sobre qual decisão vocês tomaram para isso.
00:24:32>> É, nós pensamos bastante sobre isso enquanto refletíamos sobre
00:24:36essa mesma questão e decidimos pelas permissões baseadas no usuário.
00:24:40Então, quando o usuário entra, ele tem a capacidade de se autenticar como usuário.
00:24:45E assim, qualquer ação que ele faça no Salesforce ou em outros aplicativos é
00:24:50feita por aquele usuário específico, seja com seu OAuth ou
00:24:53sua chave de API, dependendo da plataforma que estamos suportando.
00:24:57Isso nos dá o controle de que foi aquele usuário específico que realizou a ação.
00:25:03Mas em certas plataformas, como o Salesforce,
00:25:06nós temos mais uma camada de proteção,
00:25:09que é: toda vez que você conecta uma instância do Salesforce,
00:25:12ela começa como uma conexão apenas de leitura.
00:25:15E então você tem a opção de mudar para permissão de escrita.
00:25:19E mesmo depois de fazer isso, você sempre verá aquela tela de aprovação para
00:25:23qualquer alteração que vá ser feita no seu ambiente do Salesforce.
00:25:26>> Certo, então no lado do Salesforce, para fins de auditoria,
00:25:31qualquer uma das ações que o usuário realizou, ele clicou.
00:25:37Ou seja, quando havia uma ação de escrita, a aprovação aparecia.
00:25:39O usuário tinha que dizer explicitamente "aceitar e continuar" para o agente seguir.
00:25:44>> Exatamente.
00:25:44>> No Salesforce, apareceria como tendo sido feito pelo usuário.
00:25:49>> Exatamente.
00:25:50>> Certo, perfeito, perfeito.
00:25:51Fiquei curioso também: como o agente usa as sandboxes em si?
00:25:57Tipo, vocês têm chamadas de ferramentas específicas que invocam implicitamente
00:26:02uma sandbox como detalhe interno de implementação?
00:26:06Ou o agente tem ferramentas de sandbox e sabe que há certas coisas que
00:26:11deve fazer em uma sandbox, que é onde ele tem suas interfaces de linha de comando, APIs e tudo mais?
00:26:16Estou curioso para saber como vocês montaram isso.
00:26:19>> Sim, temos basicamente duas ferramentas principais que usam a sandbox
00:26:25oficial da Vercel, e vou falar sobre uma outra sandbox em um momento.
00:26:28é quando você está criando uma scratch org,
00:26:33nós sempre criamos uma Sandbox da Vercel usando a SF CLI.
00:26:37O segundo caso de uso é quando você interage com o Salesforce
00:26:43para fazer uma validação ou implantação
00:26:48de algo novo em um ambiente.
00:26:51Isso sempre é feito na Sandbox da Vercel com a Salesforce CLI.
00:26:54Essa é a maneira mais fácil, na nossa opinião, de fazer implantações
00:26:58e outras atividades, e a Sandbox da Vercel facilita muito
00:27:04para instalarmos isso e continuarmos com as Sandboxes existentes.
00:27:08Então temos essas duas usando a Sandbox oficial da Vercel e, na verdade, temos
00:27:14uma Sandbox menor em memória que cada conversa possui,
00:27:20a cada turno do agente que usamos para reunir todos os arquivos e
00:27:25permitir que o agente entenda o que está nessa Sandbox em memória.
00:27:26Então, são meio que duas versões diferentes disso.
00:27:32>> Ok, vocês fazem algum tipo de restrição
00:27:36de rede na Sandbox para limitar o que ela pode acessar?
00:27:40Como é o perfil de segurança dela?
00:27:42>> Do lado da Sandbox da Vercel?
00:27:43>> Sim, sim.
00:27:47>> Sim, as Sandboxes da Vercel são iniciadas bem limpas.
00:27:52Então nós carregamos os arquivos de que precisamos e permitimos o acesso apenas a isso.
00:27:56Não é como a nossa base de código de forma alguma, é como se o S1 fosse lá
00:28:02e pegasse o que quer que tenha planejado, essencialmente.
00:28:05Então, pegando o exemplo de fluxo que mostrei, ele pegaria esses arquivos.
00:28:10Ele criaria o diretório que o Salesforce espera
00:28:13quando faz implantações, colocaria os arquivos nesse diretório
00:28:14e faria a implantação a partir dali.
00:28:20Então, na verdade, é bem limitado o que ela tem, apenas o que fornecemos no momento certo.
00:28:25>> Temos uma pergunta do YouTube: qual é o modelo de precificação adotado?
00:28:28Como vocês lidam com a precificação?
00:28:32É baseada em uso, por assento ou Soapbox?
00:28:33>> Sim, é uma ótima pergunta.
00:28:38Ainda estamos no processo de finalização disso à medida que lançamos
00:28:41para nossos clientes e tentamos descobrir a maneira certa de fazer.
00:28:48Atualmente, estamos com uma precificação baseada em usuário
00:28:53ou assento de usuário, com limites dentro de cada nível
00:28:55de quantas conversas você pode ter, de dados e interações.
00:28:59Então, é por aí que estamos começando.
00:29:02Mas, como todos já experimentaram neste ecossistema,
00:29:07as coisas mudam com frequência e rapidez quando se trata de ferramentas baseadas em tokens.
00:29:11Então é aí que estamos começando, nessa faixa de assentos por usuário.
00:29:16>> Sim, sim, acho que é muito difícil encontrar o modelo perfeito que acompanhe
00:29:20o uso, os clientes e também as suas próprias despesas.
00:29:23Então faz sentido.
00:29:24Vejamos, outra pergunta aqui.
00:29:29Como vocês decidem quais perguntas encaminhar para cada modelo?
00:29:31Havia certas coisas que vocês encaminhavam para o Opus.
00:29:33E outras que encaminhavam para o Sonnet.
00:29:35Como vocês decidem isso?
00:29:41Vocês usam um sistema de avaliação para embasar com dados ou apenas testam manualmente
00:29:45e veem, "ah, o Sonnet é bom o suficiente para estas categorias"?
00:29:46Qual foi a abordagem de vocês?
00:29:52>> Sim, essa é uma resposta em constante evolução.
00:29:57Onde estamos agora é que temos um classificador determinístico nas perguntas iniciais
00:30:03que nos ajuda a entender, com base no que o usuário pergunta, qual a complexidade.
00:30:04Eles usam palavras como "planejar"?
00:30:07Eles usam palavras como "investigar"?
00:30:12Usando isso, porque são rápidos e gratuitos, certo?
00:30:15Você consegue identificar isso bem rápido.
00:30:20Então começamos com uma abordagem baseada em Regex ou determinística.
00:30:27Se não encontrarmos uma correspondência ali, recorremos a um classificador de LLM e dizemos,
00:30:32ok, com base no que está aqui, se passar de um certo limite de palavras, etc.,
00:30:38vamos passar para um LLM classificar a complexidade.
00:30:42Esse modelo é bem rápido, leva cerca de 300 milissegundos para fazer essa classificação.
00:30:47E então ele nos ajuda a encaminhar para o modelo certo, seja Opus, Sonnet ou outro.
00:30:49E também temos uma alternativa de fallback.
00:30:54Se as coisas ficarem complexas demais e o usuário fizer a mesma pergunta novamente
00:30:59ou houver outras regras que temos ali, o sistema recorre ao nosso modelo mais potente
00:31:06por um tempo limite para que o usuário tenha as respostas certas para suas perguntas.
00:31:11>> Entendi. E vocês estão usando o Haiku no momento como classificador para o modelo de roteamento?
00:31:13>> Sim, para o inicial, sim.
00:31:15>> Legal, legal.
00:31:20Muito bem. Você também faz parte do programa de embaixadores do v0.
00:31:23Como isso te ajudou? Você recomendaria?
00:31:28Você tem obtido valor desse programa ao construir isso?
00:31:30>> Sim, com certeza.
00:31:36Eu recomendaria fortemente para quem estiver nos ouvindo e queira ficar mais perto da comunidade.
00:31:41Já participei de alguns eventos para pessoas em diferentes regiões.
00:31:48Fiz um há alguns meses, ou talvez um mês, no México, para fazer um evento presencial
00:31:51e apresentar o v0 para o pessoal de lá.
00:31:56Pessoalmente, eu ganho muito com o programa de embaixadores do v0
00:31:59porque tenho acesso direto aos membros da equipe do produto,
00:32:03mas também a outras pessoas que são tão dedicadas nessa área quanto eu.
00:32:08Então, trocar ideias tem sido incrivelmente valioso.
00:32:13>> Legal. Se você tem acesso direto ao pessoal do produto,
00:32:16imagino que envie muitos feedbacks para eles.
00:32:22Alguma coisa que você queira pedir de feedback aqui em público para deixá-los numa saia justa
00:32:25e colocar um pouco de pressão?
00:32:30>> Serei bonzinho. Acho que o principal, e nós já conversamos sobre isso,
00:32:34é trazer mais recursos para o v0
00:32:41no que diz respeito ao que os desenvolvedores estão acostumados em um ambiente local de IDE.
00:32:45Sabe, nos últimos meses conseguimos o recurso de sandbox dentro do v0
00:32:49e a capacidade de iniciar e ter um ambiente real ali,
00:32:51e esse é um passo enorme na direção certa.
00:32:55Acho que à medida que continuarmos nesse caminho, isso vai melhorar ainda mais.
00:33:00Então, meu pedido seria apenas continuar seguindo por esse caminho.
00:33:02>> Incrível. Sim, tem sido um processo contínuo.
00:33:06Costumava ser uma IDE de navegador bem minimalista
00:33:10e agora tem praticamente uma integração completa com o VS Code e Monaco.
00:33:14Fica melhor a cada mês.
00:33:15>> Com certeza.
00:33:18>> Bom, acho que é tudo o que temos de perguntas por aqui.
00:33:24Então, eu queria te agradecer por vir e fazer uma apresentação tão boa.
00:33:32Onde as pessoas podem te encontrar se quiserem te acompanhar ou saber mais sobre a Soapbox?
00:33:34>> Eu sou mais ativo no LinkedIn.
00:33:37Então, se quiserem se conectar comigo, enviem uma mensagem por lá.
00:33:39Diga que assistiu a esta sessão.
00:33:44Eu saberei quem você é e ficarei feliz em me conectar e responder a quaisquer perguntas.
00:33:48>> Incrível. Nós vamos colocar o link do seu LinkedIn no chat aqui.
00:33:52De qualquer forma, muito obrigado por ter vindo.
00:33:55>> Tudo bem. Obrigado.
00:33:59>> Certo. Obrigado a todos pela presença.
00:34:05Teremos outra sessão da comunidade em breve...
00:34:10Deixe-me verificar a agenda.
00:34:15Eu deveria ter feito isso antes.
00:34:20Ah, será na quinta-feira, mas ainda não foi adicionada ao nosso calendário.
00:34:22Então, voltem em alguns dias.
00:34:24Teremos outra sessão acontecendo.
00:34:27Até lá, nos vemos na comunidade. Tenham um bom dia, pessoal.

Key Takeaway

A construção de agentes de IA focados em Salesforce exige o desacoplamento de infraestrutura por meio do AI Gateway da Vercel e o uso de sandboxes isoladas para a execução segura de comandos de terminal (CLI).

Highlights

  • O Saltbox One integra-se nativamente ao v0 da Vercel para passar metadados e o contexto do Salesforce, gerando códigos LWC, Apex e fluxos com maior precisão.

  • A infraestrutura do Saltbox One utiliza o AI SDK 6 para gerenciar o ciclo de vida dos agentes de forma agnóstica a fornecedores de LLM.

  • O uso de um gateway de IA com classificador inicial em Haiku reduz a latência de decisão de roteamento para cerca de 300 milissegundos.

  • As Sandboxes da Vercel executam a CLI do Salesforce (SF CLI) para validar, consultar e implantar arquivos e estruturas de forma isolada e segura.

  • Toda e qualquer alteração de escrita ou implantação no ambiente de produção do Salesforce exige a aprovação manual do usuário por meio de um componente de controle na interface.

Timeline

Apresentação e Desafios de Integração com Salesforce

  • A Saltbox atua no desenvolvimento de soluções personalizadas no ecossistema Salesforce para simplificar a operação de usuários de negócios e desenvolvedores.
  • A tradução de requisitos corporativos em códigos de produção robustos e escaláveis exige um contexto específico que modelos de linguagem comuns não possuem nativamente.

Empresas enfrentam dificuldades para interagir com o Salesforce de forma natural devido à complexidade técnica da plataforma. O Saltbox One resolve esse gargalo permitindo consultas em linguagem simples e automação de fluxos de desenvolvimento. O objetivo principal do produto é abstrair a complexidade de infraestrutura para focar na entrega de funcionalidades aos clientes.

Arquitetura em Três Camadas do Saltbox One

  • A arquitetura do sistema divide-se em uma interface Next.js, uma camada de controle com AI SDK e uma camada agnóstica de inteligência artificial.
  • O AI SDK 6 padroniza e gerencia a transmissão de dados em tempo real e a execução de ferramentas de agente.

A camada de apresentação em Next.js lida com a renderização e o streaming das respostas em tempo real para os usuários. Na camada intermediária, o AI SDK coordena as tomadas de decisão do agente e o acionamento de ferramentas. A escolha por uma estrutura agnóstica na terceira camada protege o produto contra o aprisionamento tecnológico de fornecedores de LLM.

Roteamento Inteligente com AI Gateway

  • O AI Gateway centraliza a conexão com múltiplos modelos de linguagem, incluindo Claude (Opus e Sonnet), GPT e Groq.
  • A triagem de complexidade das solicitações é feita por um classificador determinístico e, posteriormente, por um classificador em LLM.

O roteamento dinâmico otimiza custos e tempo de resposta direcionando perguntas simples para modelos rápidos e consultas complexas para modelos avançados. O primeiro nível de classificação utiliza regras Regex e palavras-chave gratuitas para identificar a intenção do usuário. Caso a intenção seja ambígua, o modelo Claude Haiku avalia e direciona a tarefa em aproximadamente 300 milissegundos.

Processamento em Segundo Plano e Execução Concorrente

  • Tarefas de longa duração exigem uma transição transparente entre o streaming de interface e o processamento persistente em segundo plano.
  • O agente expande suas capacidades por meio de ferramentas de geração de documentos, buscas e conexões com APIs do Salesforce.

Atividades simples, como a geração de histórias de usuário, são resolvidas instantaneamente via streaming de dados na tela. No entanto, o design de lojas B2B inteiras ou a estruturação de portais complexos demandam muito tempo e dependem de processos que rodam em background. As integrações de ferramentas estendem as habilidades da IA para ler esquemas de dados, realizar auditorias e preparar pacotes de metadados.

Segurança e Automação de Infraestrutura com Sandboxes

  • A execução de comandos da linha de comando do Salesforce (SF CLI) ocorre em ambientes isolados fornecidos pelas Sandboxes da Vercel.
  • O ecossistema conta com uma sandbox menor em memória por turno de conversa para organizar arquivos temporários.

Operar a CLI do Salesforce em navegadores comuns apresenta barreiras severas de autenticação e persistência de arquivos. O uso das Sandboxes da Vercel cria ambientes limpos e temporários onde o agente organiza a árvore de diretórios oficial do Salesforce e executa ações de validação de metadados. O Saltbox One combina essa tecnologia à integração com o v0 da Vercel para agilizar o desenvolvimento de códigos Apex, LWC e fluxos visuais.

Demonstração Prática e Fluxo de Trabalho

  • O painel do Saltbox One organiza projetos em áreas de contexto que reúnem históricos de reuniões, transcrições e diagramas Mermaid.
  • O usuário atua como moderador final das ações do agente, aprovando ou rejeitando modificações propostas por meio de um componente interativo.

Durante a demonstração, o agente analisou uma transcrição de reunião carregada e gerou um modelo de dados estruturado em um diagrama visual. Ao solicitar a criação de um fluxo de tela para comentários de casos, o sistema gerou os arquivos de metadados necessários e apresentou um botão de aprovação. Esse componente impede execuções indesejadas e oferece mecanismos para tentar novamente ou reverter a implantação em caso de erro.

Controle de Acessos, Precificação e Roteiro de Produto

  • O sistema de permissões do Saltbox One opera com base nas credenciais do usuário logado usando OAuth ou chaves de API específicas.
  • O modelo comercial é estruturado em planos por assento de usuário, com limites de volume de conversas e processamento de dados.

A segurança da plataforma é mantida ao rastrear as ações no Salesforce diretamente sob a identidade do usuário que disparou o comando. Por padrão, todas as conexões com as instâncias do cliente iniciam-se em modo de leitura, exigindo ativação explícita para escrita. Em relação às ferramentas de desenvolvimento, o avanço das sandboxes integradas a editores web consolida a transição de IDEs locais para soluções em nuvem robustas.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video