Os LLMs de hoje são excelentes em raciocínio, mas ainda podem ter dificuldades com o contexto. Isto é particularmente verdadeiro em sistemas de pedidos em tempo actual, como Instacart.
O CTO da Instacart, Anirban Kundu, chama isso de “problema da receita de brownie”.
Não é tão simples quanto dizer a um LLM ‘Quero fazer brownies’. Para ser verdadeiramente auxiliar no planeamento da refeição, o modelo deve ir além dessa simples directiva para compreender o que está disponível no mercado do utilizador com base nas suas preferências – por exemplo, ovos orgânicos versus ovos normais – e ter isso em conta no que pode ser entregue na sua geografia para que a comida não estrague. Isso entre outros fatores críticos.
Para a Instacart, o desafio é conciliar a latência com a combinação certa de contexto para fornecer experiências, idealmente, em menos de um segundo.
“Se o raciocínio levar 15 segundos e cada interação for tão lenta, você perderá o usuário”, disse Kundu em um evento recente do VB.
Misturando raciocínio, estado do mundo actual, personalização
Na entrega de alimentos, existe um “mundo de raciocínio” e um “mundo de estado” (o que está disponível no mundo actual), Kundu observado, ambos devem ser compreendidos por um LLM juntamente com a preferência do usuário. Mas não é tão simples quanto carregar todo o histórico de compras e interesses conhecidos de um usuário em um modelo de raciocínio.
“Seu LLM vai explodir em um tamanho que será incontrolável”, disse Kundu.
Para contornar isso, a Instacart divide o processamento em partes. Primeiro, os dados são inseridos em um grande modelo basic que pode compreender a intenção e categorizar os produtos. Esses dados processados são então encaminhados para modelos de linguagem pequena (SLMs) projetado para contexto de catálogo (os tipos de alimentos ou outros itens que funcionam juntos) e compreensão semântica.
No caso do contexto do catálogo, o SLM deve ser capaz de processar vários níveis de detalhes em torno do pedido em si, bem como dos diferentes produtos. Por exemplo, quais produtos combinam e quais são seus substitutos relevantes se a primeira opção não estiver em estoque? Essas substituições são “muito, muito importantes” para uma empresa como a Instacart, que Kundu disse ter “casos de mais de dois dígitos” em que um produto não está disponível no mercado native.
Em termos de compreensão semântica, digamos que um comprador queira comprar lanches saudáveis para crianças. O modelo precisa entender o que é um lanche saudável e quais alimentos são apropriados e atraentes para uma criança de 8 anos, e então identificar produtos relevantes. E, quando esses produtos específicos não estão disponíveis num determinado mercado, o modelo também tem de encontrar subconjuntos de produtos relacionados.
Depois, há o elemento logístico. Por exemplo, um produto como o sorvete derrete rapidamente e os vegetais congelados também não se dão bem quando deixados de fora em temperaturas mais altas. O modelo deve ter esse contexto e calcular um tempo de entrega aceitável.
“Então você tem essa compreensão intencional, você tem essa categorização, então você tem essa outra parte sobre logística, como você faz isso?”, Observou Kundu.
Evitando sistemas de agentes ‘monolíticos’
Como muitas outras empresas, a Instacart está experimentando agentes de IA, descobrindo que uma combinação de agentes funciona melhor do que um “monólito único” que executa múltiplas tarefas diferentes. A filosofia Unix de um sistema operacional modular com ferramentas menores e focadas ajuda a lidar com diferentes sistemas de pagamento, por exemplo, que apresentam modos de falha variados, explicou Kundu.
“Ter que construir tudo isso em um único ambiente period muito complicado”, disse ele. Além disso, os agentes no back-end conversam com muitas plataformas de terceiros, incluindo pontos de venda (POS) e sistemas de catálogo. Naturalmente, nem todos se comportam da mesma maneira; alguns são mais confiáveis do que outros e têm diferentes intervalos de atualização e feeds.
“Portanto, sendo capazes de lidar com todas essas coisas, seguimos o caminho dos microagentes, em vez de agentes que são predominantemente grandes na natureza”, disse Kundu.
Para gerenciar agentes, Instacart integrou-se com Protocolo de contexto de modelo da OpenAI (MCP), que padroniza e simplifica o processo de conexão de modelos de IA a diferentes ferramentas e fontes de dados.
A empresa também usa o padrão aberto Common Commerce Protocol (UCP) do Google, que permite que agentes de IA interajam diretamente com sistemas comerciais.
Contudo, a equipe de Kundu ainda enfrenta desafios. Como ele observou, não se trata de saber se a integração é possível, mas de quão confiável essas integrações se comportam e quão bem são compreendidas pelos usuários. A descoberta pode ser difícil, não apenas na identificação dos serviços disponíveis, mas também na compreensão de quais são apropriados para cada tarefa.
A Instacart teve que implementar MCP e UCP em casos “muito diferentes”, e os maiores problemas que encontrou foram os modos de falha e a latência, observou Kundu. “Os tempos de resposta e a compreensão de ambos os serviços são muito, muito diferentes. Eu diria que gastamos provavelmente dois terços do tempo corrigindo esses casos de erro.”












