Inteligencia Artificial General
MetaGPT: guía completa del mejor agente de IA disponible ahora mismo

Con modelos de lenguajes grandes (LLM) como ChatGPT, OpenAI ha sido testigo de un aumento en la adopción por parte de empresas y usuarios, recaudando actualmente alrededor de $80 millones en ingresos mensuales. De acuerdo a un su informe más reciente Según The Information, la empresa con sede en San Francisco está en camino de alcanzar los mil millones de dólares en ingresos anuales.
La última vez profundizamos en AutoGPT y GPT-Ingeniería, los primeros agentes de IA de código abierto basados en LLM diseñados para automatizar tareas complejas. Si bien eran prometedores, estos sistemas tenían una buena cantidad de problemas: resultados inconsistentes, cuellos de botella en el rendimiento y limitaciones en el manejo de demandas multifacéticas. Muestran competencia en la generación de código, pero sus capacidades a menudo terminan ahí. Carecen de funcionalidades críticas de gestión de proyectos como generación de PRD, generación de diseño técnico y creación de prototipos de interfaz API.
Entrar MetaGPT— un sistema multiagente que utiliza modelos de lenguaje grande de Sirui Hong fusiona procedimientos operativos estandarizados (SOP) con sistemas multiagente basados en LLM. Este paradigma emergente altera las limitaciones existentes de los LLM para fomentar la colaboración efectiva y la descomposición de tareas en aplicaciones complejas del mundo real.
La belleza de MetaGPT radica en su estructuración. Aprovecha las técnicas de metaprogramación para manipular, analizar y transformar código en tiempo real. ¿El objetivo? Actualizar 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, coordinando a los agentes para que generen código automáticamente según las entradas definidas. En pocas palabras, es como convertir un equipo de ingenieros de software altamente coordinado en un sistema de software adaptable e inteligente.
Comprender el marco MetaGPT

Marco 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 agentes individuales y facilita el intercambio de información en todo el sistema. Introduce componentes básicos como entorno, memoria, roles, acciones y herramientas. El Medio Ambiente prepara 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 experiencia en un dominio específico, las acciones ejecutan tareas modulares y las herramientas ofrecen servicios comunes. Esta capa sirve esencialmente como 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 componentes fundamentales, esta capa gestiona y agiliza los esfuerzos de colaboración de agentes individuales. Introduce dos mecanismos: intercambio de conocimientos y encapsulación de flujos de trabajo.
- El intercambio de conocimientos: Esto actúa como el pegamento colaborativo que une a los agentes. Los agentes pueden almacenar, recuperar y compartir información en distintos niveles, lo que reduce la redundancia y mejora la eficiencia operativa.
- Encapsulando flujos de trabajo: Aquí es donde entran en juego los Procedimientos Operativos Estandarizados (POE). Los SOP actúan como planos que dividen las tareas en componentes manejables. A los agentes se les asignan estas subtareas y su desempeño está alineado con los resultados estandarizados.
MetaGPT también utiliza “Definiciones de roles”para iniciar varios agentes especializados como gerentes de producto, arquitectos, etc., como comentamos anteriormente. Estos roles se caracterizan por atributos clave como nombre, perfil, objetivo, limitaciones y descripción.
Es más, "Agentes anclaProporciona orientación específica para cada rol 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 garantizan que su comportamiento se alinee con los objetivos generales, optimizando así el rendimiento.
Procesos cognitivos en agentes MetaGPT
MetaGPT puede observar, pensar, reflexionar y actuar. Operan a través de funciones conductuales específicas como _think(), _observe(), _publish_message(), etc. Este modelado cognitivo equipa a los agentes para que sean aprendices activos que puedan adaptarse y evolucionar.
- Observar: Los agentes escanean su entorno e incorporan datos clave a su Memoria.
- Piensa y reflexiona: A través de
_think()Función, roles que se deliberan antes de emprender acciones. - Mensajes de difusión: Agentes utilizados
_publish_message()para compartir estados de tareas actuales y registros de acciones relacionadas. - Precipitación del conocimiento y acción: Los agentes evalúan los mensajes entrantes y actualizan sus repositorios internos antes de decidir el próximo curso de acción.
- Administración del Estado: Con características como bloqueo de tareas y actualización de estado, los roles pueden procesar múltiples acciones secuencialmente sin interrupción, reflejando la colaboración humana del 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 AgenteVerso admite capacidades de revisión de código, pero MetaGPT va un paso más allá. También incorpora ejecución de precompilación, lo que ayuda a la detección temprana de errores y posteriormente eleva la calidad del código. Dada la naturaleza iterativa de la codificación, esta característica no es sólo un complemento sino un requisito para cualquier marco de desarrollo maduro.
Los experimentos cuantitativos realizados en varias tareas revelaron que MetaGPT superó a sus homólogos 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 un reflejo más realista de la utilidad de un marco en un entorno práctico. Una tasa de Pass@1 más alta significa menos depuración y más eficiencia, lo que impacta directamente en los ciclos y costos de desarrollo. Cuando se compara con otras herramientas avanzadas de generación de código, como Códice, Código T, e incluso GPT-4, MetaGPT supera todos ellos. La capacidad del marco para lograr un 81.7% a 82.3% Tarifa Pass@1 en evaluación humana y MBPP puntos de referencia.

