The text discusses the importance of decomposing complex problems into smaller, specialized units in multi-agent systems, where multiple agents collaborate to solve larger problems. The orchestrator pattern is introduced as a way to coordinate agent interactions, with a central node (the orchestrator) deciding which agent should handle a given task based on context. Event-driven architectures are highlighted as a better model for enterprise applications due to their ability to enable dynamic communication between agents without rigid dependencies. A reference architecture using Apache Flink and Apache Kafka is presented, showcasing how these technologies can be used to build an event-driven orchestrator for multi-agent systems. The system demonstrates real-time decision-making, scalability, and adaptability, with the use of a large language model (LLM) to determine which agent should handle an incoming message.