Creating individual Agent files or multiple agents in Agents.yaml?

Hi,
I was speaking with someone who is doing something creative and wanted people’s thoughts. Another CrewAI user decided to create a individual agent files vs a single agents.yaml file with many agents.

Example (each person is an agent with separate file)

  • Bob_CEO.py (includes both Agent + Tasks in single file)
  • Joe_HR.py (includes both Agent + Tasks in single file)
  • Sue_CMO.py (includes both Agent + Tasks in single file)

The premise is to create a virtual company using hierarchical structure with more agents under each department. By personifying the agents, it may be easier to maintain and be more flexible to future needs than sequential separate agents.yaml + tasks.yaml.

Has anyone tried something like this?

I haven’t tried this approach but I don’t think it matters that much. You can organize your agents and tasks however you want so long it works and won’t confuse you in the future.

Any idea if we can use one agents.yaml and one tasks.yaml that is used by multiple crews. For example, create a crew that uses only a subset of agents from agents.yaml and a subset of tasks from tasks.yaml?

I get the following error when I try to do it, any suggestions?

TypeError: Can’t instantiate abstract class BaseAgent with abstract methods _parse_tools, create_agent_executor, execute_task, get_delegation_tools, get_output_converter

How are your crews organised that makes you want this use case?

Theoretically, there shouldn’t be anything preventing you from doing this. Can you share a reproduction of the failing code so that I can take a look?

Hi @zinyando, I sent a DM as I cannot share the logic here.