¿Qué es MetaGPT?

Autores

Vanna Winland

AI Advocate & Technology Writer

Meredith Syed

AI Developer Advocate Lead

¿Qué es MetaGPT?

MetaGPT es una infraestructura de código abierto que orquesta el uso de conocimiento procesal humano y agentes de IA impulsados por modelos de lenguaje de gran tamaño (LLM) para desarrollar una amplia gama de soluciones de software. Actuando como una empresa de software de IA, MetaGPT cuenta con agentes de IA especializados que desempeñan funciones como las de las empresas de software tradicionales.

MetaGPT es la tecnología patentada de DeepWisdom fundada por Chenglin Wu. El marco ganó popularidad rápidamente en GitHub, generando interés en torno al objetivo subyacente de MetaGPT de impulsar el avance de la programación en lenguaje natural mediante sistemas multiagente (MAS).

El popular documento de investigación "MetaGPT: Metaprogramming for A Multi-Agent Collaborative Framework" explica la orquestación de la colaboración de agentes de la infraestructura. A medida que continúa la investigación en torno a la orquestación de LLM y los agentes de IA, MetaGPT es uno de los primeros contribuyentes que ofrece un enfoque sencillo para la colaboración entre múltiples agentes mediante el uso de flujos de trabajo familiares.

Las últimas tendencias de IA presentadas por expertos

Obtenga insights curados sobre las noticias más importantes e intrigantes de la IA. Suscríbase a nuestro boletín semanal Think. Consulte la Declaración de privacidad de IBM .

¡Gracias! Ya está suscrito.

Su suscripción se entregará en inglés. En cada boletín, encontrará un enlace para darse de baja. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

¿Qué es la colaboración multiagente?

Los agentes que actúan dentro de un sistema multiagente (MAS) siguen siendo autónomos, pero también cooperan y coordinan en estructuras de agentes o infraestructura como MetaGPT.1 Un MAS coordina agentes individuales para operar e interactuar dentro de su entorno para completar tareas complejas para lograr un objetivo común. Esta idea es parte de la inteligencia colectiva, un concepto popular a veces relacionado con AGI.

Un sistema multiagente consiste en una red de agentes de resolución de problemas que trabajan juntos para abordar desafíos más allá de la capacidad de cualquier agente individual.2 Uno de los desafíos clave en el diseño de un MAS eficaz es coordinar a los agentes para garantizar su colaboración en un objetivo compartido. La colaboración exitosa depende de la capacidad de cada agente para resolver tareas individuales, así como de su capacidad para interactuar eficazmente entre sí.3

Las consideraciones en la planificación de un entorno MAS incluyen:

  • Las limitaciones que crean las actividades de otros agentes para la toma de decisiones de un agente,
  • Las restricciones que surgen de los compromisos de un agente con otros con respecto a sus acciones disponibles,
  • Y la evolución impredecible del mundo causada por agentes externos no modelados.4

Un Approach para este desafío de diseño es la orquestación de la colaboración de los agentes mediante el modelado explícito de Teamworks. Este patrón de diseño multicolaborativo desglosa una instrucción compleja y delega las tareas abstractas a agentes que las ejecutan en función de sus roles especializados.5

Dentro de la infraestructura de MetaGPT, un equipo de agentes de IA opera de acuerdo con un flujo de trabajo guiado por procedimientos operativos estándar (SOP) que definen roles e instrucciones distintos. Al integrar protocolos de comunicación y flujos de trabajo optimizados dentro de sistemas multiagente impulsados por LLM, los usuarios pueden crear aplicaciones con una sola línea de entrada.

Agentes de IA

Cinco tipos de agentes de IA: funciones autónomas y aplicaciones reales

Descubra cómo la IA orientada a objetivos y basada en utilidades se adapta a los flujos de trabajo y entornos complejos.

¿Cómo funciona MetaGPT?

