Utilice ChatDev ChatChain para la comunicación con los agentes en IBM watsonx.ai

Autores

Vanna Winland

AI Advocate & Technology Writer

En este tutorial, demostramos cómo crear un sistema de IA colaborativo mediante la infraestructura de ChatDev y exploraremos su estructura de comunicación de agentes basada en roles, ChatChain. ChatDev utiliza agentes de IA con roles asignados para simular una empresa de software virtual. Cada agente inteligente colabora con otros a través de una comunicación estructurada, siguiendo un flujo de trabajo secuencial basado en fases del ciclo de vida del desarrollo de software.

Para potenciar estos agentes, integramos IBM® watsonx.ai, la interfaz de programación de aplicaciones (API), como backend modelo. Mediante una integración de watsonx.ai con Hugging Face, configuramos el marco para usar Llama-4-Maverick y generar una solución de software simple. Este ejemplo sirve como base para explorar ChatChain y otros mecanismos internos de comunicación de agentes que guían el comportamiento y la toma de decisiones de los agentes a lo largo del flujo de trabajo. 

Al final de este tutorial, debería tener experiencia práctica en la configuración y ejecución de ChatDev, y una comprensión más clara de cómo los protocolos de comunicación de los agentes permiten una colaboración multiagente eficaz y confiable.

IA colaborativa: sistemas de inteligencia artificial diseñados para trabajar junto con humanos o agentes de IA, a menudo mediante el uso de aprendizaje profundo u otras técnicas avanzadas para permitir la cooperación, la toma de decisiones compartida y la resolución conjunta de problemas para lograr objetivos comunes. 

Colaboración multiagente: múltiples agentes autónomos que comparten información y se coordinan para lograr un objetivo compartido. Estos agentes pueden tener diferentes niveles de conocimiento, capacidades y perspectivas, y su colaboración a menudo implica negociación, planificación y acción coordinada.

Agentes de juego de roles: agentes de IA que simulan roles o personajes específicos para interactuar y colaborar de manera orientada a objetivos. Estos roles pueden reflejar profesiones o personajes del mundo real, lo que permite interacciones más conscientes del contexto y basadas en propósitos. 

Protocolos de comunicación de agentes: estándares o infraestructura que definen cómo los agentes de IA interactúan entre sí mediante el intercambio de mensajes de datos estructurados. Estos protocolos rigen el formato, la semántica y las reglas de comunicación para los agentes que se coordinan dentro de sistemas multiagente.

IA colaborativa en Chatdev

ChatDev es una implementación basada en roles de IA colaborativa, donde los agentes individuales asumen roles especializados para trabajar hacia un objetivo compartido. Este diseño refleja los principios de la inteligencia colectiva (esencialmente, una colaboración eficaz) y posiciona a ChatDev como un recurso valioso para estudiar y avanzar en este campo.

ChatDev es una infraestructura de código abierto multiagente desarrollada por OpenBMB, una iniciativa impulsada por la investigación centrada en el avance de las herramientas de IA y la inteligencia artificial general (AGI). La infraestructura utiliza el proceso de desarrollo de software como un dominio práctico para estudiar agentes de IA. Cada agente está impulsado por un modelo de lenguaje grande (LLM) y se le da una instrucción para asumir roles específicos, como director ejecutivo (CEO), director de tecnología (CTO), diseñador, evaluador y programador.1

A partir de una entrada breve y descriptiva del usuario, estos agentes colaboran para diseñar, implementar y probar iterativamente un proyecto de software completo. Cada agente se implementa como una clase de Python que se comunica secuencialmente mediante instrucciones estructuradas en lenguaje natural. Estas instrucciones siguen plantillas predefinidas que incluyen el rol del agente, las instrucciones específicas de la tarea y el contexto relevante de interacciones anteriores. Esta estrategia de plantillas ayuda a garantizar la continuidad y la coherencia mediante la incorporación de la identidad del rol y la memoria compartida dentro de la instrucción misma.

El equipo de agentes especializados de ChatDev trabaja en conjunto para generar una solución de software simple a partir de una entrada de usuario de una línea que describe su idea. 

