IAG e IA del futuro
MetaGPT: Guía Completa sobre el Mejor Agente de Inteligencia Artificial Disponible en este Momento
Con los Modelos de Lenguaje Grande (LLM) como ChatGPT, OpenAI ha experimentado un aumento en la adopción empresarial y de usuarios, generando actualmente alrededor de $80 millones en ingresos mensuales. Según un informe reciente de The Information, la empresa con sede en San Francisco está en camino de alcanzar $1 mil millones en ingresos anuales.
La última vez que exploramos AutoGPT y GPT-Engineering, los primeros agentes de inteligencia artificial de código abierto basados en LLM diseñados para automatizar tareas complejas. Aunque prometedores, estos sistemas tenían sus propios problemas: resultados inconsistentes, cuellos de botella de rendimiento y limitaciones en el manejo de demandas multifacéticas. Muestran habilidad en la generación de código, pero sus capacidades a menudo se detienen allí. Carecen de funcionalidades críticas de gestión de proyectos como la generación de PRD, la generación de diseños técnicos y la prototipación de interfaces de API.
Entonces, entra MetaGPT— un sistema multiagente que utiliza modelos de lenguaje grande fusionando Procedimientos Operativos Estándar (SOP) con sistemas multiagentes basados en LLM. Este paradigma emergente rompe las limitaciones existentes de los LLM en la colaboración efectiva y la descomposición de tareas en aplicaciones complejas y del mundo real.
La belleza de MetaGPT radica en su estructura. Aprovecha las técnicas de metaprogramación para manipular, analizar y transformar el código en tiempo real. El objetivo es lograr una arquitectura de software ágil y flexible que pueda adaptarse a tareas de programación dinámicas.
Los SOP actúan como una metafunción aquí, coordinando a los agentes para autogenerar código basado en entradas definidas. En términos simples, es como si hubieras convertido a un equipo de ingenieros de software altamente coordinados en un sistema de software inteligente y adaptable.
Comprendiendo el Marco de MetaGPT

