Composability

Compose compose & compose

FloAI is designed to enable flexible and scalable composability across agents, teams, and workflows. This means you can organize agents into teams, build larger teams using sub-teams, and create complex systems with reusable components. Composability is at the core of FloAI's architecture, allowing for easy extension and modularity in agent-driven workflows.

Agents Composed to Form Teams

In FloAI, agents are the building blocks of tasks. By grouping agents with a common goal, you can form a team. Teams are like specialized work units, with each agent responsible for a specific task. Teams are orchestrated by routers, which manage the flow of tasks between agents.

You can compose agents into teams, and in turn, create larger teams by composing sub-teams. This hierarchical structure allows you to break down complex tasks into smaller, manageable workflows.

apiVersion: flo/alpha-v1
kind: FloRoutedTeam
name: content-creation-team
team:
    name: ContentCreationTeam
    router:
        name: ContentSupervisor
        kind: supervisor
    agents:
      - name: ContentResearcher
        job: Research trending topics
      - name: ContentWriter
        job: Write a blog based on research

In this example:

  • Two agents, ContentResearcher and ContentWriter, are part of a ContentCreationTeam that is orchestrated by the ContentSupervisor router.

  • The agents collaborate to complete the workflow: researching topics and writing content based on that research.

Team Composed into Super-Teams

FloAI enables further scalability by allowing you to compose teams into super-teams through the use of sub-teams. A super-team is a larger unit that handles broader goals, while sub-teams can focus on specialized sub-tasks within that broader workflow. This hierarchical organization supports both vertical and horizontal scalability, making it easy to manage complex workflows.

apiVersion: flo/alpha-v1
kind: FloRoutedTeam
name: marketing-campaign-team
team:
    name: MarketingCampaignTeam
    router:
        name: MarketingSupervisor
        kind: supervisor
    subteams:
      - name: SocialMediaTeam
        router:
          name: SocialSupervisor
          kind: supervisor
        agents:
          - name: SocialMediaManager
            job: Plan and execute social media posts
      - name: SEOOptimizationTeam
        router:
          name: SEOSupervisor
          kind: supervisor
        agents:
          - name: SEOExpert
            job: Optimize blog for search engines

In this example:

  • The MarketingCampaignTeam consists of two sub-teams: SocialMediaTeam and SEOOptimizationTeam.

  • Each sub-team has its own agents and router, contributing specialized tasks toward the broader goal of running a marketing campaign.

Composable Vision

While FloAI already supports composability between agents and teams, we are planning to extend this functionality even further. The future vision for FloAI includes a system where an agent can act as a team, and a team can act as an agent, enabling dynamic composability across levels.

For example:

  • An agent can encapsulate a whole team, allowing that agent to handle tasks as if it were a team.

  • A team can be treated as a single agent in a larger workflow, enabling seamless interaction between different workflow components.

This kind of agent-team interchangeability will unlock unprecedented flexibility in designing workflows, providing a consistent experience across small and large-scale tasks.

FloAI's composability enables a modular, scalable, and flexible system that grows with your needs. By composing agents into teams, and teams into larger units, you can create sophisticated workflows capable of handling diverse and complex tasks. With the future vision of agent-team interchangeability and seamless RAG integration, FloAI is unlocking the next level of workflow orchestration.

Last updated