Entrada del usuario: 'Crear una lista de tareas pendientes' → El CEO delega al CTO → El CTO asigna al desarrollador → El desarrollador escribe el código → El evaluador valida

Cómo funciona ChatDev

Las interacciones de los agentes están orquestadas por ChatChain, la lógica de coordinación personalizada dentro de la infraestructura de ChatDev. La comunicación entre agentes se produce a través de un diálogo de varios turnos, o sistema de paso de mensajes, donde los agentes intercambian secuencialmente mensajes JSON estructurados. Estos mensajes representan salidas y actualizaciones de contexto y actúan como un búfer de memoria compartido, lo que permite a los agentes aprovechar los resultados de los demás a lo largo de las fases de desarrollo.

Esta arquitectura permite una comunicación coherente y una colaboración consciente del contexto mediante la combinación de lenguajes naturales y de programación para completar el proyecto de principio a fin. El proceso se basa en la comunicación coordinada entre múltiples agentes, con mecanismos internos que actúan como protocolos para orquestar una comunicación eficaz entre los agentes de IA para completar cada fase. 

Los usuarios pueden monitorear y revisar el flujo de trabajo mediante la herramienta Visualizer de ChatDev, una interfaz web basada en Flask que admite tanto el análisis posterior a la ejecución como el monitoreo en tiempo real. El visualizador proporciona varios modos, como un visor de registros para inspeccionar las interacciones de los agentes en tiempo real, un visor de repetición para visualizar los registros de conversaciones multiagente guardados y un visor de ChatChain para examinar el flujo de coordinación de tareas. Esta interfaz interactiva permite a los usuarios depurar, experimentar y estudiar la colaboración multiagente a través de un entorno estructurado a través de un navegador local.

Nota sobre la compatibilidad de modelos y la variabilidad de resultados

Este tutorial utiliza una versión personalizada de ChatDev adaptada específicamente para la API de IBM watsonx.ai. Si bien el núcleo de ChatDev admite múltiples proveedores de modelos, esta versión se modificó mediante el uso de un enfoque pragmático de "vibe coding", lo que lo hace funcional pero no probado exhaustivamente en todos los escenarios.

Las adaptaciones clave incluyen:

  • Envolver la API de IBM watsonx.ia para que se ajuste a la interfaz LLM esperada de ChatDev.

  • Ajustar las plantillas de instrucciones para que funcionen con los requisitos de token y formato de la API de IBM watsonx.ai

  • Modificar la lógica de selección de modelos para admitir IBM watsonx.ai como opción de backend de modelo de IA.

Esta implementación demuestra cómo se puede ampliar ChatDev para admitir proveedores de LLM alternativos. Otros proveedores de modelos (por ejemplo, OpenAI, Ollama) no se han probado con esta versión personalizada de ChatDev y requerirían ajustes a nivel de código.

Al igual que con muchos flujos de trabajo de IA generativa, el resultado puede variar entre ejecuciones. Si bien los agentes generalmente producen código y documentación coherentes y bien estructurados, las aplicaciones resultantes pueden requerir un refinamiento manual para volverse completamente funcionales. Factores como el diseño de instrucciones, la complejidad de las tareas y la variabilidad inherente de las respuestas de LLM contribuyen a esta imprevisibilidad.

Este tutorial sirve como introducción práctica a los sistemas colaborativos multiagente, centrándose en cómo los agentes se comunican y coordinan dentro de ChatDev. No pretende ser una solución lista para la producción, sino una base para el aprendizaje, la experimentación y explorar la colaboración de agentes impulsada por LLM. Agradecemos a los investigadores detrás de ChatDev por hacer posible este tipo de exploración mediante su trabajo de código abierto.

Pasos

Paso 1. Configure su entorno

