Core Concepts¤
Crewmaster is a framework designed to build powerful, multi-agent systems. It's built on a few key abstractions that make complex orchestrations manageable and scalable.
Collaborator¤
A Collaborator is the most fundamental unit in Crewmaster. It represents an entity with a specific responsibility defined by its job\description. A collaborator can be a human or a specialized AI agent. It’s the base class for all intelligent entities in the framework.
Agent¤
An Agent is a specialized type of Collaborator. It is the active, autonomous component of your system. An agent is defined by its:
- Job Description: Its purpose and role within the team.
- Brain: An LLM (Large Language Model) that serves as its "brain" for reasoning and decision-making.
- Muscle: Handle the execution of the skills.
- Skills: The specific tools or functions it can use to perform its tasks.
Skills¤
Skills are the tools an agent can leverage to perform its tasks. They are external capabilities that extend the agent's functionality beyond its innate reasoning. Skills are implemented as Python functions and are decorated with @skill.
Teams¤
A Team is a collection of Collaborators or Agents that work together on a defined set of tasks. Teams provide a way to group agents with complementary skills and manage their collaboration.
Crew¤
The Crew is the top-level orchestrator. It is responsible for managing a group of Teams and Agents to accomplish a larger, overarching goal. The crew handles the flow of tasks and communication between the different members of the system.
Serving CrewMaster¤
To serve the applications builded with CrewMaster, the library provides a FastApi Driver that streams the responses.
The Importance of Types¤
Crewmaster leverages Python's type system extensively to improve the developer experience. By using type hints, you gain several key advantages:
- Improved Readability: Code is easier to understand and reason about.
- Early Error Detection: Your IDE and type-checking tools (like mypy) can catch potential bugs before you even run the code.
- Better Autocompletion: Modern IDEs can provide intelligent suggestions for methods and attributes, making development faster and more efficient.
This focus on type safety results in a more robust, predictable, and maintainable codebase, which is crucial for building complex AI systems.