Connectly
Engenharia2024-10-24

Sofia V3: a nova geração de IA conversacional de vendas

Por Sravan Jayanthi

Sofia V3: a nova geração de IA conversacional de vendas

Motivação

A Connectly AI é uma empresa B2B de IA conversacional que oferece sales AI SaaS para grandes marcas de e-commerce, como Alibaba, Columbia e American Eagle.

O produto principal oferecido pela Connectly AI é o Sofia AI Sales Assistant, uma IA conversacional de vendas avançada que possibilita descoberta de produtos, recomendações e assistência ao cliente, gerando 30% mais conversões em campanhas de marketing outbound e contatos inbound com as empresas.

O Sofia AI Sales Assistant, produto principal da Connectly

Desafio

Após o sucesso inicial do Sofia AI, nossos clientes queriam que ele fosse além de um vendedor básico e se tornasse um "especialista" em vendas. Para se tornar um especialista, o Sofia AI precisava de raciocínio multi-hop e planejamento multi-etapas mais avançados. Por exemplo, para recomendar o melhor look para o Labor Day, o Sofia pode primeiro precisar ler vários blogs, navegar por um catálogo de produtos e, por fim, recomendar looks.

Além disso, uma IA "especialista" não pode ser um modelo único para todos; ela precisa ser exclusivamente adaptada a cada negócio. Nossos clientes empresariais precisam conseguir compartilhar conhecimento de domínio e especificar instruções em linguagem natural (ou seja, aumentar as vendas de um determinado produto, incentivar interações business to business, direcionar geração de leads, etc). Por exemplo, uma empresa pode dizer "nossos clientes respondem bem quando você recomenda pelo menos uma opção da seção de saldão para cada look" ou "nas próximas duas semanas, você pode usar o código promocional 'sofia15' para atrair clientes hesitantes a comprar."

Arquitetura anterior: Sofia V2

O assistente Sofia AI anterior foi desenhado com dois estágios: uso de ferramentas e resposta. A arquitetura foi desenhada como um multiplexador de ferramentas especializadas, em que cada "modelo de ação" tinha uma lógica que determinava se aquela ferramenta deveria ser disparada. A arquitetura foi otimizada para baixa latência e custos, usando modelos menores e específicos para tarefas, que decidiam se uma ferramenta deveria ou não ser invocada com base nas conversas. Esse design tem vários pontos positivos e negativos.

Arquitetura do Sofia V2

Arquitetura do Sofia V2

No estágio final, um LLM era encarregado de analisar uma conversa longa, conjuntos de resultados de chamadas de ferramentas, lógica de prompt customizada e um conjunto complexo de condições ou regras sobre como responder, tentando organizar uma resposta.

Havia vários desafios importantes com esse design:

  1. Ele não conseguia realizar raciocínio multi-hop, porque múltiplas ferramentas só podiam ser invocadas em paralelo, e não em sequência. Por exemplo, ele conseguia ler guias de estilo e buscar recomendações de produtos simultaneamente, mas não conseguia ler um guia de estilo e depois buscar uma recomendação.
  2. Havia pontos de falha irrecuperáveis. Se o modelo de ação de intenção para recomendações de produtos não detectasse uma intenção de recomendação, o bot ficava incapaz de oferecer recomendações.
  3. Quando várias ferramentas eram executadas em paralelo com o modelo de resposta, o LLM ficava sobrecarregado com contexto demais. Por exemplo, ele podia ser solicitado a resumir trechos de uma base de conhecimento e, ao mesmo tempo, dar continuidade a recomendações.

A nova arquitetura de geração: V3

No Sofia V3, buscamos desenhar um assistente de IA de vendas que fosse um chatbot conversacional altamente versátil. Nossa IA de vendas inteligente consegue cumprir objetivos especificados pelo comerciante e lidar com consultas complexas multi-hop usando técnicas de raciocínio agêntico de ponta.

Descrição do fluxo

Um dos objetivos importantes no design da arquitetura era garantir que cada módulo de IA tivesse responsabilidade única e bem definida e não ficasse sobrecarregado com múltiplas tarefas. Para viabilizar isso, criamos um conjunto de regras customizadas, especificadas pelo comerciante, que seriam atribuídas a diferentes módulos (vamos discutir isso em detalhes mais adiante).