Si bien ChatDev está diseñado para ser multiplataforma, los usuarios pueden encontrar problemas específicos de la plataforma durante la configuración o la ejecución. Por ejemplo, PowerShell en Windows puede requerir ajustes en los comandos de shell destinados a sistemas basados en Unix. Las variaciones en el sistema operativo, las versiones de Python y las arquitecturas de CPU también pueden afectar el rendimiento o el comportamiento. Para ayudar a garantizar una configuración y usabilidad fluidas, los usuarios deben consultar la documentación oficial de ChatDev y las guías de instalación para la resolución de problemas y las instrucciones específicas del entorno.

Con eso en mente, comencemos por configurar el entorno para ejecutar la aplicación. Puede seguir estos pasos en el archivo Markdown dentro de la carpeta del proyecto en GitHub o aquí. 

  1.  Asegúrese de tener Python 3.11 instalado en su sistema.
    > Puede verificar su versión de Python utilizando el comandopython3 –-version
  2. Clone el repositorio de GitHub.
    > Para conocer los pasos detallados sobre cómo clonar un repositorio, consulte la documentación de GitHub
  3. Verifique que la estructura del proyecto se asemeje a la siguiente:
tutorials/projects/chatdev_watsonx/ 
   
├── camel/ 
│   ├── model_backend.py  # Unified interface for interacting with multiple AI models 
│   ├── typing.py         # Defines various type classes including supported AI models  
│   ├── configs.py        # Defines the model parameters based on model interface 
│   ├── utils.py          # Various utility functions including model token limit configuration 
│   └── ... 
├── Visualizer/ 
│   └──app.py             # Runs a Flask application in a local web browser to view logs and ChatChain  
├── WareHouse             # Where the generated software is saved  
├── run.py                # Application entry point 
└── chatdev_watsonx.md    # A markdown version of this tutorial

Paso 2. Obtenga las credenciales de la API de watsonx

  1. Inicie sesión en watsonx.ai con su cuenta de IBM Cloud.
  2. Cree un proyecto watsonx.ai. >Tome nota de su ID de proyecto en proyecto > Gestionar > General > ID de proyecto. 
    Necesitará este ID para este tutorial.
  3. Cree una instancia de servicio watsonx.ai Runtime (elija el plan Lite, que es una instancia gratuita).
  4. Genere una clave de API de watsonx.
  5. Asocie el servicio watsonx.ai Runtime al proyecto que creó en watsonx.ai

Paso 3. Cree un entorno virtual

Desde el directorio de proyectos del tutorial, cree un entorno virtual mediante Python 3.11:

  python3.11 -m venv venv 
  source venv/bin/activate

Paso 4. Instale requirements.txt

Esto instala las dependencias del proyecto.

  pip install -r requirements.txt 

Paso 5. Establezca variables de entorno para la integración de LLM

La variable está configurada para la sesión actual del terminal (cerrar el terminal los restablecerá).

Aunque este tutorial utiliza IBM watsonx.ai como modelo de backend, la infraestructura de ChatDev se diseñó originalmente para admitir múltiples proveedores de LLM, incluyendo un OpenAI predeterminado. Algunas partes del código base (por ejemplo, la lógica de selección de modelos o las interfaces compartidas) siguen haciendo referencia a la variable de entornoOPENAI_API_KEY . Para evitar errores de tiempo de ejecución, se requiere un valor ficticio incluso si no se utiliza OpenAI. 

export OPENAI_API_KEY="your_openai_api_key_or_dummy_value" 
export WATSONX_URL="https://us-south.ml.cloud.ibm.com" 
export WATSONX_APIKEY="your_watsonx_api_key" 
export WATSONX_PROJECT_ID="your_watsonx_project_id"

Paso 6. (Opcional) Ejecute la aplicación del visualizador para la interfaz de ChatDev

Opcionalmente, puede ejecutar Visualizer de ChatDev, una GUI basada en Flask que le permite inspeccionar los registros de los agentes en tiempo real, explorar el flujo de trabajo de ChatChain o repetir los diálogos de agentes guardados. Esta herramienta es útil para depurar, monitorear o estudiar las interacciones de los agentes, pero no es necesaria para ejecutar el flujo de trabajo multiagente principal de ChatDev.

Para iniciar el visualizador, primero instale Flask:

pip install flask

 

Luego, ejecute la aplicación: 

