Anuncios

Cómo Construimos un Generador de Planes de Negocio Impulsado por IA Usando LangGraph & LangChain

Cómo Construimos un Generador de Planes de Negocio Impulsado por IA Usando LangGraph & LangChain

Esta publicación es la Parte 1 de una serie de 4 partes. Asegúrate de revisar las otras publicaciones de la serie para un análisis más profundo de nuestro generador de planes de negocio impulsado por IA.
Parte 1: Cómo Construimos un Generador de Planes de Negocio Impulsado por IA Usando LangGraph & LangChain
Parte 2: Cómo Optimizamos la Generación de Planes de Negocio con IA: Compensaciones entre Velocidad y Calidad
Parte 3: Cómo Creamos 273 Pruebas de Unidad en 3 Días Sin Escribir una Sola Línea de Código
Parte 4: Marco de Evaluación de IA — Cómo Construimos un Sistema para Evaluar y Mejorar Planes de Negocios Generados por IA

Cuando construimos un generador de planes de negocios impulsado por IA, comenzamos desde cero utilizando LangChain y LangGraph, ya que necesitábamos un marco agente capaz de manejar flujos de trabajo complejos. A diferencia de nuestro proyecto anterior, Business Advisor — un agente basado en chat que dependía del SDK de OpenAI y el procesamiento basado en pipeline — este nuevo proyecto requería un flujo de trabajo de IA estructurado y de múltiples etapas para generar y refinar dinámicamente planes de negocios.

Nuestro equipo de producto definió la funcionalidad principal de la siguiente manera:

  • Los usuarios pasarían por una entrevista de negocios donde responderían preguntas estructuradas.
  • Cada par de pregunta-respuesta se mapearía a secciones específicas en el plan de negocios.
  • Los usuarios podrían actualizar más tarde las respuestas, desencadenando una regeneración de las secciones afectadas.
  • El sistema estaba diseñado para soportar agentes específicos de dominio futuros, como especialistas en modelado financiero o investigación de mercados.

Dada la creciente tendencia de los flujos de trabajo de IA multi-agente en aplicaciones empresariales, estructuramos nuestro sistema con componentes de IA modulares y escalables que puedan colaborar eficientemente mientras aseguran precisión, consistencia y adaptabilidad.

Por Qué Elegimos LangChain & LangGraph

Construir una aplicación compleja impulsada por IA requirió más que simples consultas LLM. Necesitábamos:

  1. Una arquitectura agnóstica de modelos: La capacidad de cambiar entre modelos de OpenAI, Claude, y hasta LLMs locales sin grandes reescrituras.
  2. Ejecución basada en grafos: Una manera de estructurar flujos de trabajo de manera dinámica, evitando pipelines rígidos.
  3. Memoria con estado: La habilidad para que el sistema retenga resultados intermedios a través de los pasos.
  4. Escalaridad: La flexibilidad para añadir más agentes de IA especializados en el futuro.

LangChain y LangGraph proporcionaron estas capacidades a través de flujos de trabajo basados en grafo acíclico dirigido (DAG), permitiendo interacciones complejas entre múltiples nodos de procesamiento.

Aunque no implementamos agentes específicos de dominio de inmediato, diseñamos el sistema para apoyar futuros modelos de IA que se especialicen en proyecciones financieras, cumplimiento legal o análisis de mercado, asegurando que el framework se mantuviera flexible.

Una tendencia principal que identificamos fue la adopción creciente de flujos de trabajo de IA multi-agente en aplicaciones empresariales complejas. Compañías como LinkedIn y Uber han desplegado exitosamente arquitecturas basadas en agentes para mejorar las operaciones y la toma de decisiones. Inspirados por esto, diseñamos nuestro sistema de modo que múltiples nodos de IA pudieran colaborar dinámicamente, asegurando que cada paso del procesamiento pudiera optimizarse de manera independiente mientras se mantiene una integración perfecta.

Implementando el Flujo de Trabajo con IA

La arquitectura central estaba compuesta por:

  • Respuestas de los usuarios de la entrevista almacenadas como datos estructurados.
  • Flujo de trabajo impulsado por LangGraph que direccionó dinámicamente las tareas a los nodos de IA relevantes.
  • Una estrategia de selección de modelo híbrido, permitiendo que diferentes tareas sean manejadas por diferentes modelos de OpenAI (GPT-4o para secciones detalladas, GPT-4o-mini para redacción general).
  • Un enfoque de generación híbrido, donde algunas secciones se generaron individualmente para mayor precisión, mientras que otras se procesaron en lotes para mayor eficiencia.

Desglose Paso a Paso de las Operaciones

Nuestro flujo de trabajo para la generación del plan de negocios involucraba varios pasos secuenciales:

  1. Nodo de Redacción — Genera un borrador inicial del plan de negocios basado en las respuestas del usuario.
  2. Nodo de Evaluación — Evalúa el borrador, identificando lagunas y áreas de mejora.
  3. Refinamiento Post-Evaluación — Ajusta el borrador basado en los comentarios de la evaluación.
  4. Generación Final — Produce la versión final, asegurando la completitud y coherencia.

Este enfoque de múltiples pasos aseguró una refinación progresiva del plan de negocios, en lugar de depender de una única ejecución de generación de IA. Sin embargo, debido a restricciones de rendimiento, más tarde simplificamos esto en un proceso de generación de un solo paso por razones de usabilidad, lo cual discutiremos en un futuro artículo.

Ejemplo de Procesamiento Basado en Grafos


