00:00:00(música animada) - Oi, obrigado muito por nos ter.
00:00:11Sou Jack e,
00:00:11junto com meu colega Nikita,
00:00:13que chegará em breve,
00:00:15construímos o Lightfield,
00:00:17um CRM nativo de IA.
00:00:19Começamos a usar AI SDK V4 em janeiro e adotamos V5 assim que ficou em alfa em junho.
00:00:26Hoje queremos compartilhar como construímos um sistema de produção onde agentes de IA têm acesso seguro de leitura e escrita aos dados dos clientes,
00:00:34como tratamos fluxos de trabalho com intervenção humana e as decisões arquitetônicas que tornaram tudo possível.
00:00:40Vamos passar pelos padrões que descobrimos,
00:00:43pelos trade-offs que fizemos e como o AI SDK nos permitiu nos mover rápido sem nos colocar numa situação complicada.
00:00:49Mas primeiro,
00:00:50vamos falar sobre por que os CRMs eram quebrados e por que isso importa.
00:00:54Então, quem está familiarizado com CRMs?
00:00:59Talvez?
00:01:00Alguns engenheiros?
00:01:01Sim, então aqui está o que deve acontecer, certo?
00:01:03Você começa a conversar com clientes.
00:01:05Talvez você seja um founder fazendo vendas.
00:01:07Talvez você esteja no time de vendas.
00:01:10No começo, parece gerenciável.
00:01:11Você lembra de todos.
00:01:13Cada conversa está fresca em sua mente.
00:01:16Depois,
00:01:16você chega a 10 clientes,
00:01:1820,
00:01:1950,
00:01:19e alguém do seu time de vendas pergunta: "Ei,
00:01:22o que a Sarah da Acme disse sobre nossa precificação?
00:01:26Ela teve preocupações sobre o nível enterprise?" Então,
00:01:29agora você está procurando no Slack.
00:01:31Você está procurando no seu email.
00:01:32Você está procurando no Google Docs.
00:01:34Talvez aquele vídeo do Zoom que ainda não foi transcrito.
00:01:38Eventualmente você o encontra enterrado em um thread de duas semanas atrás,
00:01:41mas percebe que nunca atualizou sua planilha novamente.
00:01:44Então, você compra um CRM.
00:01:47Ele promete ser sua única fonte de verdade,
00:01:49mas acaba se tornando apenas outro lugar que você esquece de atualizar.
00:01:52Aqui está o problema.
00:01:54CRMs tradicionais foram construídos décadas atrás com a suposição fundamental de que humanos farão entrada manual de dados.
00:02:01Eles deram a você esses campos rígidos e esquemas predefinidos,
00:02:05mas o contexto real,
00:02:07a nuança de sua conversa,
00:02:08vive no seu email,
00:02:10Slack,
00:02:10notas de reunião,
00:02:11em lugares diferentes.
00:02:13E o CRM apenas se torna uma ferramenta de relatório para seu VP de vendas,
00:02:18não algo que te ajude a vender.
00:02:20Então pensamos que deve haver uma maneira melhor.
00:02:22E se o sistema pudesse apenas lembrar?
00:02:25E se capturasse tudo de forma inteligente e pudesse realmente agir em seu nome?
00:02:30Esse é o Lightfield.
00:02:31Então, o Lightfield reimagina o que um CRM deveria ser.
00:02:35É um sistema de memória e ação para startups.
00:02:39Então, tem captura automática.
00:02:41Conversas,
00:02:42reuniões,
00:02:43emails,
00:02:44tudo é capturado e estruturado sem entrada manual.
00:02:50Tem memória sem perdas.
00:02:52Suportamos esquemas de listas e esquemas customizáveis.
00:02:54Você não precisa saber o que rastrear antecipadamente ou pagar um consultor para configurar para você.
00:02:58E transforma memória em ação.
00:03:02O Lightfield usa todo esse contexto capturado,
00:03:04tanto os dados estruturados quanto conversacionais,
00:03:07para redigir acompanhamentos,
00:03:08destacar insights e automatizar fluxos de trabalho para você.
00:03:11Agora,
00:03:12tradicionalmente CRMs são construídos para rastreamento de time de vendas em vendas de negócios,
00:03:17mas porque Lightfield captura e estrutura todos esses dados conversacionais,
00:03:21se torna realmente poderoso para qualquer um que precise lembrar e agir sobre contexto do cliente.
00:03:26Quais foram os recursos mais solicitados do onboarding da semana passada?
00:03:31Times de sucesso do cliente entendendo padrões em conversas de suporte.
00:03:35Mesmo sistema,
00:03:35perguntas diferentes,
00:03:37mas tudo alimentado por essa mesma camada de memória.
00:03:40Esse é o produto.
00:03:41Deixe-me te mostrar como realmente parece.
00:03:43Então,
00:03:43aqui está um exemplo de fazer uma pergunta a um agente Lightfield.
00:03:48Acho que estamos perguntando encontrar cinco operações paradas e redigir um email personalizado para cada uma.
00:03:55Então,
00:03:55pode procurar em todas as informações de seus clientes usando um agente construído no AI SDK.
00:04:02Pode entender o que são operações paradas e depois usar essa informação para redigir emails customizáveis para todas as pessoas daquelas oportunidades.
00:04:23Então, aqui está um exemplo.
00:04:25E então,
00:04:25você sabe,
00:04:26um usuário pode,
00:04:27nós podemos agora enviar esse email melhor para você.
00:04:29Então, como tudo isso funciona?
00:04:34Vamos caminhar e conversar pelo que está acontecendo por baixo do capô.
00:04:37Um usuário toma uma ação.
00:04:39Isso poderia ser enviar uma mensagem de chat.
00:04:41Isso poderia ser um evento externo,
00:04:43como um gatilho,
00:04:44como um email ou terminar uma reunião.
00:04:47O agente imediatamente obtém contexto.
00:04:50Onde está o usuário no app?
00:04:52O que ele tem feito recentemente?
00:04:54E qual é sua intenção?
00:04:55Quais ferramentas estão disponíveis para ele?
00:04:57Então o Lightfield entra em ação.
00:04:59Procura por dados relevantes,
00:05:01toma ação no CRM e atualiza registros e resposta.
00:05:05Tudo isso acontece através da mesma camada de dados unificada que alimenta a UI.
00:05:10Deixe-me te mostrar como fazemos isso.
00:05:11Aqui está a arquitetura que faz tudo isso funcionar.
00:05:15Três interfaces diferentes aqui.
00:05:19UI para humanos,
00:05:20agentes para linguagem natural e trabalhos de fluxo para automação.
00:05:26Aqui está a chave.
00:05:27Todos interagem através da mesma camada unificada,
00:05:30objetos de domínio.
00:05:32Então, têm as mesmas permissões.
00:05:33O agente tem as mesmas permissões que o usuário executando o agente.
00:05:37Mesma lógica de negócio e mesmos padrões de acesso a dados.
00:05:41Não há uma API de agente separada com regras diferentes ou acesso limitado.
00:05:46Então,
00:05:46reunimos armazenamento de uma variedade de sistemas aqui.
00:05:51Então,
00:05:51dados estruturados,
00:05:53armazenamento de objetos e indexados em várias plataformas de busca.
00:05:57Então, fornecemos as mesmas capacidades e a mesma interface.
00:06:01Um princípio que usamos para construir nossa plataforma é paridade de UI de agente.
00:06:10Então, se um usuário pode acessar, um agente pode acessar.
00:06:14Capacidades completas de leitura,
00:06:16criação e atualização em todos os dados.
00:06:19Então,
00:06:19as mesmas permissões,
00:06:21mesma visibilidade,
00:06:22mesmas operações.
00:06:24Bem,
00:06:24é uma escolha de produto e arquitetura para nós que fizemos desde o primeiro dia.
00:06:28É por isso que construir nativo de IA desde o início bate adicionar agentes a sistemas legados.
00:06:34Então,
00:06:35agentes no Lightfield agem em seu nome com as mesmas permissões através da mesma camada de dados que alimenta a UI.
00:06:42Eles são apenas outra interface para seus dados.
00:06:44Então,
00:06:45quando estamos escolhendo ferramentas para construir o Lightfield,
00:06:48precisávamos de primitivos que não nos forçassem em arquiteturas diferentes para agentes versus usuários.
00:06:54Essa restrição influenciou toda a nossa stack,
00:06:56incluindo o framework de IA que escolhemos.
00:06:58Então,
00:06:59e para nós,
00:07:00a coisa sobre construir produtos de IA em 2025 é que ninguém tem o roteiro completo,
00:07:09certo?
00:07:10Então,
00:07:11estamos tentando otimizar a velocidade de aprendizado sobre a perfeição.
00:07:14Então, nós realmente usamos esse conceito com o Lightfield.
00:07:19Quando nossos times de engenharia precisam entender um problema do cliente,
00:07:23eles não têm que navegar pelo CRM.
00:07:25Eles podem apenas perguntar.
00:07:26Então,
00:07:27linguagem natural é realmente a interface que queremos lá.
00:07:35Então,
00:07:36AISDK nos deu a flexibilidade de iterar nisso sem reescrever tudo.
00:07:41Mas a chave era mentalidade.
00:07:43Focamos em construir recursos e resolver problemas reais,
00:07:46não lutando contra frameworks ou sobre-engenhando abstrações.
00:07:50Então,
00:07:51a chave aqui é se mover rápido e aprender rapidamente.
00:07:53Então, nós mantivemos voltando a essa citação.
00:08:02"Duplicação é muito mais barata que a abstração errada"
00:08:07de Sandy Metz.
00:08:08E acho que isso é bem prevalente em construir produtos de IA hoje.
00:08:13É muito rápido construir software rapidamente agora.
00:08:17É ainda mais rápido do que era um ano atrás.
00:08:19E garantir que o framework certo exista é realmente importante.
00:08:23E ter a abstração errada pode ser ainda mais custoso.
00:08:27Então, vamos falar sobre isso mais na prática.
00:08:34Então,
00:08:35conforme estávamos construindo o Lightfield,
00:08:38começamos a desenvolver AISDK em janeiro deste ano.
00:08:43Então,
00:08:44adotamos para suportar comutação de modelo e começamos a usar os primitivos stream text.
00:08:54E então,
00:08:54conseguimos enviar tarefas iniciais para agentes específicos em semanas.
00:08:58Então,
00:08:59começamos a construir cada vez mais agentes e cada vez mais recursos de chat.
00:09:04E em junho de 2025,
00:09:05começamos a adotar a API useChat,
00:09:08especificamente por causa das opções de transporte customizadas que foram lançadas.
00:09:16Então,
00:09:17o principal aqui é que conseguimos adotar AISDK ir de V4 para alfa V5.
00:09:25Então,
00:09:26acho que parece que V6 será lançado em breve,
00:09:30bem perfeitamente com tipo de se mover rápido.
00:09:34Temos tipo uma piada interna que identificaremos um recurso que precisamos do AISDK e no dia seguinte veremos um tweet do time AISDK.
00:09:46E aprendendo esta manhã,
00:09:48acho,
00:09:48que Nico tem um agente que apenas gera esses tweets.
00:09:51Então, é bem engraçado ver isso.
00:09:53Então, é exatamente o que você quer de um framework.
00:09:57Cresce com você em vez de forçá-lo a reescrever ou desacelerar.
00:10:00Então, aqui está um exemplo de Lightfield em ação aqui.
00:10:05Então,
00:10:06no chat aqui,
00:10:07estou perguntando,
00:10:09estou digitando uma pergunta,
00:10:12o que vem a seguir para esta conta?
00:10:16O que o Jordan Lee mencionou em nossa última chamada?
00:10:19Então, note o que o usuário não teve que fazer.
00:10:21Ele não teve que dizer que a conta é streamlined protocol ou perguntar especificamente sobre uma certa reunião.
00:10:30Então,
00:10:31usamos AISDK para construir esse recurso que temos chamado Adaptive Context Building.
00:10:37Então,
00:10:37fornece sinais do usuário combinados com recuperação inteligente para descobrir o que realmente importa para isso.
00:10:45Então,
00:10:45deixe-me compartilhar alguns exemplos de como usamos o SDK para fazer isso.
00:10:49Então,
00:10:49o SDK tem uma API chamada Data Parts e usamos isso para fornecer sinais do cliente para o servidor que está realmente construindo o contexto.
00:11:01Podemos,
00:11:02no cliente,
00:11:03usar diferentes entidades e fornecer sinais diferentes usando a API Data Parts e então hidratamos isso totalmente no servidor.
00:11:11Vou deixar meu colega Nikita falar mais sobre como usamos Data Parts para construir mais recursos aqui.
00:11:19(música animada)
00:11:24(música animada) - Obrigado muito, Jack.
00:11:28Então,
00:11:29outro exemplo similar ao Adaptive Context Building é como injetamos arquivos no thread de chat.
00:11:35O AISDK nos fornece uma maneira realmente fácil de fazer isso.
00:11:39Podemos simplesmente usar a função send message do hook use chat,
00:11:43fornecer a consulta do usuário e a lista de arquivos e funcionará com qualquer provedor direto da caixa.
00:11:50Mas isso traz algumas preocupações práticas em relação à escalabilidade.
00:11:54Por exemplo,
00:11:55como garantimos que evitemos persistir esse dado diretamente no banco de dados se estamos codificando diretamente os arquivos?
00:12:01Se estamos usando URLs S3,
00:12:03como garantimos que não exponhamos acidentalmente esses dados privados do usuário ao público?
00:12:09Nossa solução para isso é em vez disso ter o cliente enviar o backend um ID interno referenciando o arquivo enviado dentro de nosso próprio armazenamento de dados.
00:12:21No backend,
00:12:22iteraremos através de todas as partes do arquivo e substituiremos esses identificadores internos por URLs S3 assinadas.
00:12:30Isso permite que os provedores de LM externo ainda visualizem esses arquivos anexados,
00:12:36mas o tempo de expiração nos URLs assinadas previne acesso não autorizado.
00:12:41Outro exemplo de como protegemos dados do usuário no Lightfield é através desse conceito de coleções de ferramentas contextuais.
00:12:50Sempre que um usuário interage com o produto de chat do Lightfield,
00:12:55construiremos dinamicamente um conjunto de ferramentas específico para o usuário.
00:13:00Injetaremos essas dependências diretamente nas ferramentas.
00:13:03Por exemplo,
00:13:04nessa ferramenta de recuperação de dados,
00:13:07injetamos os IDs do usuário diretamente na ferramenta em si.
00:13:11O LLM nunca emite consultas diretamente ao banco de dados.
00:13:15Sempre vai através da mesma camada de dados unificada que o usuário acessaria através do resto da interface do CRM.
00:13:23Então temos essa filosofia de design de manter paridade entre a UI do CRM e as capacidades do agente.
00:13:34Quando o usuário pode criar entidades CRM como contas,
00:13:38oportunidades e contatos através dessa interface modal na UI,
00:13:42queremos que ele possa fazer o mesmo através da interface baseada em chat.
00:13:48O LLM pode emitir uma chamada de ferramenta para criar essas contas e renderizará um formulário com as mesmas entradas mostradas dentro da interface de usuário.
00:13:57Construímos isso aproveitando as abstrações de human-in-the-loop do AI SDK.
00:14:03A forma como isso basicamente funciona é que quando o LLM emite uma chamada de ferramenta que requer confirmação,
00:14:09isso encaminha essa chamada de ferramenta para o cliente front-end.
00:14:13O cliente renderizará uma interface e acrescentará um resultado de ferramenta dependendo da ação do usuário.
00:14:20No backend,
00:14:21bem antes de enviar esse resultado para o LLM,
00:14:25executaremos as funções dependendo do que o usuário submeteu.
00:14:31Um esquema descrevendo como fizemos isso é mostrado aqui.
00:14:37Então a entrada inicial do usuário é essa chamada de ferramenta.
00:14:43O LLM sugere um conjunto de valores de entrada,
00:14:46neste caso um array de itens representando os nomes das contas e seus domínios.
00:14:51Depois que o usuário edita os valores,
00:14:53a saída se torna os valores editados pelo usuário juntamente com um campo adicional indicando se eles aprovaram aquele item em particular.
00:15:03Depois que a função real é executada,
00:15:05acrescentamos esse resultado à saída da ferramenta antes de ser enviado para o LLM.
00:15:11Por exemplo,
00:15:12a criação da conta foi bem-sucedida ou falhou por alguma razão,
00:15:17talvez a conta já exista no CRM?
00:15:19Isso fornece ao LLM visibilidade completa no histórico da interação.
00:15:26Pode ver o fluxo inteiro,
00:15:28os valores originalmente sugeridos e as saídas.
00:15:33Isso fornece a ele uma capacidade de sugerir apropriadamente os próximos passos.
00:15:38Então também temos esse princípio de design de permitir que o usuário molde o CRM para se adequar às suas necessidades.
00:15:45Cada negócio tem aspectos únicos sobre si e processos de vendas únicos.
00:15:52Queremos que você seja capaz de customizar o CRM e customizar sua experiência com o agente para se adequar às suas necessidades específicas.
00:16:00Dentro do Lightfield,
00:16:01você pode construir um modelo de dados customizado para cada uma das entidades do CRM.
00:16:08Por exemplo,
00:16:09se você é uma ferramenta de produtividade B2B tentando vender sua ferramenta de codificação para startups,
00:16:15você pode estar particularmente interessado em rastrear a pilha de tecnologia do seu cliente,
00:16:20o tamanho do time de engenharia,
00:16:22e talvez quaisquer investidores mútuos que você tem com eles.
00:16:26Dentro do Lightfield,
00:16:27você pode especificar todos esses campos tipados.
00:16:30E você pode especificar como o agente deve usar esses campos em seus processos.
00:16:38Você pode fornecer instruções adicionais sobre os significados desses campos e como deve usá-los ao atualizá-los nos vários fluxos de trabalho de fundo.
00:16:48Por exemplo,
00:16:49se você criou um campo,
00:16:51pode pedir ao agente para preenchê-lo fazendo pesquisa profunda na web e enriquecer esses campos para todas as contas em seu sistema.
00:17:03Ou você pode pedir para preenchê-lo procurando através de seus registros CRM,
00:17:07que incluem suas transcrições de reuniões,
00:17:10emails e outras interações com a conta.
00:17:13A forma que isso se parece no backend é que criamos essa ferramenta em tempo de execução,
00:17:21que com um esquema baseado na configuração particular de sua empresa.
00:17:28O próprio esquema da ferramenta é derivado desse banco de dados.
00:17:32E quando o LLM sugere valores,
00:17:34validaremos os tipos para garantir que correspondam àquele esquema.
00:17:38Isso nos permite construir essas ferramentas realmente flexíveis e altamente confiáveis.
00:17:42Dentro do Lightfield,
00:17:44você pode também configurar essa seção de conhecimento onde você pode fornecer ao LLM contexto adicional sobre seu negócio.
00:17:53Você pode fornecer informações sobre os produtos de sua empresa e também fornecer instruções para como o LLM deve executar fluxos de trabalho de fundo,
00:18:04como preparação de reunião.
00:18:06Antes de cada reunião,
00:18:08o Lightfield preparará um documento para você,
00:18:12preparando-o para a discussão.
00:18:15Listará os principais participantes e informações adicionais sobre eles.
00:18:19Listará informações sobre a conta particular com a qual você está se reunindo e bem como outros pontos de discussão chave importantes.
00:18:27Depois da reunião,
00:18:29sugerirá itens de ação de acompanhamento e atualizações de campo sugeridas baseadas no que você discutiu.
00:18:35Todos esses blocos de construção básicos se combinam para desbloquear novos recursos poderosos.
00:18:42Porque o Lightfield tem o contexto completo de todas as suas interações de vendas e tem um alto grau de conhecimento customizado,
00:18:50pode colaborar com você para gerar rapidamente emails de alta qualidade em seu nome.
00:18:56Por exemplo,
00:18:57depois de uma reunião,
00:18:58você pode usar essa ferramenta para acessar seu Google Calendar para ver sua disponibilidade.
00:19:05Quando esse artefato de email de rascunho é gerado,
00:19:08pode apropriadamente sugerir tempos de acompanhamento baseado em suas discussões anteriores.
00:19:14Esses emails de rascunho ainda estão atrás de aprovação do usuário,
00:19:18então você pode estar confiante que o agente LLM nunca tomará ação sem sua aprovação explícita.
00:19:25Esses itens de ação de acompanhamento e rascunhos de email são preparados para você e enviarão notificações para você,
00:19:32para ajudar a garantir que você continue por cima de cada negócio em que está trabalhando.
00:19:37Tudo bem, de volta a você, Jack, para juntar tudo isso.
00:19:43- Yeah.
00:19:46(público aplaudindo) Então, obrigado Nikita.
00:19:53Então,
00:19:54os princípios principais que descobrimos ao construir o Lightfield com AI SDK.
00:19:59Princípio um, paridade segura de UI de agente.
00:20:03Projetado para isso desde o primeiro dia.
00:20:05Agentes precisam de acesso completo de leitura e escrita através da mesma camada de dados que humanos usam.
00:20:09Não construa uma API de agente separada.
00:20:11Você acabará mantendo vários sistemas e nenhum deles parecerá completo.
00:20:15Princípio dois, iteração rápida sobre abstração perfeita.
00:20:19Otimize a velocidade de aprendizado cedo,
00:20:21não a perfeição antecipadamente.
00:20:23Tínhamos código que parecia similar em agentes de chat,
00:20:26recursos de API e fluxos de trabalho de fundo.
00:20:28Alguma duplicação é genuinamente mais barata que a abstração errada,
00:20:32especialmente quando convenções estão se formando.
00:20:35Princípio três,
00:20:36fluxos de trabalho de human-in-the-loop que os usuários confiam.
00:20:41Pessoas precisam permanecer no controle,
00:20:43especialmente para interações de alto valor.
00:20:45Interceptamos a camada de ferramentas.
00:20:48O agente vê a sugestão original,
00:20:50as edições do usuário e o resultado da execução.
00:20:53Transparência completa, histórico completo.
00:20:56Isso é o que cria confiança.
00:20:58Princípio quatro,
00:20:59sistemas programáveis por usuários e agentes.
00:21:02Clientes reais precisam de modelos de dados customizados.
00:21:04Cada negócio rastreia as coisas diferentemente.
00:21:07Tanto usuários quanto agentes podem definir novos campos e o sistema pode se adaptar a isso.
00:21:13Isso significa que seu produto se molda a como clientes estruturam seus dados,
00:21:17não ao contrário.
00:21:18É mais complexo de construir,
00:21:19mas é a diferença entre um produto que as pessoas toleram e um que não podem viver sem.
00:21:24Então adoraríamos ouvir o que você está construindo e que padrões você está descobrindo.
00:21:28Venha nos encontrar depois ou confira lightfield.app para ver esses princípios em ação.
00:21:34Obrigado.
00:21:35(música animada)