python visualizer/app.py

 

Una vez ejecutado, abra un navegador y vaya a: https://127.0.0.1:8000/

Paso 7. (Opcional) Configuración de LLM

Nota: Este tutorial utiliza una versión de ChatDev que está preconfigurada para usar la API de IBM watsonx.ai como backend del modelo. No se requiere ninguna configuración adicional ni cambios en la configuración del modelo para que el tutorial funcione correctamente. Si bien es personalizable, la modificación de las configuraciones de LLM puede derivar en resultados incompletos, incorrectos y variados.

ChatDev se basa en la infraestructura CAMEL, que gestiona los roles de los agentes, las tareas y las interacciones con los modelos de lenguaje. La implementación original utiliza la API de OpenAI como backend del modelo para interactuar con los modelos ChatGPT, como GPT-4, y utiliza GPT-3.5-turbo de forma predeterminada. El proyecto de código abierto también está diseñado para admitir múltiples modelos de proveedores de LLM a través de una interfaz de modelo unificada.

Omita este paso si tiene previsto utilizar la configuración predeterminada de IBM watsonx.ai. Para la experimentación, el tipo de modelo, los parámetros y los límites de token se pueden ajustar para que funcionen con la API de IBM watsonx.ai.

  • Tipo de modelo

Para experimentar con diferentes tipos de modelos, actualice la entradaWATSONX en elModelType enum encamel/typing.py

# camel/typing.py 

class ModelType(Enum):
WATSONX = "meta-llama/llama-4-maverick-17b-128e-instruct-fp8" # Model identifier used by the Watsonx APIThe model parameters can be configured within camel/configs.py under the WatsonxConfig data class.

 

  • Parámetros del modelo

Los parámetros del modelo se pueden configurar dentro decamel/configs.py  bajo la clase de datos WatsonxConfig  .

# camel/configs.py 
 
@dataclass(frozen=True) 
class WatsonxConfig: 
     """Defines the parameters for generating completions using watsonx.ai models.""" 
   
     temperature: float = 0.3 
     top_k: int = 100 
     top_p: float = 0.0

 

  • Límite de token

El límite de token para el modelo se puede configurar encamel/utils.py .zip

# camel/utils.py 
 
def get_model_token_limit(model: ModelType) -> int: 
     if model == ModelType.WATSONX: 
         return 128000  # Token limit for Watsonx.ai models

Paso 8. Ejecute el script para generar una aplicación

Este paso ejecuta el flujo de trabajo principal de ChatDev. Cuando ejecute este script, los agentes simularán un proceso de desarrollo de software colaborativo basado en su entrada. El código generado, la documentación y los artefactos relacionados se guardarán en el directorio WareHouse del proyecto. Puede inspeccionar registros o repetir conversaciones mediante Visualizer.

El script toma los siguientes argumentos:

  • –-task : La descripción de la solución de software deseada

  • –-name : el nombre de la aplicación o proyecto

  • –-model : el modelo de IA que se va a utilizar (debe configurarseWATSONX para este tutorial)

Ejemplo de script:

python3 run.py --task "Build a simple website using Flask for a local bookstore called 'Turn the Page'. The website should include a homepage, an about page, and a product page. " --name "bookstore-site" --model "WATSONX"

Nota: Aunque la arquitectura de ChatDev es extensible, esta versión del tutorial solo funciona de manera confiable conWATSONX . Extenderlo para usar otros proveedores de LLM requiere modificar la interfazcamel/model_backend.py y la lógica de configuración relacionada.

Resultado de ejemplo

El producto de software final se guarda en la carpetaWareHouse, en un subdirectorio con el nombre del proyecto, el nombre de la organización predeterminada y una marca de tiempo.

Un resultado típico podría verse así:

