在 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_agent` 或 `manager_llm`。