Anúncios

Como Criamos um Gerador de Planos de Negócios com IA Usando LangGraph & LangChain

Como Criamos um Gerador de Planos de Negócios com IA Usando LangGraph & LangChain

Esta publicação é a Parte 1 de uma série de 4 partes. Não deixe de conferir os outros posts da série para um mergulho mais profundo em nosso gerador de planos de negócios com IA.
Parte 1: Como Construímos um Gerador de Planos de Negócios com IA Usando LangGraph & LangChain
Parte 2: Como Otimizamos a Geração de Planos de Negócios com IA: Velocidade vs. Qualidade nas Compensações
Parte 3: Como Criamos 273 Testes de Unidade em 3 Dias Sem Escrever Uma Única Linha de Código
Parte 4: Framework de Avaliação de IA — Como Construímos um Sistema para Avaliar e Melhorar Planos de Negócios Gerados por IA

Ao construir um gerador de planos de negócios com IA, começamos do zero utilizando LangChain e LangGraph, pois precisávamos de uma estrutura agente capaz de lidar com fluxos de trabalho complexos. Diferente do nosso projeto anterior, Consultor de Negócios — um agente baseado em conversa que dependia do SDK da OpenAI e do processamento baseado em pipeline — este novo projeto exigia um fluxo de trabalho de IA estruturado e de múltiplas etapas para gerar e refinar planos de negócios dinamicamente.

A nossa equipe de produto definiu a funcionalidade principal da seguinte forma:

  • Os usuários passariam por uma entrevista de negócios onde responderiam a perguntas estruturadas.
  • Cada par de pergunta e resposta corresponderia a seções específicas no plano de negócios.
  • Os usuários poderiam atualizar as respostas posteriormente, acionando uma regeneração das seções afetadas.
  • O sistema foi projetado para suportar agentes específicos do domínio futuro, como especialistas em modelagem financeira ou pesquisa de mercado.

Dado o aumento da tendência de fluxos de trabalho de IA multi-agentes em aplicações empresariais, estruturamos nosso sistema com componentes de IA modulares e escaláveis que podem colaborar eficientemente, garantindo precisão, consistência e adaptabilidade.

Por Que Escolhemos LangChain & LangGraph

Construir uma aplicação impulsionada por IA complexa exigia mais do que apenas consultas LLM simples. Nós precisávamos:

  1. Arquitetura Agnóstica de Modelo: A capacidade de alternar entre modelos OpenAI, Claude e até LLMs locais sem grandes reescritas.
  2. Execução Baseada em Grafos: Uma forma de estruturar fluxos de trabalho dinamicamente, evitando pipelines rígidos.
  3. Memória Persistente: A capacidade do sistema de reter resultados intermediários ao longo dos passos.
  4. Escalabilidade: A flexibilidade para adicionar mais agentes de IA especializados no futuro.

LangChain e LangGraph forneceram essas capacidades por meio de fluxos de trabalho baseados em grafo acíclico dirigido (DAG), possibilitando interações complexas entre múltiplos nós de processamento.

Embora não tenhamos implementado imediatamente agentes específicos de domínio, projetamos o sistema para suportar futuros modelos de IA especializados em projeções financeiras, conformidade legal ou análise de mercado, garantindo que o framework permanecesse flexível.

Uma tendência importante que identificamos foi a adoção crescente de fluxos de trabalho de IA multiagente em aplicações empresariais complexas. Empresas como LinkedIn e Uber implementaram com sucesso arquiteturas baseadas em agentes para melhorar operações e tomada de decisões. Inspirados por isso, projetamos nosso sistema para que múltiplos nós de IA pudessem colaborar dinamicamente, garantindo que cada etapa do processamento pudesse ser otimizada independentemente, enquanto se mantém uma integração perfeita.

Implementando o Fluxo de Trabalho com IA

A arquitetura principal consistia em:

  • Respostas dos usuários da entrevista armazenadas como dados estruturados.
  • Fluxo de trabalho impulsionado por LangGraph que encaminhou dinamicamente tarefas para nós de IA relevantes.
  • Uma estratégia de seleção de modelo híbrido, permitindo que diferentes tarefas sejam tratadas por diferentes modelos da OpenAI (GPT-4o para seções detalhadas, GPT-4o-mini para redação geral).
  • Uma abordagem de geração híbrida, onde algumas seções foram geradas individualmente para precisão, enquanto outras foram processadas em lotes para eficiência.

Desdobramento Passo a Passo das Operações

Nosso fluxo de trabalho de geração de plano de negócios envolveu várias etapas sequenciais:

  1. Nó de Elaboração — Gera um rascunho inicial do plano de negócios com base nas respostas do usuário.
  2. Nó de Avaliação — Avalia o rascunho, identificando lacunas e áreas de melhoria.
  3. Refinamento Pós-Avaliação — Ajusta o rascunho com base no feedback da avaliação.
  4. Geração Final — Produz a versão final, garantindo a completude e coerência.

Esta abordagem de múltiplas etapas garantiu o refinamento progressivo do plano de negócios, em vez de depender de uma única passagem de geração de IA. No entanto, devido a restrições de desempenho, mais tarde simplificamos isso em um processo de geração de uma única etapa por razões de usabilidade, o que discutiremos em um futuro artigo.

Exemplo de Processamento Baseado em Grafos