├── WareHouse/ 
└── bookstore-site_DefaultOrganization_20250506162935/ 
     ├── templates/      # Web page templates 
     │   └── about.html 
     │   └── index.html 
     │   └── products.html 
     ├── manual.md      # The project’s README with instructions to run the software 
     ├── main.py        #The main application file for the website 
     ├── requirements.txt          # Project dependencies 
     ├── ChatChainConfig.json      # System design for collaborative agent workflows 
     ├── RoleConfig.json       # System prompts for agent roles 
     ├── PhaseConfig.json      # System prompts for phases 
     └── bookstore-site_DefaultOrganization_20250506162935.log  # Log of the agent dialogue

El resultado puede variar entre ejecuciones debido a la naturaleza probabilística de las herramientas de IA generativa.

Este directorio contiene un proyecto de software completo generado por agentes de IA. Junto con el código y la documentación de la aplicación, encontrará archivos de configuración que definen:

  • Roles del agente (RoleConfig.json)

  • Fases de desarrollo (PhaseConfig.json)

  • Flujo de trabajo del agente (ChatChainConfig.json)

  • Un registro de diálogo que se puede volver a colocar en Visualizer de ChatDev

Para ejecutar la aplicación, siga las instrucciones de la pantallamanual.md .zip

Captura de pantalla que muestra la pantalla "Chatdev"

Cómo maneja ChatDev la comunicación con los agentes

La interoperabilidad de los agentes se refiere a la capacidad de los agentes autónomos para comprender, comunicarse y colaborar de manera efectiva mediante el uso de un protocolo o estándar compartido. Esta capacidad es esencial para escalar sistemas de IA agentiva en todas las tareas, integrar grandes conjuntos de datos y resolver problemas complejos de forma cooperativa.

Los sistemas multiagente a menudo utilizan protocolos de comunicación de agente (ACP), que proporcionan estándares para la comunicación de agente a agente, pero utilizan mecanismos de comunicación interna como lenguajes de comunicación de agente (ACL), como KQML o FIPA-ACL. Estos definen "actos comunicativos" estándar (por ejemplo, informar, solicitar, consultar) para permitir el diálogo estructurado y la coordinación en entornos dinámicos.

Sin embargo, ChatDev adopta un enfoque diferente. Logra la interoperabilidad de los agentes a través de ChatChain, un mecanismo de comunicación que estructura el flujo de trabajo de coordinación de agentes. ChatChain gestiona un flujo de información sincrónico y por turnos entre agentes a lo largo de todas las etapas del proceso de desarrollo de software. Si bien no se basa en ACL formales, ChatChain facilita un intercambio similar a un protocolo mediante el uso de convenciones optimizadas para LLM.

La comunicación con los agentes de ChatDev se basa en:

  • Plantillas de instrucciones: al inicio de cada fase, cada uno de los agentes participantes recibe un mensaje estructurado con su rol, tarea actual e historial de conversación relevante. ChatDev utiliza una instrucción inicial para integrar esta información directamente en la instrucción, lo que ayuda a mantener la coherencia y la alineación de objetivos en todas las interacciones.

  • Formatos de mensajes estructurados: los agentes se comunican a través de mensajes JSON estructurados que codifican salidas y actualizaciones de contexto. Esto permite un intercambio de datos y una trazabilidad constantes en todo el flujo de trabajo.

  • Acondicionamiento de roles: cada agente se inicializa con una instrucción que refuerza su rol asignado, incluyendo responsabilidades, metas y expectativas conductuales, una estrategia clave en la desalucinación comunicativa.

En conjunto, estos mecanismos forman una infraestructura ligera y escalable que permite a ChatDev generar software de forma colaborativa a partir de una única instrucción. Esto ilustra cómo la colaboración estructurada basada en LLM puede estimular los flujos de trabajo tradicionales de múltiples agentes.

ChatChain

ChatChain es el mecanismo de comunicación central en ChatDev, que orquesta la secuencia de interacciones de los agentes a lo largo del flujo de trabajo de desarrollo de software. Estructura la colaboración en un proceso iterativo similar a una cadena compuesto por distintas fases, cada una con objetivos y patrones de comunicación específicos.

