Kitchen Nightmares: Edição Agentes LangChain

Eu construí um aplicativo de saúde para analisar receitas e criar planos de refeições.

Usei FastAPI e React para o aplicativo web. Usei LangChain para os agentes. Usei LangSmith para ver o que meus agentes estavam fazendo.

O objetivo era simples. Um usuário fornece uma URL. O aplicativo busca a receita e a divide em componentes como pratos principais, acompanhamentos e molhos. Os usuários podem então combinar esses elementos para montar refeições ou monitorar calorias.

Eu enfrentei um grande problema com a confiabilidade dos agentes.

No início, usei um único agente para agrupar a receita e formatar a saída. Ele falhava constantemente. Produzia itens duplicados. Deixava instruções de fora. Combinava tudo em um único bloco gigante.

Tentei uma configuração de dois agentes para corrigir isso:

  • Agente 1 (Agrupamento): Encontra os diferentes componentes da receita e organiza ingredientes e instruções.
  • Agente 2 (Estruturação): Pega esse texto organizado e o transforma em um formato JSON limpo.

Isso funcionou por um dia. No dia seguinte, os erros retornaram. O agente de estruturação começou a retornar JSON que omitia todos os ingredientes e instruções.

Parei de usar comandos print e comecei a usar o LangSmith.

O LangSmith me mostra latência, uso de tokens e custo. O mais importante é que ele me mostra exatamente onde a cadeia quebra.

No meu caso, o agente de agrupamento estava funcionando perfeitamente. Ele produzia um markdown excelente com todos os detalhes. A falha ocorreu no segundo agente. Ele estava perdendo dados durante a transformação.

Agora estou trabalhando em três correções:

  • Melhorar a confiabilidade do agente: Notei que o agente de estruturação tenta adivinhar um campo de culinária que não estava no prompt original. Essa confusão causa erros.
  • Adicionar validação: Vou usar funções Python para verificar a saída. Quero garantir que o markdown esteja correto e que não haja duplicatas.
  • Melhor observabilidade: Quero vincular cada execução de agente a uma solicitação específica de usuário para facilitar o rastreamento.

Construir com agentes não é uma tarefa de uma única vez. É um ciclo constante de testes e correções.

Fonte: https://dev.to/kristianroopnarine/kitchen-nightmares-langchain-agents-edition-45co

Comunidade de aprendizado opcional: https://t.me/GyaanSetuAi