MetaGPT actúa como una infraestructura colaborativa multiagente capaz de resolver tareas complejas. El marco de colaboración multiagente funciona simulando una empresa de software completa utilizando agentes especializados que interactúan en función de procedimientos operativos estándar y un paradigma de línea de ensamblaje para dividir tareas. Cada agente desempeña un papel especializado de acuerdo con sus funciones dentro de la empresa de software. Por ejemplo, la infraestructura incluye agentes que actúan como gerentes de producto, arquitectos, gerentes de proyectos e ingenieros que proporcionan todo el proceso de una empresa de software.

Estos agentes en sus diferentes roles actúan dentro de un espacio de trabajo virtual para tomar un requisito de una línea como entrada y salida de varias soluciones de software. Esta entrada incluye estructuras de datos, interfaces de programación de aplicaciones (API), análisis competitivos y documentos. Los agentes se comunican a través de resultados estructurados basados en requisitos establecidos por un paradigma de línea de ensamblaje. Cada agente genera la información necesaria para indicar al siguiente agente que complete el objetivo colectivo: producir una aplicación de software basada en la instrucción del usuario. Este proceso de desarrollo incremental se debe a la forma en que MetaGPT integra los flujos de trabajo humanos para agilizar la coordinación en una tarea compleja.

Conocimiento procedimental humano para la colaboración multiagente

Se han adoptado procedimientos operativos Standard en varios dominios, ya que desempeñan un papel crítico en el apoyo a la descomposición de tareas y la coordinación eficaz.6 En el desarrollo de software, los SOP promueven la colaboración entre equipos al deconstruir las tareas del proyecto en procedimientos de acción más pequeños que luego se asignan a roles específicos y especializados. MetaGPT codifica los SOP en secuencias de instrucciones para organizar y promover flujos de trabajo multiagente. Los flujos de trabajo de SOP introducen estructura y oportunidades de refinamiento. 

Por ejemplo, se da instrucción al agente del gestor de proyectos que cree un documento de requisitos del producto (PRD). Se le da una instrucción al agente gerente de producto una vez y luego se le pide que refine ciertos elementos del PRD debido al desarrollo incremental del proyecto. Por ejemplo, se indica al agente que cree una sección dentro del PRD para "objetivos del producto". Luego, se le solicita nuevamente que refine esos objetivos actualizando los objetivos originales del producto para garantizar que se alineen con la dirección actual del proyecto.7 Este método de refinamiento se emplea para garantizar que la tarea global sea reconocida y cohesiva entre todos los agentes.

En el siguiente ejemplo, se le da una instrucción al agente del administrador de productos para que genere un análisis de requisitos. Después de esta instrucción inicial, se le solicita al agente que genere un análisis refinado que tenga en cuenta las nuevas características y mejoras de la colaboración en curso.

Instrucción rápida del análisis derequisitos: "Proporcionar un análisis detallado de losrequisitos". 8

Instrucción de análisis refinada: “Revise y refine el análisis de requisitos existente en una lista de cadenas para alinearse con las necesidades cambiantes del proyecto debido al desarrollo incremental. Asegúrese de que el análisis cubra de manera integral las nuevas características y mejoras necesarias para el alcance refinado del proyecto”.9

Este ejemplo demuestra un PRD generado como salida estandarizada que se pasa del agente del administrador de productos al agente del arquitecto. La instrucción basada en SOP para cada resultados generados se enumera junto a ellos. Tenga en cuenta que la instrucción se basa de manera similar en el flujo de trabajo de los SOP, incluidas las definiciones de requisitos, los métodos para completar las tareas y el orden para completarlas:

instrucción del usuario“Constrúyame una aplicación basada en React para que los administradores de patrimonio la usen para revisar las carteras de sus clientes y hacer recomendaciones de fondos apropiados para su uso. Esta aplicación debe funcionar en América, Reino Unido y España”.

Requisitos originales
Instrucción rápida: “Coloque aquí los requisitos del usuario original”.10

“Constrúyame una aplicación basada en React para que los gestores patrimoniales la utilicen para revisar las carteras de sus clientes y hacer recomendaciones de fondos apropiados para su uso. Esta aplicación debe funcionar en Estados Unidos, Reino Unido y España”.

