Skip to content

v0.4.0 — Freeze del diseño bus-driven

Latest

Choose a tag to compare

@Root1V Root1V released this 08 Sep 11:41
· 81 commits to main since this release

Punto de congelación del proyecto. Última versión de la línea 0.x, anterior al rediseño v1.0.

Esta release existe para preservar una referencia estable e instalable del diseño bus-driven original, con su catálogo completo de 21 patrones de coordinación y sus ejemplos de dominio bancario, antes de reescribir el framework desde cero sobre una arquitectura nueva.

Contenido de 0.4.0

Jerarquía de agentes

  • MessageAgent — base para todo agente con acceso al bus, sin LLM; provee _ref (AgentRef) y _bind_runtime
  • LLMAgent(MessageAgent) — añade think() con salida estructurada vía Pydantic (output_model)
  • CompositeAgent(MessageAgent) — posee una topología de sub-agentes que el runtime registra en cascada

Patrones nuevos (15–21)

  • MapReduceAgent — fan-out/fan-in sobre N chunks independientes
  • PlanAndExecuteAgent — plan explícito con replanificación a mitad de ejecución
  • SwarmAgent — handoff autónomo entre agentes pares
  • ReflectionAgent — bucle generar / criticar / revisar contra un umbral de calidad
  • ConsensusAgent — panel de votantes independientes más un juez sintetizador
  • HITLAgent — screening automático con puerta de decisión humana obligatoria
  • SagaAgent — pasos ordenados con compensadores y rollback LIFO

Reglas de diseño introducidas

  • YAML-first: todo el texto estructural de prompts vive en YAML; Python solo serializa variables de datos
  • Registro independiente: los agentes participantes se registran explícitamente; los sub-agentes de un CompositeAgent son la única excepción
  • Coreografía pura: los patrones 16–21 no llaman think() directamente; todo intercambio viaja por el bus

Estado conocido

Snapshot de archivo, no recomendado para nuevos proyectos:

  • axonium se resuelve desde un registro local (../repo_pi), por lo que la instalación desde git no funciona para terceros
  • pydantic, pyyaml y python-dotenv se importan pero llegan solo por transitividad
  • SupervisorPattern referencia self.agent_id, atributo eliminado en el rename de 0.2.0
  • El bus entrega los mensajes en serie, de modo que el fan-out de ConsensusAgent no es concurrente en la práctica
  • Sin tests ni CI

El rediseño v1.0 aborda todo lo anterior.