Creación de una redacción de agentes LLM con protocolo A2A y MCP en Elasticsearch: Parte II

Descubre cómo construir una sala de redacción híbrida especializada para agentes LLM empleando el protocolo A2A para la colaboración de agentes y MCP para el acceso a herramientas en Elasticsearch.

A2A y MCP: el código en acción

Este es el artículo complementario al artículo "¡Creando una redacción para agentes LLM con protocolo A2A y MCP en Elasticsearch!", que explicaba los beneficios de implementar tanto las arquitecturas A2A como MCP dentro del mismo agente para aprovechar realmente los beneficios únicos de ambos frameworks. Hay un repositorio disponible si deseas ejecutar la demo por tu cuenta.

Vamos a repasar cómo colaboran nuestros agentes de redacción empleando tanto A2A como MCP para producir un artículo de noticias. El repositorio adjunto para ver a los agentes en acción se puede encontrar aquí.

Paso 1: Asignación de la historia

El Jefe de Noticias (actuando como cliente) asigna una noticia:

Paso 2: El reportero aplicar investigación

El Agente Reportero reconoce que necesita información de fondo y delega al Agente Investigador mediante A2A:

Paso 3: El reportero aplicar contexto histórico al Agente de Archivo

El Reporter Agent reconoce que el contexto histórico fortalecería la historia. Delega al Agente de Archivo (impulsado por el Agente A2A de Elastic) a través de A2A para buscar en el archivo de artículos impulsado por Elasticsearch de la redacción:

Paso 4: El Agente de Archivo emplea el Agente Elastic A2A con MCP

El Archive Agent emplea el A2A Agent de Elastic, que a su vez emplea MCP para acceder a las herramientas de Elasticsearch. Esto demuestra la arquitectura híbrida donde A2A permite la colaboración entre agentes mientras que MCP proporciona acceso a herramientas:

El Agente de Archivo recibe datos históricos completos del Agente A2A de Elastic y los devuelve al Reportero:

Este paso demuestra cómo el Agente A2A de Elastic se integra en el flujo de trabajo de la redacción. El Agente de Archivo (un agente específico de redacción) coordina con el Agente A2A de Elastic (un especialista externo) para aprovechar las poderosas capacidades de búsqueda y análisis de Elasticsearch. El agente de Elastic emplea MCP internamente para acceder a las herramientas de Elasticsearch, mostrando la separación limpia entre la coordinación del agente (A2A) y el acceso a la herramienta (MCP).

Paso 5: El investigador emplea servidores MCP

El Agente Investigador accede a múltiples servidores MCP para recopilar información:

Paso 6: El investigador devuelve los datos al Reportero

El Agente Investigador envía una investigación exhaustiva de vuelta a través de A2A:

Paso 7: Reportero escribe artículo

El Reporter Agent emplea los datos de investigación y sus propias capacidades de LLM para redactar el artículo. Durante la redacción, el Reportero emplea los servidores MCP para el estilo y las plantillas:

Paso 8: la baja confianza desencadena la re-investigación

El Agente Reportero evalúa su borrador y encuentra que una afirmación tiene baja confianza. Envía otra solicitud al Agente Investigador:

El investigador verifica la afirmación empleando servidores MCP de verificación de hechos y devuelve información actualizada:

Paso 9: El reportero revisa y envía al editor

El Reportero incorpora los hechos verificados y envía el borrador completo al Agente Editor a través de A2A:

Paso 10: Revisiones del editor usando herramientas MCP

El Editor Agent emplea múltiples servidores MCP para revisar el artículo:

El editor aprueba el artículo y lo envía hacia adelante:

Paso 11: El editor publica vía CI/CD

Finalmente, el Agente de Impresora publica el artículo aprobado empleando los servidores MCP para la tubería CMS y CI/CD:

El editor confirma la publicación a través de A2A:

Aquí está la secuencia completa del flujo de trabajo A2A en el repositorio adjunto usando los mismos Agentes descritos anteriormente.