Objetivos delproducto Instrucción 
rápida: "Proporcione hasta tres objetivos de producto claros y ortogonales".11

  1. Desarrolle una aplicación web segura y confiable para administradores de patrimonios.
  2. Garantice el soporte multilingüe para inglés, español y variaciones regionales.
  3. Cree una interfaz intuitiva y fácil de usar para la gestión y recomendación de carteras.

Historias de usuarios 
Instrucción rápida: "Proporcione hasta 3 a 5 historias de usuarios basadas en escenarios".12

  1. Como administrador de patrimonios, quiero revisar las carteras de mis clientes y brindar asesoramiento personalizado.
  2. Como administrador de patrimonios, quiero recomendar fondos a mis clientes en función de sus objetivos de inversión y tolerancia al riesgo.
  3. Como administrador de patrimonios, quiero acceder a la aplicación en inglés o español, según mi ubicación.

Análisis competitivo
Instrucción rápida: "Proporcione de 5 a 7 productos competitivos".13

  1. "Wealthfront: servicio de inversión automatizado con una interfaz limpia, pero carece de recomendaciones de fondos personalizadas".
  2. "Personal capital: ofrece herramientas integrales de gestión patrimonial, pero puede ser abrumador para los nuevos usuarios".
  3. "Betterment: se centra en la inversión automatizada con personalización limitada para los gestores de patrimonio".

Análisis
de requisitosInstrucción rápida: “Proporcione un análisis detalladode los requisitos”. 14

La aplicación debe crearse con React, asegurándose de que sea escalable y mantenible. Debe tener una interfaz multilingüe para atender a los usuarios en Estados Unidos, el Reino Unido y España. La aplicación debe ser segura para proteger los datos financieros confidenciales y cumplir con las regulaciones regionales. También debe integrarse con varias fuentes de datos financieros para proporcionar análisis de cartera en tiempo real y recomendaciones de fondos.

Grupo de requisitos
Instrucción rápida: “Enumere los 5 a 7 requisitos principales con su prioridad (P0, P1, P2)”, “Cubra tanto el contenido heredado como el contenido incremental. Retenga el contenido no relacionado con el desarrollo incremental”.15

  •  (“Autenticación segura de usuarios y cifrado de datos para proteger la información del cliente.”, “P0”),
  • (“Soporte multilingüe para inglés y español, con variaciones regionales”., “P0”),
  •  (“Integración en tiempo real con fuentes de datos financieros para la gestión de carteras.”, “P0”),
  •  (“Panel fácil de usar para revisar y gestionar carteras de clientes.”, “P1”),
  • (“Motor de recomendaciones para sugerir fondos adecuados en función de los perfiles de los clientes.”, “P2”)

Borrador de diseño de interfaz de usuario
Instrucción rápida: "Proporcione una descripción simple de los elementos, funciones, estilo y diseño de la interfaz de usuario".16

La interfaz de usuario contará con un diseño limpio y moderno con un panel que proporciona una visión general de las carteras de clientes. Incluirá gráficos interactivos para el análisis de cartera, una sección de recomendaciones para la selección de fondos y alternar fácilmente entre los idiomas inglés y español.

Cualquier cosa POCO CLARA
Instrucción rápida: “Mencione los aspectos del proyecto que no estén claros y trate de aclararlos”.17

No hay puntos confusos.

El ejemplo anterior es una entrega al agente arquitecto para el diseño, aquí está la instrucción basada en SOP que se proporciona junto con el PRD:

"Aquí está el documento de requisitos del producto (PRD): con base en este PRD, revise si este diseño de API cumple con los requisitos del PRD y si cumple con las buenas prácticas de diseño".18

El arquitecto sigue su propio flujo de trabajo SOP para diseñar el sistema para la aplicación.

