跳转到主要内容

在 CrewAI 中设置特定代理作为管理器

CrewAI 允许用户将特定代理设置为团队的管理器,从而更好地控制任务的管理和协调。此功能可以自定义管理角色,以更好地满足您的项目要求。

使用 manager_agent 属性

自定义管理器智能体

通过 manager_agent 属性,您可以定义一个自定义代理来管理团队。该代理将监督整个过程,确保任务高效、高标准地完成。

示例

代码
import os
from crewai import Agent, Task, Crew, Process

# Define your agents
researcher = Agent(
    role="Researcher",
    goal="Conduct thorough research and analysis on AI and AI agents",
    backstory="You're an expert researcher, specialized in technology, software engineering, AI, and startups. You work as a freelancer and are currently researching for a new client.",
    allow_delegation=False,
)

writer = Agent(
    role="Senior Writer",
    goal="Create compelling content about AI and AI agents",
    backstory="You're a senior writer, specialized in technology, software engineering, AI, and startups. You work as a freelancer and are currently writing content for a new client.",
    allow_delegation=False,
)

# Define your task
task = Task(
    description="Generate a list of 5 interesting ideas for an article, then write one captivating paragraph for each idea that showcases the potential of a full article on this topic. Return the list of ideas with their paragraphs and your notes.",
    expected_output="5 bullet points, each with a paragraph and accompanying notes.",
)

# Define the manager agent
manager = Agent(
    role="Project Manager",
    goal="Efficiently manage the crew and ensure high-quality task completion",
    backstory="You're an experienced project manager, skilled in overseeing complex projects and guiding teams to success. Your role is to coordinate the efforts of the crew members, ensuring that each task is completed on time and to the highest standard.",
    allow_delegation=True,
)

# Instantiate your crew with a custom manager
crew = Crew(
    agents=[researcher, writer],
    tasks=[task],
    manager_agent=manager,
    process=Process.hierarchical,
)

# Start the crew's work
result = crew.kickoff()

自定义管理器代理的优势

  • 增强控制:根据项目的具体需求定制管理方法。
  • 改进协调:确保由经验丰富的代理进行高效的任务协调和管理。
  • 可自定义管理:定义与项目目标一致的管理角色和职责。

设置管理器 LLM

如果您使用分层流程,并且不想设置自定义管理器代理,可以为管理器指定语言模型。
代码
from crewai import LLM

manager_llm = LLM(model="gpt-4o")

crew = Crew(
    agents=[researcher, writer],
    tasks=[task],
    process=Process.hierarchical,
    manager_llm=manager_llm
)
使用分层流程时,必须设置 manager_agentmanager_llm