Quando um usuário pede ao Sofia uma sugestão de ideias de presente ou ajuda com o pedido, isso é primeiro passado ao agente de extração de instrução, que gera um objetivo contextual para o Sofia cumprir. Depois, essa instrução é passada ao agente de planejamento e chamada de ferramentas, que organiza um plano de baixo nível e executa ferramentas para cumprir a tarefa. Por fim, os resultados das ferramentas são entregues, junto com a instrução, ao agente de resposta, que elabora uma mensagem de volta para o usuário.

Arquitetura do Sofia V3

Arquitetura do Sofia V3

Exemplo de conversa com o Sofia

Abaixo está um exemplo de interação de 2 turnos entre um usuário e o Sofia AI para uma vendedora de vinhos, dentro de uma experiência conversacional intuitiva. O objetivo de alto nível do Sofia é explicar e vender o produto principal, um serviço de assinatura de vinhos.

Usuário: Vinhos para combinar com pizza margherita.

Sofia: Para combinar com pizza margherita, recomendo os seguintes vinhos: Chianti Classico, Pinot Grigio e Sauvignon Blanc. Algum deles chamou sua atenção?

Usuário: Vou ficar com o Pinot Grigio, quais são as opções de assinatura?

Sofia: Claro! Aqui está um Pinot Grigio da região da Borgonha, na França <link>. Recomendo um dos nossos 3 planos de assinatura para você ter o melhor custo-benefício. Gostaria de saber mais?

Agente de extração de instrução

Fluxo do agente de extração de instrução

Fluxo do agente de extração de instrução

O primeiro módulo é um agente de extração de instrução, encarregado de identificar o objetivo do sistema com base nas "Regras de Comportamento" e na consulta do usuário.

As Regras de Comportamento descrevem o comportamento de alto nível do sistema, como ele deve responder a diferentes tipos de entrada. Abaixo está o exemplo para nossa loja de vinhos:

  • Fornecer informações sobre a história da nossa loja, o portfólio de vinhos e as unidades físicas
  • Explicar os diferentes planos de assinatura e seus benefícios associados, incluindo frete gratuito, descontos e isenção de taxa de rolha.

Dado o contexto da conversa e os objetivos que a empresa definiu para o Sofia, ele elabora uma instrução apropriada para o estágio atual do fluxo da conversa.

Instrução do turno 1: Revisar o guia de combinação de vinhos e sugerir vários vinhos do nosso portfólio que combinariam bem com uma pizza margherita.

Instrução do turno 2: Buscar no catálogo de produtos por Pinot Grigio e sugerir a compra de um plano de assinatura.

O crítico de instrução observa a tarefa elaborada e determina se ela captura e segue plenamente as regras de comportamento definidas. Essa é uma técnica descrita no Reflexion (Shinn et al. 2023), que melhora a capacidade de raciocínio do LLM e garante que o extrator de instrução seja mais robusto ao capturar a intenção latente e os objetivos do negócio.

Depois de usar um crítico para verificar a precisão da instrução extraída, ela é passada ao agente de chamada de ferramentas e ao agente de resposta para orientar os próximos passos.

Agente de planejamento e chamada de ferramentas

Fluxo do agente de planejamento e chamada de ferramentas

Fluxo do agente de planejamento e chamada de ferramentas

O agente de planejamento e chamada de ferramentas é encarregado de usar um conjunto de ferramentas disponibilizadas ao assistente de vendas para tentar cumprir a instrução. Isso envolve elaborar um plano, executar ferramentas e observar seus resultados para determinar se são aceitáveis.

No nosso exemplo, o Sofia foi instruído a compartilhar sugestões para os usuários acessando uma base de conhecimento de catálogos e guias sobre vinhos mais adequados para pizza, junto com um inventário de produtos de vinhos disponíveis.

Trace de planejamento e chamada de ferramentas do turno 1

Pensamento: Preciso sugerir um vinho adequado que combine bem com pizza margherita. Devo buscar na base de conhecimento um guia de produtos que descreva seleções de vinho.

Chamada de ferramenta: knowledge_base_search(instruction="Encontre vinhos do nosso portfólio que combinam bem com pizza margherita")