Un SOP describe las responsabilidades del rol de cada agente y establece estándares para resultados intermedios. Estos SOP se codifican para influir en el comportamiento del agente. Esta práctica permite a los agentes generar resultados estructurados, como documentos de requisitos de alta calidad, artefactos de diseño, diagramas de flujo y especificaciones de interfaz. Todos los traspasos entre agentes deben cumplir con ciertos estándares establecidos que reducen el riesgo de alucinaciones causadas por conversaciones inactivas entre LLM. El uso de resultados estructurados mejora en gran medida la tasa de éxito de la generación de código objetivo.19

Cómo MetaGPT utiliza los SOP para dar instrucciones a los agentes

Todos los agentes dentro de MetaGPT actúan como empleados que deben seguir un flujo de trabajo estricto y optimizado. Hay dos partes principales dentro del SOP que definen el comportamiento de los agentes: la especialización de roles y el flujo de trabajo entre agentes.

Especialización del rol del agente: MetaGPT define cinco roles dentro de la empresa de software: gerente de producto, arquitecto, gerente de proyecto, ingeniero e ingeniero de control de calidad. El perfil de cada agente se inicializa con información específica, como el nombre del agente, el perfil, el objetivo y las restricciones para cada rol, así como el contexto y las habilidades específicas para cada rol.20 Cada agente es como un organismo digital que actúa dentro de un entorno.21 El concepto de roles predefinidos es diferente a la infraestructura como CrewAI que permite a los usuarios definir la función del agente dentro de un equipo para un caso de uso más general.

Flujo de trabajo entre agentes: la definición de las funciones y las habilidades operativas de los agentes establece un flujo de trabajo básico para que los agentes lo sigan dentro del proceso de desarrollo de software. Los agentes trabajan dentro de un orden secuencial o un paradigma de línea de ensamblaje para desglosar tareas complejas para una mayor eficiencia entre el equipo.

¿Cómo interactúan los agentes en MetaGPT?

MetaGPT postula que la colaboración significativa requiere procesos de resolución de problemas eficaces, coherentes y precisos. Los agentes de IA son sistemas complejos; sin embargo, sus procesos no tienen por qué serlo, al menos no según MetaGPT y su herencia de flujos de trabajo humanos sencillos.

Protocolo de comunicación

Los agentes interactúan dentro de una interfaz de comunicación estructurada denominada protocolo de comunicación. MetaGPT se diferencia de la mayoría de las infraestructuras basadas en LLM porque no utiliza lenguaje natural sin restricciones como interfaz de comunicación y, en cambio, propone el uso de comunicación estructurada para formular la interacción entre agentes. Por ejemplo, en ChatDev, otra infraestructura de colaboración multiagente, los agentes se comunican a través del diálogo, mientras que los agentes en MetaGPT se comunican a través de resultados estructurados, como documentos y diagramas.

Para facilitar este protocolo de comunicación, MetaGPT establece un esquema y un formato para cada agente y solicita que cada rol diferente proporcione los resultados necesarios en función de su objetivo y contexto específicos.22 En un ejemplo, el agente arquitecto genera dos resultados: el diseño de la interfaz del sistema y un diagrama de flujo de secuencia. Ambos resultados contienen secuencias de interacción y diseño de módulos del sistema que sirven como entregables primordiales para los agentes de ingeniería.23

Mecanismo de publicación y suscripción

Para mejorar la eficiencia de la comunicación, MetaGPT utiliza un grupo de mensajes global para almacenar información que permite a los agentes intercambiar mensajes directamente. Los agentes publican sus mensajes estructurados en el grupo y pueden acceder a los mensajes de otros agentes de forma transparente. Este enfoque permite a los agentes acceder directamente a la información necesaria del grupo compartido, eliminando la necesidad de preguntar a otros agentes y esperar sus respuestas.24

Proceso de desarrollo de MetaGPT

El proceso de desarrollo comienza con el comando de entrada de un usuario y termina con el software diseñado de acuerdo con las especificaciones del usuario. Por ejemplo, la entrada del usuario podría ser "Escriba una aplicación de GUI de Python para que pueda dibujar una imagen con ella". La instrucción del usuario se transmite a la empresa de software, un equipo de agentes de juego de roles: gerente de producto, arquitecto, gerente de proyecto, ingeniero, ingeniero de control de calidad