graph TD;
A[Entrevista con el Usuario] --> B[Generación de Borrador];
B --> C[Evaluación];
C --> D[Refinamiento Post-Evaluación];
D --> E[Plan de Negocio Final];

Esta estructura ilustra cómo las tareas fluyen a través de distintas etapas, asegurando una ejecución modular y escalable.

Ejemplo: Uso de Herramienta para la Generación Estructurada

Una de nuestras decisiones clave fue aprovechar el llamado de herramienta en el modo estricto de OpenAI. Esto permitió que los modelos de IA interactuaran con funciones estructuradas y aplicaran respuestas predecibles y estructuradas, reduciendo las alucinaciones.

Ejemplo de Uso de Herramienta: Generación de Secciones de Plan de Negocios


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

const sectionsSchema = z.object({
  sections: z.array(
    z.object({
      id: z.string().describe('El ID de la sección'),
      slug: z.string().describe('El slug de plantilla para esta sección'),
      content: z.string().describe('El contenido generado para esta sección')
    })
  ).describe('Un lote de secciones de planes de negocio')
}).strict();
export class GenerateBusinessPlanSections extends StructuredToolWithStrict {
  name = 'generate_sections';
  description = 'Genera secciones estructuradas de planes de negocio basadas en la entrada del usuario.';
  schema = sectionsSchema;
  async _call(input) {
    return { sections: input.sections }; // Contenido generado por IA proporcionado como argumentos de la herramienta
  }
}

Usar Zod para la validación de esquemas aseguró que las respuestas siempre estuvieran bien formadas y fueran seguras en cuanto a tipo, reduciendo los errores de análisis y permitiendo la validación automatizada del contenido generado por IA.

Desafíos & Modificaciones de LangChain

A pesar de las ventajas de LangChain y LangGraph, nos encontramos con múltiples obstáculos que requirieron modificaciones personalizadas:

  1. Limitaciones de LangChain → Ausencia de modo estricto para la invocación de herramientas y falta de soporte de transmisión para las salidas de herramientas. Extendimos las funciones incorporadas de LangChain para imponer restricciones de salida más estrictas y modificamos LangGraph para permitir la transmisión incremental de respuestas estructuradas.
  2. Documentación deficiente de LangChain → Frecuentemente tuvimos que leer y analizar el código fuente de LangChain debido a la insuficiente documentación, lo que ralentizó la implementación y dificultó la depuración.
  3. Problemas de calidad del código → Ciertas áreas de la implementación de LangChain carecían de mantenibilidad, lo que nos obligó a refactorizar y optimizar componentes clave.
  4. Cuellos de botella en el rendimiento con la API de Asistentes de OpenAI → Inicialmente utilizamos la API de Asistentes pero descubrimos que la creación de hilos introducía una latencia significativa y los mensajes no estructurados adicionales en las llamadas a herramientas ralentizaban los tiempos de respuesta. Eventualmente, nos trasladamos a la API de Chat para respuestas estructuradas y mayor eficiencia.

Para abordar estos temas, desarrollamos un OpenAIAssistantRunnable personalizado, un componente especializado basado en la implementación existente de LangChain, pero mejorado para soportar transmisión, llamadas estrictas de herramientas y flujos de trabajo de varios pasos.

Ajuste Final de Arquitectura

Aunque la arquitectura original de las operaciones se mantuvo intacta, minimizamos el número de pasos de procesamiento de múltiples iteraciones a una generación de un solo paso para mejorar la velocidad y la experiencia del usuario en la versión final.

Puntos Clave

  • LangChain + LangGraph fueron esenciales pero requirieron una personalización profunda para respuestas estructuradas y la invocación de herramientas.
  • Enfoques de generación híbridos — combinando procesos individuales y por lotes — nos permitieron equilibrar precisión y eficiencia.
  • Respuestas estructuradas y validación de esquemas mejoraron significativamente la calidad y fiabilidad de la salida de la IA.
  • Un enfoque de procesamiento por múltiples etapas fue utilizado inicialmente, pero debido a limitaciones de rendimiento, se implementó una generación en un solo paso simplificada.
  • Optimizar la velocidad de ejecución de la IA cambiando de la API de Asistentes a la API de Chat redujo drásticamente el tiempo de generación mientras se preservaban las respuestas estructuradas.

Prueba Nuestra Suite de Negocios con IA

Experimenta todas las capacidades de nuestras herramientas de negocios impulsadas por IA, construidas y alojadas en DreamHost. Desde la planificación de negocios hasta la generación de contenido, nuestro conjunto de herramientas de IA está diseñado para ayudar a los emprendedores y empresas a optimizar sus operaciones.

Los clientes de DreamHost pueden hacer clic aquí para comenzar y explorar nuestro generador de planes de negocio impulsado por IA y otras herramientas de IA.

Esta publicación es la Parte 1 de una serie de 4 partes. Asegúrate de revisar las otras publicaciones de la serie para un análisis más profundo de nuestro generador de planes de negocio impulsado por IA.
Parte 1: Cómo Construimos un Generador de Planes de Negocio Impulsado por IA Usando LangGraph & LangChain
Parte 2: Cómo Optimizamos la Generación de Planes de Negocio con IA: Compromisos entre Velocidad y Calidad
Parte 3: Cómo Creamos 273 Pruebas de Unidad en 3 Días Sin Escribir una Sola Línea de Código
Parte 4: Marco de Evaluación de IA — Cómo Construimos un Sistema para Puntuar y Mejorar Planes de Negocio Generados por IA