在 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 中的一个。