Después de recibir la instrucción del usuario para crear una aplicación de software específica, el gerente de producto genera un PRD que abarca objetivos, historias de usuario, análisis competitivo, análisis de requisitos y grupo de requisitos. Además, el agente de gestión de productos también genera un gráfico de cuadrante competitivo basado en las especificaciones de la aplicación. Estos documentos y gráficos se entregan al agente arquitecto para el diseño del sistema.

El agente arquitecto elabora especificaciones técnicas basadas en los requisitos del PRD. Las especificaciones incluyen diagramas de arquitectura del sistema y definiciones de interfaz para la trayectoria técnica general del proyecto. La arquitectura del proyecto, incluidos los archivos, las clases y el diagrama de flujo de secuencia, se diseña en función de las definiciones técnicas del agente arquitecto. La documentación generada por el arquitecto se entrega al gerente del proyecto para la asignación y ejecución de tareas.

El gestor de proyectos desglosa el proyecto en una lista de tareas. Cada archivo de código se analiza en función de su funcionalidad prevista y luego se trata como una tarea separada asignada a los ingenieros.

El agente ingeniero genera el código necesario con habilidades de desarrollo fundamentales para completar las tareas de desarrollo. Al recibir los resultados del código del agente ingeniero, el agente ingeniero de control de calidad genera un código de prueba unitaria y lo revisa para identificar y realizar arreglos.

Integración de LLM en MetaGPT

Los agentes de MetaGPT se basan en la serie de modelos GPT (transformador generativo preentrenado) de OpenAI GPT-3.5 y GPT-4. Sin embargo, MetaGPT y su comunidad de código abierto han contribuido a la adición de varios otros modelos que se pueden inicializar a través de la configuración de la API LLM. MetaGPT ofrece un tutorial que facilita la exploración de cómo integrarse con LLM de código abierto en su sitio de documentos de GitHub. El primer paso para integrar un LLM es configurar un repositorio de inferencia (repo) como LLaMA-Factory, FastChat, Ollama, etc. Este repositorio permite el despliegue del modelo LLM correspondiente que se configura a través de sus credenciales de API. Todos los repositorios de inferencia compatibles, excepto Ollama, admiten la publicación de interfaces compatibles con OpenAI. MetaGPT busca dar soporte a la interfaz de Ollama en el futuro.

¿Pueden los agentes de IA sobresalir en la metaprogramación?

Los marcos de metaprogramación proporcionan la funcionalidad para crear programas que pueden escribir, manipular y analizar otros programas, así como el propio programa. MetaGPT modela este propósito incorporando flujos de trabajo humanos para impulsar la IA generativa mediante técnicas basadas en agentes para mejorar la metaprogramación.

Los agentes basados en LLM contienen varias capacidades básicas que tienen tareas avanzadas de programación automática.25 Entre esos avances se encuentran ReAct y Reflexion, paradigmas de razonamiento utilizados por agentes que emplean una cadena de instrucciones de pensamiento para generar trayectorias de razonamiento y planes de acción con LLM.26

El ciclo de diseño de agentes de ReAct demuestra un proceso eficaz para la programación automática debido a su ciclo de diseño iterativo que permite a los agentes razonar, actuar y observar.27 La reflexión refuerza a los agentes lingüísticos a través de la retroalimentación lingüística, siguiendo un ciclo de diseño iterativo similar para inducir una mejor toma de decisiones.28 Ambos diseños de paradigma permiten a los agentes aprender y mejorar continuamente su flujo de trabajo.