graph TD;
A[Entrevista com o Usuário] --> B[Geração de Rascunho];
B --> C[Avaliação];
C --> D[Refinamento Pós-Avaliação];
D --> E[Plano de Negócios Final];

Esta estrutura ilustra como as tarefas fluem através de diferentes etapas, garantindo uma execução modular e escalável.

Exemplo: Usando Ferramenta de Chamada para Geração Estruturada

Uma das nossas decisões chave foi aproveitar o uso de ferramentas no modo estrito da OpenAI. Isso permitiu que os modelos de IA interagissem com funções estruturadas e garantissem respostas previsíveis e formatadas, reduzindo alucinações.

Exemplo De Uso Da Ferramenta: Gerando Seções De Plano De Negócios


       import { StructuredToolWithStrict } from 'langchain/tools';
       import { z } from 'zod';

const sectionsSchema = z.object({
  sections: z.array(
    z.object({
      id: z.string().describe('O ID da seção'),
      slug: z.string().describe('O slug do template para esta seção'),
      content: z.string().describe('O conteúdo gerado para esta seção')
    })
  ).describe('Um lote de seções de plano de negócios')
}).strict();
export class GenerateBusinessPlanSections extends StructuredToolWithStrict {
  name = 'generate_sections';
  description = 'Gere seções de plano de negócios estruturadas com base na entrada do usuário.';
  schema = sectionsSchema;
  async _call(input) {
    return { sections: input.sections }; // Conteúdo gerado por IA fornecido como argumentos da ferramenta
  }
}

Usar o Zod para validação de esquema garantiu que as respostas fossem sempre bem formadas e seguras em termos de tipo, reduzindo erros de análise e permitindo a validação automatizada de conteúdo gerado por IA.

Desafios & Modificações LangChain

Apesar das vantagens do LangChain e do LangGraph, encontramos vários obstáculos que exigiram modificações personalizadas:

  1. Limitações do LangChain → Falta de modo estrito para chamada de ferramentas e ausência de suporte para streaming de saídas de ferramentas. Nós estendemos as funções integradas do LangChain para impor restrições mais estritas de saída e modificamos o LangGraph para permitir o streaming incremental de respostas estruturadas.
  2. Documentação insuficiente do LangChain → Frequentemente tivemos que ler e analisar o código-fonte do LangChain devido à documentação insuficiente, o que tornou a implementação mais lenta e a depuração mais difícil.
  3. Problemas de qualidade de código → Certas áreas da implementação do LangChain careciam de manutenção, exigindo que nós refatorássemos e otimizássemos componentes chave.
  4. Gargalos de desempenho com a API de Assistentes da OpenAI → Inicialmente utilizamos a API de Assistentes, mas descobrimos que a criação de threads introduzia uma latência significativa, e mensagens adicionais não estruturadas nas chamadas de ferramentas retardavam os tempos de resposta. Eventualmente, migramos para a API de Chat para respostas estruturadas e maior eficiência.

Para abordar esses aspectos, desenvolvemos um OpenAIAssistantRunnable personalizado, um componente especializado baseado na implementação existente da LangChain, mas aprimorado para suportar streaming, chamadas de ferramentas estritas e fluxos de trabalho de múltiplas etapas.

Ajuste Final da Arquitetura

Enquanto a arquitetura original de operações permaneceu intacta, minimizamos o número de etapas de processamento de múltiplas iterações para uma geração de etapa única para melhorar a velocidade e a experiência do usuário na versão final.

Principais Pontos

  • LangChain + LangGraph foram essenciais mas requereram uma personalização profunda para respostas estruturadas e chamadas de ferramentas.
  • Abordagens híbridas de geração — misturando processamento individual e em lote — permitiram-nos equilibrar precisão e eficiência.
  • Respostas estruturadas e validação de esquema melhoraram significativamente a qualidade e a confiabilidade da saída da IA.
  • Uma abordagem de processamento em múltiplas etapas foi inicialmente usada, mas devido a restrições de desempenho, foi implementada uma geração simplificada em uma única etapa.
  • Otimizando a velocidade de execução da IA ao mudar da API de Assistentes para a API de Chat reduziu drasticamente o tempo de geração enquanto preservava respostas estruturadas.

Experimente Nosso Conjunto de Negócios com IA

Experimente as capacidades completas das nossas ferramentas de negócios impulsionadas por IA, construídas e hospedadas no DreamHost. De planejamento empresarial a geração de conteúdo, nosso conjunto de ferramentas de IA é projetado para ajudar empreendedores e empresas a otimizar suas operações.

Os clientes da DreamHost podem clicar aqui para começar e explorar nosso gerador de planos de negócios com IA e outras ferramentas de IA.

Esta publicação é a Parte 1 de uma série de 4 partes. Certifique-se de conferir os outros posts da série para um aprofundamento em nosso gerador de planos de negócios com IA.
Parte 1: Como Construímos um Gerador de Planos de Negócios com IA Usando LangGraph & LangChain
Parte 2: Como Otimizamos a Geração de Planos de Negócios com IA: Velocidade vs. Compromissos de Qualidade
Parte 3: Como Criamos 273 Testes de Unidade em 3 Dias Sem Escrever uma Única Linha de Código
Parte 4: Framework de Avaliação de IA — Como Construímos um Sistema para Avaliar e Melhorar Planos de Negócios Gerados por IA