#DeParaAcciónProtocoloDescripción
1UsuarioJefe de NoticiasAsignar historiaHTTP POSTEl usuario presenta la historia, tema y ángulo
2Jefe de NoticiasInternoCrear historia-Crea un registro de historia con un ID único
3Jefe de NoticiasReporteroAsignación de DelegadosA2AEnvía asignación de historia mediante el protocolo A2A
4ReporteroInternoAceptar Asignación-Asignación interna de almacenes
5ReporteroServidor MCPGenerar esquemaMCP/HTTPCrea un esquema de artículos y preguntas de investigación
6AReporteroInvestigadorSolicitud de investigaciónA2AEnvía preguntas (paralelo con 6b)
6bReporteroArchiveroArchivo de búsquedaA2A JSONRPCBusca en artículos históricos (paralelo con 6a)
7InvestigadorServidor MCPPreguntas de investigaciónMCP/HTTPEmplea Anthropic vía MCP para responder preguntas
8InvestigadorReporteroInvestigación de RetornoA2ARespuestas de investigación de retornos
9ArchiveroElasticsearchÍndice de búsquedaES REST APIConsultas news_archive índice
10ArchiveroReporteroArchivo de retornoA2A JSONRPCDevuelve resultados históricos de búsqueda
11ReporteroServidor MCPGenerar artículoMCP/HTTPCrea un artículo con contexto de investigación/archivo
12ReporteroInternoTiro de la tienda-Salvamentos en el draft interno
13ReporteroJefe de NoticiasEnviar BorradorA2AEntrega borrador completado
14Jefe de NoticiasInternoActualización de la historia-Borrador de la tienda, actualiza el estado a "draft_submitted"
15Jefe de NoticiasEditorBorrador de revisiónA2ARutas automáticas al Editor para su revisión
16EditorServidor MCPArtículo de revisiónMCP/HTTPAnaliza contenido usando Anthropic a través de MCP
17EditorJefe de NoticiasReseña de RetornoA2AEnvía comentarios y sugerencias editoriales
18Jefe de NoticiasInternoReseña de la tienda-Comentarios sobre el editor de tiendas
19Jefe de NoticiasReporteroAplicar edicionesA2AComentarios de la revisión de rutas al Reportero
20ReporteroServidor MCPAplicar edicionesMCP/HTTPRevisa el artículo basar en los comentarios
21ReporteroInternoActualización del borrador-Borrador de actualizaciones con revisiones
22ReporteroJefe de NoticiasDevolución revisadaA2AArtículo revisado de declaraciones
23Jefe de NoticiasInternoActualización de la historia-Borrador revisado de las tiendas, estado a "revisado"
24Jefe de NoticiasEditorPublicar artículoA2ARutas automáticas hacia el editor
25EditorServidor MCPGenerar etiquetasMCP/HTTPCrea etiquetas y categorías
26EditorElasticsearchArtículo índiceES REST APIÍndice de artículos a índice news_archive
27EditorSistema de archivosAlmacenar MarkdownE/S de archivosAlmacena el artículo como .md archivo en /articles
28EditorJefe de NoticiasConfirmar publicaciónA2AResultados de éxito
29Jefe de NoticiasInternoActualización de la historia-Actualiza el estado de la noticia a "publicado"

Conclusión

Tanto A2A como MCP tienen papeles importantes en el paradigma moderno de infraestructura de LLM aumentado. A2A ofrece flexibilidad para sistemas complejos multiagente, pero potencialmente menos portabilidad y mayor complejidad operativa. MCP ofrece un enfoque estandarizado para la integración de herramientas que es más sencillo de implementar y mantener, aunque no está diseñado para manejar orquestación multiagente.

La elección no es binaria. Como demuestra nuestro ejemplo de redacción, los sistemas respaldados por LLM más sofisticados y efectivos suelen combinar ambos enfoques: los agentes coordinan y se especializan mediante protocolos A2A mientras acceden a sus herramientas y recursos a través de servidores MCP. Esta arquitectura híbrida ofrece los beneficios organizacionales de los sistemas multiagente junto con los beneficios de estandarización y ecosistema del MCP. Esto sugiere que puede que no sea necesario elegir en absoluto: simplemente usar ambos como un enfoque estándar

Depende de ti, como desarrollador o arquitecto, probar y determinar la mejor combinación de ambas soluciones para crear el resultado adecuado para tu caso de uso específico. Comprender las fortalezas, limitaciones y aplicaciones adecuadas de cada enfoque te permitirá construir sistemas de IA más eficaces, mantenibles y escalables.

Ya sea que estés construyendo una redacción digital, una plataforma de atención al cliente, un asistente de investigación o cualquier otra aplicación impulsada por LLM, considerar cuidadosamente tus necesidades de coordinación (A2A) y requisitos de acceso a herramientas (MCP) te pondrá en el camino hacia el éxito.

Recursos adicionales

Contenido relacionado

¿Estás listo para crear experiencias de búsqueda de última generación?

No se logra una búsqueda suficientemente avanzada con los esfuerzos de uno. Elasticsearch está impulsado por científicos de datos, operaciones de ML, ingenieros y muchos más que son tan apasionados por la búsqueda como tú. Conectemos y trabajemos juntos para crear la experiencia mágica de búsqueda que te dará los resultados que deseas.

Pruébalo tú mismo