Los LLM tradicionales, como el modelo GPT-3 de OpenAI, los modelos Llama de Meta y los modelos IBM Granite™ son limitados en su conocimiento y razonamiento. Generan respuestas basadas en los datos de entrenamiento, que con frecuencia pueden incluir información desactualizada. Por el contrario, la tecnología agéntica aprovecha las llamadas a herramientas de backend para acceder a la información actual, agilizar el flujo de trabajo y crear de forma autónoma tareas específicas para lograr objetivos complejos. Durante este proceso, el agente autónomo aprende a ajustarse a las expectativas del usuario a lo largo del tiempo, proporcionando una experiencia personalizada y respuestas más completas. Esta llamada de herramientas puede ocurrir sin intervención humana, ampliando las posibles aplicaciones del mundo real para estos sistemas de IA.

Cómo utiliza MetaGPT los agentes de metaprogramación

Los agentes ingenieros de MetaGPT participan en la programación iterativa con retroalimentación ejecutable. Los procesos de depuración y optimización son importantes en las tareas diarias de programación. Otras implementaciones carecen de mecanismos de autocorrección del agente que conducen a resultados no deseados, como alucinaciones de código o código que no funciona. Para mitigar estos riesgos, MetaGPT introduce un mecanismo de retroalimentación ejecutable para mejorar el código en cada iteración.

El agente ingeniero escribe código basado en los requisitos y el diseño originales del producto. Esto permite al agente mejorar continuamente el código utilizando su propia memoria histórica de ejecución y depuración. El ingeniero obtiene más información para mejorar el código escribiendo y ejecutando los casos de prueba unitarios correspondientes. Después de recibir los resultados, el ingeniero continúa con tareas de desarrollo adicionales o depura el código antes de reanudar la programación. Este proceso iterativo continúa hasta que se pasa la prueba o se alcanza un máximo de 3 reintentos.29

Otros marcos multiagente

crewAI – CrewAI es un marco de código abierto basado en python que aprovecha los agentes autónomos que juegan roles y trabajan juntos como un equipo para completar tareas. Los usuarios pueden crear y personalizar agentes en función de las necesidades o el uso de su aplicación. Los casos de uso incluyen propósitos generalizados, como la planificación y creación de contenido, el análisis de datos y las tareas de Automatización. CrewAI presenta una característica de integración con IBM’s watsonx.ai y ofrece varias integraciones LLM y compatibilidad con Ollama.30

ChatDev: ChatDev es un marco multiagente de código abierto que simula una empresa de software virtual que opera a través de varios agentes inteligentes que desempeñan diferentes roles organizacionales. Los agentes cooperan a través del diálogo para producir un producto de software que incluye código ejecutable y documentación. ChatDev admite los modelos GPT-3.5-turbo y GPT-4 de OpenAI para potenciar a sus agentes inteligentes.31

AutoGPT – AutoGPT es un marco de infraestructura/marco multiagente de código abierto que aplica procesamiento de lenguaje natural (PLN) para comprender los objetivos del usuario y la descomposición de tareas complejas. Los agentes cooperan en un flujo de trabajo automatizado para procesar una instrucción de usuario de alto nivel dividiendo cada tarea en una secuencia de subtareas más pequeñas. Los casos de uso incluyen soluciones generalizadas, como investigación y análisis de mercado, desarrollo de productos, asistencia virtual y más. Este marco está construido con agentes de IA basados en GPT-4 de OpenAI.32

Soluciones relacionadas
Desarrollo de agentes de IA de IBM 

Permita a los desarrolladores crear, desplegar y monitorear agentes de IA con el estudio IBM watsonx.ai.

 

Explore watsonx.ai
Soluciones de inteligencia artificial

Ponga la IA a trabajar en su negocio con la experiencia en IA líder en la industria y la cartera de soluciones de IBM a su lado.

Explore las soluciones de IA
Consultoría y servicios de IA

Reinvente los flujos de trabajo y las operaciones críticas añadiendo IA para maximizar las experiencias, la toma de decisiones en tiempo real y el valor empresarial.

Conozca los servicios de IA
Dé el siguiente paso

Ya sea que elija personalizar aplicaciones y habilidades predefinidas o crear y desplegar servicios agénticos personalizados utilizando un estudio de IA, la plataforma IBM watsonx responde a sus necesidades.

Explore watsonx Orchestrate Explore watsonx.ai