Durante cada fase, ChatChain inicia un diálogo de agente dual entre dos agentes específicos del rol (por ejemplo, CEO y CTO, programador y revisor). Uno suele actuar como instructor y el otro como asistente. Estos intercambios estructurados y multiturno agilizan la toma de decisiones colaborativa al tiempo que preservan la claridad en roles y responsabilidades claramente definidos. Las instrucciones para cada fase incorporan instrucciones de tareas, identidad de roles y contexto relevante para guiar la interacción.

El flujo de trabajo general de ChatDev sigue un modelo en cascada modificado, una metodología tradicional de ingeniería de software que divide las tareas en tres fases secuenciales: diseño, programación y pruebas. Las fases de programación y prueba se dividen en subtareas para reflejar un proceso de desarrollo iterativo.

De forma predeterminada, ChatChain divide el flujo de trabajo en los siguientes pasos ordenados y automatizados:

  1. Análisis de la demanda: defina la estructura y los componentes clave de la aplicación. 

  2. Selección de idioma: decida qué lenguaje de programación usar para crear y ejecutar el software.

  3. Programación: los agentes escriben el código para crear la aplicación.

  4. CodeCompleteAll: complete el código, incluidas las funciones o clases que faltan.

  5. CodeReview: revise y modifique el código para la funcionalidad.

  6. Prueba: ejecute el software y modifique el código en función del informe de prueba.

  7. EnvironmentDoc: documente el entorno.

  8. Manual: documente y escriba un manual para la aplicación.

Cada fase está definida por un objeto de configuración que especifica atributos que definen su comportamiento y propiedades. Por ejemplo, el atributoneed_reflect desencadena una reflexión posterior a la fase en la que los agentes analizan y refinan los resultados de la interacción anterior.

Captura de pantalla que muestra el diagrama de Chatchain

Instrucción de inicio

Para guiar la comunicación adecuada entre los agentes, ChatDev utiliza instrucciones de inicio como estrategia de inicialización del agente antes de cada ronda de subtareas. Las instrucciones iniciales son una técnica de ingeniería rápida que se puede utilizar para integrar roles, objetivos y responsabilidades para una comunicación eficaz con los agentes.

Veamos un ejemplo de cómo las instrucciones iniciales guían a dos agentes para iniciar, mantener y concluir una subtarea. 

Ejemplo de instrucciones de inicio en ChatDev

Antes de cada subtarea, cada agente recibe indicaciones como parámetros que definen instrucciones, características, responsabilidades y objetivos específicos de su rol. Dos ejemplos incluyenassistant_role_prompt Yuser_role_prompt . Estos parámetros definen las funciones y responsabilidades asignadas a cada agente que participa en la conversación, en función del contexto de la tarea.

Estas son las instrucciones del rol del sistema basadas en los roles del agente para el instructor y el agente asistente en la fase LanguageChoose:

