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