Resultado da ferramenta: Vinhos recomendados: Chianti Classico, Pinot Grigio e Sauvignon Blanc.

Trace de planejamento e chamada de ferramentas do turno 2

Pensamento: Devo encontrar um vinho Pinot Grigio no nosso inventário de produtos para o usuário. Devo então informá-lo sobre o serviço de assinatura para comprar esse produto Pinot Grigio específico.

Chamada de ferramenta: recommendation_engine(query="Pinot Grigio")

Resultado da ferramenta: Aqui está um link para nossa seleção de Pinot Grigio: <link>.

Agente de resposta

Fluxo do agente de resposta

Fluxo do agente de resposta

O módulo final é o agente de resposta, que tem acesso às regras de resposta e é encarregado de entender a conversa e os resultados observados das ferramentas para escrever uma resposta ao usuário.

As Regras de Resposta descrevem a formatação e o estilo da resposta do sistema. Abaixo está um exemplo de como a empresa pode especificar tom ou nível de detalhe na resposta para a vendedora de vinhos.

  • Formate as respostas de forma clara e concisa. Use bullets ou listas numeradas quando necessário.
  • Use um tom amigável e profissional.
  • Engaje o usuário fazendo perguntas de acompanhamento relevantes

Resposta do turno 1: Para combinar com pizza margherita, recomendo os seguintes vinhos: Chianti Classico, Pinot Grigio e Sauvignon Blanc. Algum deles chamou sua atenção?

Resposta do turno 2: Claro! Aqui está um Pinot Grigio da região da Borgonha, na França <link>. Recomendo um dos nossos 3 planos de assinatura para você ter o melhor custo-benefício. Gostaria de saber mais?

Observe como ele estrutura a resposta e segue o objetivo de ser conciso e direto ao ponto, ao mesmo tempo em que engaja o usuário com follow-ups relevantes.

Ajuste do sistema: modelos e prompts

Para garantir que usamos os modelos e prompts ideais, construímos datasets e usamos desenvolvimento orientado por métricas para melhorar de forma iterativa.

Geração de dataset

Embora os métodos e a estrutura do nosso dataset permaneçam proprietários, para incentivar trabalhos futuros nesses sistemas, queremos destacar uma técnica de geração de dataset sintético que consideramos particularmente útil:

Seguindo a técnica do SMM-QG, instruímos o modelo generativo a desenhar tanto resultados de ferramentas bem-sucedidos quanto malsucedidos, para testar ambos os casos.

Metodologia de amostragem e geração de dataset do SMMQG (Wu et al. 2024)

Metodologia de amostragem e geração de dataset do SMMQG (Wu et al. 2024)

Isso foi útil porque nos permitiu ter um dataset padrão para desenvolver e otimizar dentro da nossa metodologia de desenvolvimento orientado por métricas.

Avaliação: desenvolvimento orientado por métricas

Observação: nossa arquitetura de LLM é proprietária, então, para esta seção, usaremos modelos fundacionais comuns para demonstrar nossa abordagem de desenvolvimento orientado por métricas. Além disso, esperamos que isso possa agregar mais informação ao nosso conhecimento comum sobre como os modelos fundacionais populares performam.

Para avaliar o sucesso, definimos pontuações claras e mensuráveis que queremos que nosso sistema otimize em a) extração de instrução e b) sucesso em seguir as regras.

Avaliamos o sucesso da extração de instrução e do crítico usando o GPT-4 como juiz, para avaliar a qualidade das instruções geradas em uma escala de 4, em 3 conversas com uma média de 5 turnos.

Tabela de avaliações de instrução para modelos fundacionais populares

Tabela de avaliações de instrução para modelos fundacionais populares

Queríamos comparar a qualidade das conversas, particularmente na adesão às categorias definidas de regras, com a arquitetura anterior. Fazemos o benchmark em casos com resultados de ferramentas bem-sucedidos (com Resultados de Ferramentas Bem-Sucedidos) e em casos negativos (com Resultados de Ferramentas Malsucedidos), nos quais as ferramentas falham, para determinar se o sistema ainda consegue seguir as regras dadas.

Tabela de avaliações de adesão às regras comparando o Sofia V2 e o Sofia V3 com o GPT-4o

Tabela de avaliações de adesão às regras comparando o Sofia V2 e o Sofia V3 com o GPT-4o