Marco de MetaGPT (https://arxiv.org/pdf/2308.00352.pdf)
Capas Fundamentales y de Colaboración
La arquitectura de MetaGPT se divide en dos capas: la Capa de Componentes Fundamentales y la Capa de Colaboración.
- Capa de Componentes Fundamentales: Esta capa se centra en las operaciones de los agentes individuales y facilita el intercambio de información a nivel de sistema. Introduce bloques de construcción básicos como Entorno, Memoria, Roles, Acciones y Herramientas. El Entorno establece el escenario para espacios de trabajo compartidos y vías de comunicación, mientras que la Memoria sirve como archivo de datos históricos. Los Roles encapsulan la experiencia específica del dominio, las Acciones ejecutan tareas modulares, y las Herramientas ofrecen servicios comunes. Esta capa esencialmente sirve como el sistema operativo para los agentes. Más detalles sobre cómo funcionan juntos están disponibles en el artículo ‘Más allá de ChatGPT; Agente de IA: Un Nuevo Mundo de Trabajadores‘
- Capa de Colaboración: Construida sobre los componentes fundamentales, esta capa gestiona y optimiza los esfuerzos colaborativos de los agentes individuales. Introduce dos mecanismos: Compartir Conocimiento y Encapsular Flujos de Trabajo.
- Compartir Conocimiento: Actúa como el pegamento colaborativo que une a los agentes. Los agentes pueden almacenar, recuperar y compartir información a diferentes niveles, reduciendo así la redundancia y mejorando la eficiencia operativa.
- Encapsular Flujos de Trabajo: Aquí es donde entran en juego los Procedimientos Operativos Estándar (SOP). Los SOP actúan como planos que descomponen las tareas en componentes manejables. Los agentes se les asignan estas subtareas, y su rendimiento se alinea con salidas estandarizadas.
MetaGPT también utiliza “Definiciones de Roles” para iniciar varios agentes especializados como Gerentes de Producto, Arquitectos, etc. como discutimos anteriormente. Estos roles se caracterizan por atributos clave como nombre, perfil, objetivo, restricciones y descripción.
Además, “Agentes Ancla” proporciona orientación específica de roles a estos agentes. Por ejemplo, el rol de un Gerente de Producto podría inicializarse con la restricción de “crear eficientemente un producto exitoso”. Los agentes ancla aseguran que el comportamiento de los agentes se alinee con los objetivos generales, optimizando así el rendimiento.
Procesos Cognitivos en los Agentes de MetaGPT
MetaGPT puede observar, pensar, reflexionar y actuar. Operan a través de funciones de comportamiento específicas como _think(), _observe(), _publish_message(), etc. Este modelado cognitivo equipa a los agentes para ser aprendices activos que pueden adaptarse y evolucionar.
- Observar: Los agentes escanean su entorno e incorporan datos clave en su Memoria.
- Pensar y Reflexionar: A través de la función
_think(), los roles deliberan antes de emprender acciones. - Enviar Mensajes: Los agentes utilizan
_publish_message()para compartir el estado actual de la tarea y los registros de acción relacionados. - Precipitación de Conocimiento y Actuar: Los agentes evalúan los mensajes entrantes y actualizan sus repositorios internos antes de decidir el curso de acción siguiente.
- Gestión de Estado: Con características como el bloqueo de tareas y la actualización de estado, los roles pueden procesar múltiples acciones secuencialmente sin interrupción, imitando la colaboración humana en el mundo real.
Mecanismos de Revisión de Código para MetaGPT
La revisión de código es un componente crítico en el ciclo de vida del desarrollo de software, pero está ausente en varios marcos populares. Tanto MetaGPT como AgentVerse admiten capacidades de revisión de código, pero MetaGPT va un paso más allá. También incorpora la ejecución previa a la compilación, lo que ayuda en la detección temprana de errores y eleva la calidad del código. Dada la naturaleza iterativa de la codificación, esta función no es solo un complemento, sino un requisito para cualquier marco de desarrollo maduro.
Experimentos cuantitativos realizados en varias tareas revelaron que MetaGPT superó a sus contrapartes en casi todos los escenarios. Pass@1 es una medida de la capacidad del marco para generar código preciso en una sola iteración. Esta métrica ofrece una reflexión más realista de la utilidad del marco en un entorno práctico. Una tasa más alta de Pass@1 significa menos depuración y más eficiencia, lo que impacta directamente los ciclos de desarrollo y los costos. Cuando se compara con otras herramientas avanzadas de generación de código como CodeX, CodeT y incluso GPT-4, MetaGPT superó a todos. La capacidad del marco para lograr una tasa de Pass@1 del 81.7% al 82.3% en los benchmarks HumanEval y MBPP.

Comparación de Métricas MBPP y HumanEval entre MetaGPT y otros Modelos Líderes (https://arxiv.org/pdf/2308.00352.pdf)
El marco también utiliza menos tokens y recursos computacionales, logrando una alta tasa de éxito a una fracción de los costos tradicionales de ingeniería de software. Los datos indicaron un costo promedio de solo $1.09 por proyecto con MetaGPT, lo que es solo una fracción de lo que un desarrollador cobraría por la misma tarea.
Pasos para Instalar MetaGPT en su Sistema de Forma Local
Instalación de NPM y Python
- Verificar e Instalar NPM: Primero, asegúrese de que NPM esté instalado en su sistema. Si no es así, necesitará instalar node.js. Para verificar si tiene npm, ejecute este comando en su terminal:
npm --version. Si ve un número de versión, está listo. - Para instalar
mermaid-js, una dependencia para MetaGPT, ejecute:sudo npm install -g @mermaid-js/mermaid-clionpm install -g @mermaid-js/mermaid-cli - Verificar la Versión de Python: Asegúrese de que tenga Python 3.9 o superior. Para verificar su versión de Python, abra su terminal y escriba:
python --version. Si no está actualizado, descargue la versión más reciente desde el sitio web oficial de Python. - Clonar el Repositorio de MetaGPT: Comience clonando el repositorio de GitHub de MetaGPT utilizando el comando
git clone https://github.com/geekan/metagpt. Asegúrese de tener Git instalado en su sistema para esto. Si no es así, visite aquí. - Navegar al Directorio: Una vez clonado, navegue al directorio de MetaGPT utilizando el comando
cd metagpt. - Instalación: Ejecute el script de configuración de Python para instalar MetaGPT con el comando
python setup.py install. - Crear una Aplicación: Ejecute
python startup.py "INGRESE-PROMPT" --code_review True
Nota:
- Su nuevo proyecto debería estar ahora en el directorio
workspace/. --code_review Truepermitirá que el modelo GPT realice operaciones adicionales que asegurarán que el código se ejecute con precisión, pero tenga en cuenta que costará más.- Si encuentra un error de permiso durante la instalación, intente ejecutar
python setup.py install --usercomo alternativa. - Para acceder a versiones específicas y más detalles, visite la página de lanzamientos de MetaGPT en GitHub: Lanzamientos de MetaGPT.
Instalación con Docker
Para aquellos que prefieren la contenerización, Docker simplifica el proceso:
- Descargar la Imagen de Docker: Descargue la imagen oficial de MetaGPT y prepare el archivo de configuración:
docker pull metagpt/metagpt:v0.3.1mkdir -p /opt/metagpt/{config,workspace}docker run --rm metagpt/metagpt:v0.3.1 cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml
vim /opt/metagpt/config/key.yaml
- Ejecutar el Contenedor de MetaGPT: Ejecute el contenedor con el siguiente comando:
docker run --rm --privileged \-v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \-v /opt/metagpt/workspace:/app/metagpt/workspace \metagpt/metagpt:v0.3.1 \python startup.py "Crear un juego de piedra, papel y tijeras interactivo y simple en CLI" --code_review True
Configuración de MetaGPT con su Clave de API de OpenAI
Después de la configuración inicial, necesitará integrar MetaGPT con su clave de API de OpenAI. Aquí están los pasos para hacerlo:
- Ubicar o Generar su Clave de OpenAI: Puede encontrar esta clave en su panel de control de OpenAI bajo la configuración de API.
- Establecer la Clave de API: Tiene la opción de colocar la clave de API en
config/key.yaml,config/config.yamlo establecerla como una variable de entorno (env). El orden de precedencia esconfig/key.yaml > config/config.yaml > env. - Para establecer la clave, navegue a
config/key.yamly reemplace el texto de marcador de posición con su clave de API de OpenAI:OPENAI_API_KEY: "sk-..."
Recuerde proteger su clave de API de OpenAI. Nunca la comprometa en un repositorio público ni la comparta con personas no autorizadas.
<h2/ilustración de Caso de Uso
Le di el objetivo de desarrollar un juego de piedra, papel y tijeras basado en CLI, y MetaGPT ejecutó con éxito la tarea.
A continuación se muestra un video que muestra la ejecución real del código de juego generado.
Demo de MetaGPT
MetaGPT proporcionó un documento de diseño del sistema en Markdown, un lenguaje de marcado ligero comúnmente utilizado. Este archivo de Markdown estaba lleno de diagramas UML, ofreciendo una visión granular del plano arquitectónico. Además, las especificaciones de API se detallaron con métodos HTTP, puntos de conexión, objetos de solicitud y respuesta, y códigos de estado
El diagrama de clases detalla los atributos y métodos de nuestra clase Juego, proporcionando una abstracción fácil de entender. Incluso visualiza el flujo de llamadas del programa, convirtiendo ideas abstractas en pasos tangibles.
No solo reduce significativamente la carga manual en la planificación, sino que también acelera el proceso de toma de decisiones, asegurando que su canal de desarrollo permanezca ágil. Con MetaGPT, no solo está automatizando la generación de código, sino también la planificación de proyectos inteligentes, lo que proporciona una ventaja competitiva en el desarrollo de aplicaciones rápidas.
Conclusión: MetaGPT—Revolutionando el Desarrollo de Software
MetaGPT redefine el panorama de la inteligencia artificial generativa y el desarrollo de software, ofreciendo una fusión sin problemas de automatización inteligente y gestión de proyectos ágiles. Superando con creces las capacidades de ChatGPT, AutoGPT y los modelos de cadena de lenguaje tradicionales, sobresale en la descomposición de tareas, la generación de código eficiente y la planificación de proyectos. Aprenda más sobre
Aquí están las conclusiones clave de este artículo:
- El Poder de la Metaprogramación: Al emplear la metaprogramación, MetaGPT proporciona un marco de software ágil y adaptable. Trasciende la funcionalidad limitada de las herramientas heredadas e introduce un enfoque transformador que maneja no solo la codificación, sino también los aspectos de gestión de proyectos y toma de decisiones.
- Arquitectura de Dos Capas: Con sus capas fundamentales y de colaboración, MetaGPT crea efectivamente un ecosistema sinérgico donde los agentes pueden trabajar en conjunto, similar a un equipo de software expertamente gestionado.
- Revisión de Código Optimizada: Más allá de simplemente generar código, MetaGPT ofrece características de ejecución previa a la compilación, que es esencialmente un sistema de alerta temprana para errores. Esto no solo ahorra tiempo de depuración, sino que también garantiza la calidad del código.
- Agentes Cognitivos: Los agentes inteligentes de MetaGPT, llenos de funciones cognitivas como
_observe(),_think()y_publish_message(), evolucionan y se adaptan, asegurando que su solución de software no solo esté codificada, sino que sea ‘inteligente’. - Instalación y Despliegue: Hemos ilustrado que MetaGPT se puede configurar fácilmente, ya sea mediante una instalación local con npm y Python, o mediante contenerización con Docker.