// RoleConfig.json 
 

   "Chief Executive Officer": [ 
     "{chatdev_prompt}", 
     "You are Chief Executive Officer. Now, we are both working at ChatDev and we 
     share a common interest in collaborating to successfully complete a task 
     assigned by a new customer.", 
     "Your main responsibilities include being an active decision-maker on users' 
     demands and other key policy issues, leader, manager, and executor. Your 
     decision-making role involves high-level decisions about policy and strategy; 
     and your communicator role can involve speaking to the organization's 
     management and employees.", 
     "Here is a new customer's task: {task}.", 
     "To complete the task, I will give you one or more instructions, and you 
     must help me to write a specific solution that appropriately solves the 
     requested instruction based on your expertise and my needs." 
   ], 
   "Chief Technology Officer": [ 
     "{chatdev_prompt}", 
     "You are Chief Technology Officer. we are both working at ChatDev. We share 
     a common interest in collaborating to successfully complete a task assigned 
     by a new customer.", 
     "You are very familiar to information technology. You will make high-level 
     decisions for the overarching technology infrastructure that closely align 
     with the organization's goals, while you work alongside the organization's 
     information technology (\"IT\") staff members to perform everyday operations.", 
     "Here is a new customer's task: {task}.", 
     "To complete the task, You must write a response that appropriately solves 
     the requested instruction based on your expertise and customer's needs." 
   ],

 

Estas dos instrucciones inicializan el comportamiento deseado del agente describiendo su función, experiencia y responsabilidades. La estrategia de instrucciones también guía el comportamiento y las respuestas de los respectivos roles durante las interacciones al dar instrucciones personalizadas sobre cómo completar la tarea asignada.

La comunicación de los agentes se guía de manera efectiva por instrucciones cuidadosas para ayudar a garantizar que ambos roles tengan expectativas claras y puedan colaborar de manera efectiva.

Desalalucinación comunicativa

Para abordar posibles alucinaciones de programación (generación de código incompleta o incorrecta), ChatDev utiliza un patrón de comunicación llamado desalucinación comunicativa. Este patrón es esencial para estructurar la conversación durante el proceso de revisión de código.

El proceso de revisión de código consta de dos fases:CodeReviewComment YCodeReviewModification Los agentes de comentarios y Programmer realizan iteraciones entre estas dos fases hasta que dos modificaciones consecutivas no cambian, o después de 10 rondas. Veamos un ejemplo de dehallucinación comunicativa de un registro de proyecto.

Ejemplo de dehallucinación comunicativa en ChatDev

En este ejemplo, el agente Code Review detecta un error en los resultados del agente Programmer y lo comunica, junto con una sugerencia para corregir el problema en el código fuente. Luego, el agente Programmer corrige su resultado original en función de esa retroalimentación.

Aquí se muestra parte de los resultados del agente Code Review durante una iteración delCodeReviewComment fase:

/* bookstore-site_DefaultOrganization_20250506162935.log */ 
... 
 
## Step 7: Highest Priority Comment 
A high-priority comment is that the templates directory needs to be created, and 
the HTML files should be placed inside it for the application to find and render 
them correctly. Without this setup, running `app.py` will result in a 
`TemplateNotFound` error because Flask looks for templates in a `templates` 
folder by default. 
 
## Step 8: Instructions for Fixing 
To fix this, create a new directory named `templates` in the same directory 
where `app.py`

 

El agente programador responde con el código corregido durante el siguienteCodeReviewModification fase:

/* bookstore-site_DefaultOrganization_20250506162935.log */ 
 
Here is the list of your developed codes: main.py, index.html, about.html, products.html. 
 
### main.py 
```python 
... 
 
### templates/index.html 
 
```html 
<!-- 
Homepage template for Turn the Page bookstore website. 
Provides navigation links to other pages. 
--> 
... 
 
</html> 
### templates/about.html 
```html 
<!--  About page template for Turn the Page bookstore website. 
Provides information about the bookstore and navigation links. --> 
… 
</html>

 

El revisor de código y el programador continúan refinando el código hasta 10 iteraciones o hasta que se alcanza el consenso después de dos fases de modificación consecutivas e idénticas.

El patrón de desalucinación de la comunicación ayuda a garantizar que el código final sea preciso, y que esté completo y alineado con los requisitos previstos a través del refinamiento iterativo, al tiempo que facilita la finalización efectiva de las subtareas.

Conclusión

En este tutorial, exploramos cómo ChatDev habilita la IA colaborativa mediante la simulación de una empresa de software virtual compuesta por agentes de IA basados en roles. Utilizando la API de IBM watsonx.ai como backend del modelo, ChatDev guía a los agentes a través del ciclo de vida del desarrollo de software mediante el uso de comunicación estructurada tanto en lenguajes naturales como de programación.

Aunque ChatDev no utiliza un protocolo formal de comunicación de agentes, logra la interoperabilidad de los agentes a partir de las habilidades naturales del LLM con técnicas de comunicación de agentes como ChatChain, instrucciones de inicio y desalucinación comunicativa. Esto destaca la importancia de orquestar una comunicación eficaz entre los agentes para una colaboración exitosa y mejorar la calidad de los resultados. 

Con herramientas de visualización integradas para monitorear y repetir las interacciones de los agentes, ChatDev proporciona una plataforma poderosa para estudiar los flujos de trabajo de múltiples agentes y la dinámica de Teamworks. Demuestra el potencial real de la IA colaborativa en la creación de software y más allá.

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