Esses resultados mostram que há melhorias claras e monotônicas no novo design de arquitetura na adesão às regras customizadas do assistente durante a conversa. Além disso, em casos em que as ferramentas falham, ainda conseguimos manter o usuário engajado na conversa sem degradar o desempenho na adesão às regras.

Ablação entre LLMs

Um estudo interessante que realizamos foi fazer a ablação entre diferentes modelos de LLM dentro da stack. Modelos diferentes têm trade-offs na capacidade de suportar multilinguismo, chamada de ferramentas ou raciocínio complexo, e buscamos encontrar a melhor combinação de modelos enquanto minimizávamos tempo de resposta e custo.

Ablação entre os modelos usados no Sofia V3

Ablação entre os modelos usados no Sofia V3

Descobrimos que podemos usar uma combinação desses modelos, cada um com a capacidade apropriada para a tarefa em questão, para maximizar o desempenho enquanto minimizamos o tempo de resposta.

Detalhamento médio do tempo de conversa

Detalhamento médio do tempo de conversa

Planejamos estudar mais a fundo a otimização do tempo de resposta do modelo, para fazê-lo parecer instantâneo para os usuários finais.

Conclusão

O Sofia V3 oferece capacidades avançadas para permitir que comerciantes programem um "especialista" autônomo de vendas com IA em linguagem natural pura. As empresas podem tanto desenhar objetivos customizados para o assistente de vendas quanto critérios de como ele deve interagir com os usuários, e ele cumpre essas tarefas de forma inteligente dentro da conversa. A versão de nova geração do Sofia AI já está disponível em https://www.connectly.ai/, e recursos ainda mais avançados estão sendo lançados mensalmente!

Revisão de literatura

Construir aplicações de LLM contemporâneas é uma tarefa desafiadora, e identificamos as melhores técnicas conhecidas para desenhar e construir um sistema de IA generativa performático e pronto para produção na velocidade da luz.

Geração de dataset sintético, Wu, Jayanthi et al. 2024:

  • Usamos a técnica estado da arte para construir datasets sintéticos de alta qualidade e com aparência humana, para desenhar rapidamente um benchmark e testar e iterar nosso design. Esse trabalho, Synthetic Multimodal Question Generation, detalha uma abordagem rigorosa para construir datasets de consulta e resposta especificados pelo usuário, para tarefas de domínio fechado como resposta a perguntas ou busca.

Reflexion, Shinn et al. 2023:

  • O Reflexion descreve uma abordagem para melhorar a qualidade dos LLMs em tarefas difíceis que exigem raciocínio, usando um modelo crítico que avalia se a tarefa foi cumprida com sucesso. O crítico produz uma "reflexão" que é devolvida ao modelo original para que ele tente novamente a tarefa, com uma crítica da sua abordagem anterior, no esforço de fazê-lo desenhar uma abordagem mais robusta para resolver a tarefa.

Aprendizado por reforço verbal no Reflexion (Shinn et al. 2023)

Aprendizado por reforço verbal no Reflexion (Shinn et al. 2023)

Self-Reflection, Renze e Guven 2024 e Self-Refine, Madaan et al. 2023:

  • Muitos pipelines avançados de RAG ou LLM agêntico usam auto-reflexão para aumentar a confiabilidade das tarefas subjacentes de linguagem. Assim como no Reflexion, isso aproveita uma capacidade-chave dos modelos fundacionais contemporâneos de serem mais performáticos em tarefas discriminativas do que generativas. Por isso, ao elaborar chamadas de função ou resolver perguntas e respostas contextuais, aproveitar o feedback implícito do LM pode permitir que ele valide a correção da sua resposta.

Exemplo de auto-reflexão do LangChain

Exemplo de auto-reflexão do LangChain

GPT-as-a-Judge, Thankur et al. 2024:

  • Em um estudo de todos os principais LMs de código aberto e fechado, o modelo com o maior alinhamento com julgamentos anotados por humanos foi o GPT-4. Por isso, usamos o GPT-4 como um proxy próximo de julgamentos humanos ao pontuar a qualidade das gerações em várias tarefas estudadas.

Autores

Sravan Jayanthi, Joel Simonoff, Yandong Liu