Clase 6 — Repaso integral: agentes, FIPA, JADE y esquema de examen
Resumen Ejecutivo
Sesión mixta de repaso (bloques 1 y 2) + introducción a Noxus AI como ejemplo práctico de plataforma de agentes, y desvelado del esquema de examen. El profesor sufrió un corte de luz durante la clase, por lo que hubo una pausa; se compromete a reforzar en próximas sesiones. Contenido clave: capacidades (skills) y tools de agentes, estándar FIPA, arquitectura abstracta, plataforma JADE (licencia LGPL, características), y la arquitectura mínima de cualquier plataforma de agentes. ⚠️ EXAMEN: 10 test × 0,4 pts + 1 desarrollo con 3 subpreguntas × 2 pts. Los errores del test no restan.
Conceptos Clave
- Skill de un agente: Archivo (
.md) o conjunto de instrucciones que dota al agente de conocimiento o habilidades específicas (ej: "usa Java 26 con funciones modernas"). El agente barre una carpetaskills/y activa los relevantes cuando el contexto coincide. - Tool: Capacidad operativa (permiso) que se concede al agente: leer/escribir archivos, acceder a calendar, base de datos, OneDrive, etc. Las tools se definen una vez y se reutilizan entre agentes.
- Plataforma de agentes — arquitectura mínima: ⚠️ EXAMEN
- Runtime donde se ejecutan los agentes.
- Protocolo de comunicación entre agentes y hacia agentes (consumidor ↔ agente, agente ↔ agente).
- Directorio (registry) que permite localizar agentes.
- Capa de exposición (API) que disponibiliza los agentes a consumidores externos.
- FIPA (Foundation for Intelligent Physical Agents): Asociación sin ánimo de lucro que desarrolla normas/especificaciones relativas a tecnología de agentes. Base conceptual de la asignatura. ⚠️ EXAMEN: preguntas por conceptos asociados, nunca por fechas.
- JADE: Plataforma Java de agentes, iniciada en 1998 por Telecom Italia para validar especificaciones FIPA. Liberada en 2000 como open source bajo LGPL. Aunque ya no evoluciona, sigue soportando sistemas misión crítica y sus conceptos son reutilizables.
- LGPL (Lesser GPL): Permite ejecución, copia, distribución, acceso al código fuente y modificación. Se fusiona con código no abierto (a diferencia de GPL pura). Por eso JADE puede ser embebida en productos comerciales.
- Páginas blancas: Servicio de directorio que registra identificadores únicos de agentes. Permite localizar por identidad.
- Páginas amarillas: Servicio de directorio que registra servicios que ofrecen los agentes. Permite localizar por capacidad. ⚠️ EXAMEN
- Comunicación asíncrona basada en mensajes: Forma básica de comunicación entre agentes JADE. Sin dependencia temporal entre emisor y receptor; no requiere la referencia del objeto destino, solo su identidad.
Desarrollo del Temario
1. Skills y tools en agentes
Skill = conocimiento/directrices que se inyectan al agente. Ejemplo real: un skill que fuerce el uso de MQL5 (no MQL4), evitando que la IA use funciones obsoletas de un lenguaje de trading.
Tool = permiso operativo. Ejemplos:
- File system: Read, Write, crear carpetas.
- Integraciones: calendario, OneDrive, base de datos, Excel, web scraping.
Las tools se definen una vez a nivel de plataforma y se asignan a los agentes que las necesiten. Pablo (alumno) explicó la analogía: skills = conocimiento curricular (curso de cocina); tools = herramientas físicas (cuchillo, olla).
2. Noxus AI como ejemplo de plataforma de agentes
Plataforma visual ("low-code") con tres primitivas:
- Flow: Secuencia de pasos para conseguir un objetivo.
- Agent: Worker configurable (modelo LLM, prompt, contexto, error handling).
- Knowledge Base: Repositorio de información no estructurada que se entrega "masticada" al agente.
Capacidades mostradas en clase: - Input multimodal (texto, imagen, audio, fichero). - Selección de modelo LLM (Claude Opus 4.6 en el ejemplo). - Conexión agente → agente: la salida de un agente puede ser otro agente. - Integraciones nativas: BBDD, Bright, Mail, Excel, web research. - Observabilidad: costes, exposición vía API.
Análogo conceptual a Langflow. No obligatorio para la asignatura, pero recomendado para familiarizarse con el paradigma.
3. Bloque 1 (repaso): conceptos fundamentales
- Agente: entidad autónoma, proactiva, con su propio hilo de ejecución. Puede decir no y está débilmente acoplado.
- Knowledge base: fuente de conocimiento del agente.
- MCP (Model Context Protocol): protocolo para exponer herramientas al agente.
- A2A (Agent-to-Agent): protocolo de comunicación entre agentes.
- Arquitecturas reactivas: el sistema actúa ante eventos, sin polling, webhooks o peticiones tradicionales.
- Arquitecturas en capas / híbridas: distintas estrategias de organización de agentes.
- Event-driven: equivalente a sistemas de eventos tipo Windows; los agentes se suscriben a sucesos.
4. Bloque 2 (repaso): FIPA y arquitectura abstracta
FIPA define cómo dos agentes deben poder localizarse y comunicarse registrándose e intercambiando mensajes, a un nivel abstracto independiente de la implementación.
Componentes de una plataforma FIPA: - Máquinas + sistemas operativos. - Componentes de middleware de agentes. - Los propios agentes. - Facilitadores de directorio (DF). - Sistemas de gestión de agentes (AMS). - Sistemas de transporte de mensajes (MTS). - Software de apoyo.
Arquitectura FIPA 2000: permite interoperabilidad completa a través de pasarelas con sistemas construidos previamente.
Especificaciones FIPA relevantes: no se piden de memoria, pero se debe conocer su existencia. Análogo a ISO (ej: ISO 27001, mandatoria de facto en empresas).
5. JADE: características técnicas clave
| Característica | Detalle |
|---|---|
| Lenguaje | Java (API orientada a objetos, sencilla y amigable) |
| Licencia | LGPL (open source, permite fusión con software propietario) |
| Red | Transparente: los agentes en distintas máquinas se comunican sin gestionar infraestructura |
| Cumplimiento | Pleno cumplimiento FIPA, usado como middleware en muchas plataformas |
| Mensajería | Asíncrona; mensajes salen/entran de la plataforma con conversión automática de representación |
| Optimización | La plataforma decide cuándo no hace falta empaquetar/desempaquetar mensajes |
| Directorios | Páginas blancas (por ID) + páginas amarillas (por servicio). Soporta sistemas federados con grafo de dominios |
| Ciclo de vida | API para gestionar fase de desarrollo, activación, versionado, publicación, entre entornos (dev/stg/prod) |
| Movilidad | Soporta migración de código + estado entre máquinas; las comunicaciones no se pierden durante la migración |
| Suscripción | Agentes (y apps externas) pueden suscribirse a eventos de la plataforma |
| Observabilidad | Herramientas gráficas para supervisión, emulación, depuración y control remoto |
| Contenido | Soporta ontologías y lenguajes de contenido extendidos |
| Arquetipos | Esqueletos de proyecto para facilitar desarrollo |
| Protocolos | Conjuntos de protocolos de interacción típicos, modelados como máquinas de estados concurrentes |
| Integración web | Compatible con Applets, JSP, Servlets, servidores web |
| Reducidos | Soporta J2ME (móviles con recursos limitados) vía filtro de composición especial |
6. Arquitectura mínima que construirías tú
Pregunta en clase: "¿cómo construiríais una plataforma de agentes?" Respuesta consolidada (Adrián + Francisco Javier + Marta): ⚠️ EXAMEN
- Runtime para ejecución.
- Protocolo de comunicación entre agentes y hacia agentes.
- Directorio (registry) tipo páginas blancas y amarillas.
- API de exposición para que los consumidores sepan cómo invocar los agentes.
7. Próximos bloques (avance)
- Bloque 3: visión artificial / procesamiento de imágenes con IA (robótica, QR, firmas).
- Bloque 4: segmentación de imágenes digitales, reconocimiento de formas, procesamiento de lenguaje natural.
⚠️ EXAMEN — Estructura definitiva
El profesor confirmó el formato:
- Tipo test: 10 preguntas × 0,4 puntos = 4 puntos. Los errores no restan.
- Desarrollo: 1 situación/escenario real con 3 subpreguntas × 2 puntos = 6 puntos. Puede requerir algo de código en alguna subpregunta, pero no es imprescindible.
Ejemplo de pregunta test mostrado en clase (tema aún no impartido, sobre compresión de vídeo): 4 opciones clásicas.
El profesor insiste: las preguntas test se centran en conceptos aplicados, no en datos memorizables como años o siglas.
Debate lateral: ¿la IA ayuda más a junior o a senior?
Discusión viva en clase (no entra en examen, pero refleja posición del profesor):
- Profesor (+ Pablo secunda parcialmente): la IA ayuda más a los seniors cuando el objetivo es programar (saber guiarla, detectar el error, iterar con criterio).
- Pablo (contra-argumento): para quien busca desarrollar una aplicación (no programar), la IA habilita a perfiles sin conocimiento profundo del lenguaje; la clave es algoritmia y arquitectura, no la sintaxis.
- Conclusión práctica: la IA produce prototipos rápidos, pero para producción mantenible hacen falta bases sólidas de arquitectura, patrones y redes. Analogía del carpintero: herramientas manuales vs eléctricas.
Preguntas de Autoevaluación
- ¿Qué es un skill en el contexto de un agente? Conjunto de instrucciones/conocimiento (típicamente en
.md) que el agente activa para seguir directrices concretas en un dominio. - ¿Qué es una tool? Permiso operativo concreto (leer archivo, acceder a BBDD, enviar email). Se define una vez y se comparte entre agentes.
- Enumera los 4 componentes mínimos de una plataforma de agentes. Runtime, protocolo de comunicación, directorio, API de exposición.
- ¿Qué es FIPA? Asociación que desarrolla normas/especificaciones para tecnología de agentes.
- Diferencia entre páginas blancas y páginas amarillas en un directorio de agentes. Blancas = localización por identidad; amarillas = localización por servicio ofrecido.
- ¿Por qué JADE usa LGPL y no GPL? LGPL permite que software propietario se fusione con JADE sin verse obligado a abrirse, lo que facilitó su adopción en entornos comerciales.
- ¿Qué tipo de comunicación usa JADE entre agentes y por qué? Asíncrona basada en mensajes. Evita dependencia temporal: el receptor puede estar no disponible cuando el emisor envía.
- ¿Qué permite la movilidad de agentes en JADE? Migrar código + estado entre máquinas sin interrumpir las comunicaciones en curso.
- ¿Qué es la arquitectura abstracta FIPA? Definición del cómo dos agentes deben localizarse y comunicarse, registrándose e intercambiando mensajes, sin atar a una implementación concreta.
- Una plataforma que soporte J2ME pero no AOP, ¿qué mecanismo utiliza JADE para mantener compatibilidad? Filtros de composición especial (en lugar de programación orientada a aspectos).
Compromisos del profesor
- Publicar notas de la actividad 1 entre jueves y sábado (todas a la vez).
- Subir las transparencias de todas las clases (pendiente desde la clase 3).
- Clase siguiente: más Noxus como ejemplo + continuación del temario.