Comparación de métricas de 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 de ingeniería de software tradicional. Los datos indicaron un costo promedio de apenas $1.09 por proyecto con MetaGPT, que es solo una fracción de lo que cobraría un desarrollador por la misma tarea.
Pasos para instalar MetaGPT localmente en su sistema
NPM, instalación de Python
- Verificar e instalar NPMPrimero, asegúrese de que NPM esté instalado en su sistema. Si no lo está, deberá instalarlo. Node.js. Para verificar si tiene npm, ejecute este comando en su terminal:
npm --versionSi ves un número de versión, estás listo. - Para instalar
mermaid-js, una dependencia para MetaGPT, ejecuta:sudo npm install -g @mermaid-js/mermaid-cliornpm install -g @mermaid-js/mermaid-cli - Verificar la versión de Python: Asegúrese de tener Python 3.9 o superior. Para verificar su versión de Python, abra su terminal y escriba:
python --versionSi no está actualizado, descargue la última versión desde Sitio web oficial de Python. - Clonar el repositorio MetaGPT: Comience clonando el repositorio MetaGPT GitHub usando el comando
git clone https://github.com/geekan/metagpt. Asegúrese de tener Git instalado en su sistema para esto. Si no, visita aqui. - Navegar al directorio: Una vez clonado, navegue hasta el directorio MetaGPT usando el comando
cd metagpt. - Instalación: Ejecute el script de instalación de Python para instalar MetaGPT con el comando
python setup.py install. - Crear una aplicación: ejecutar
python startup.py "ENTER-PROMPT" --code_review True
Nota: :
- Su nuevo proyecto debería estar ahora en el
workspace/directorio. --code_review Truepermitirá que el modelo GPT realice operaciones adicionales que garantizará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 lanzamientos específicos y más detalles, visite la página oficial de lanzamientos de MetaGPT GitHub: Lanzamientos de MetaGPT.
Instalación de la ventana acoplable
Para quienes prefieren la contenedorización, Docker simplifica el proceso:
- Extraiga 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
- Ejecute el contenedor 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 "Create a simple and interactive CLI based rock, paper and scissors game" --code_review True
Configuración de MetaGPT con su clave API OpenAI
Después de la configuración inicial, deberá integrar MetaGPT con su clave API de OpenAI. Estos son los pasos para hacerlo:
- Localice o genere su clave OpenAI: Puede encontrar esta clave en su panel de OpenAI en la configuración de API.
- Establecer la clave API: Tiene la opción de colocar la clave API en cualquiera de los dos
config/key.yaml,config/config.yaml, o configúrelo como una variable de entorno (env). El orden de precedencia esconfig/key.yaml > config/config.yaml > env. - Para configurar la clave, navegue hasta
config/key.yamly reemplace el texto del marcador de posición con su clave OpenAI:OPENAI_API_KEY: "sk-..."
Recuerde salvaguardar su clave API de OpenAI. Nunca lo envíe a un repositorio público ni lo comparta con personas no autorizadas.
Ilustración de caso de uso
Me propuse el objetivo de desarrollar un juego de piedra, papel y tijera basado en CLI y MetaGPT ejecutó la tarea con éxito.
A continuación se muestra un vídeo que muestra la ejecución real del código del juego generado.
Ejecución de demostración de MetaGPT
MetaGPT proporcionó un documento de diseño del sistema en Markdown, un lenguaje de marcado ligero de uso común. Este archivo Markdown estaba repleto de diagramas UML, lo que ofrecía una vista granular del plano arquitectónico. Además, las especificaciones de API se detallaron con métodos HTTP, puntos finales, objetos de solicitud/respuesta y códigos de estado.
El diagrama de clases detalla los atributos y métodos de nuestro Game clase, proporcionando una abstracción que es fácil de entender. Incluso visualiza el flujo de llamadas del programa, convirtiendo efectivamente ideas abstractas en pasos tangibles.
Esto no solo reduce significativamente la sobrecarga manual de la planificación, sino que también acelera la toma de decisiones, garantizando la agilidad de su canal de desarrollo. Con MetaGPT, no solo automatiza la generación de código, sino también la planificación inteligente de proyectos, lo que le proporciona una ventaja competitiva en el desarrollo rápido de aplicaciones.
Conclusión: MetaGPT: revolucionando el desarrollo de software
MetaGPT redefine el panorama de la IA generativa y el desarrollo de software, ofreciendo una combinación perfecta de automatización inteligente y gestión ágil de proyectos. Superando con creces las capacidades de ChatGPT, AutoGPT y los modelos tradicionales LangChain, destaca en la descomposición de tareas, la generación eficiente de código y la planificación de proyectos. Más información en
Estas son las conclusiones clave de este artículo:
- El poder de la metaprogramación: Al emplear metaprogramación, MetaGPT proporciona un marco de software ágil y adaptable. Trasciende la limitada funcionalidad 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 colaborativas, MetaGPT crea efectivamente un ecosistema sinérgico donde los agentes pueden trabajar de manera cohesiva, similar a un equipo de software administrado por expertos.
- Revisión de código optimizado: Más allá de simplemente generar código, MetaGPT ofrece funciones de ejecución de precompilación, que es esencialmente un sistema de alerta temprana de errores. Esto no sólo ahorra tiempo de depuración sino que también garantiza la calidad del código.
- Agentes cognitivosLos agentes inteligentes de MetaGPT, repletos de funciones cognitivas como _observe(), _think() y _publish_message(), evolucionan y se adaptan, lo que garantiza que su solución de software no solo esté codificada, sino que sea "inteligente".
- Instalación e implementaciónHemos demostrado que MetaGPT se puede configurar fácilmente, ya sea que prefiera una instalación local a través de npm y Python, o una contenedorización a través de Docker.















