在CrewAI中设置特定代理为管理员¶
CrewAI允许用户将特定代理设置为团队的管理员,从而提供对任务管理和协调的更多控制。此功能使管理角色的自定义能够更好地符合您的项目需求。
使用manager_agent属性¶
自定义管理代理¶
manager_agent属性允许您定义一个自定义代理来管理团队。此代理将监督整个过程,确保任务高效且高标准地完成。
示例¶
import os
from crewai import Agent, Task, Crew, Process
# 定义您的代理
researcher = Agent(
role="研究员",
goal="对AI和AI代理进行彻底的研究和分析",
backstory="您是一位技术、软件工程、AI和初创公司领域的专家研究员。您是一名自由职业者,目前正在为新客户进行研究。",
allow_delegation=False,
)
writer = Agent(
role="高级作家",
goal="创作关于AI和AI代理的引人入胜的内容",
backstory="您是一位技术、软件工程、AI和初创公司领域的高级作家。您是一名自由职业者,目前正在为新客户撰写内容。",
allow_delegation=False,
)
# 定义您的任务
task = Task(
description="生成5个关于文章的有趣想法列表,然后为每个想法写一个吸引人的段落,展示该主题完整文章的潜力。返回想法列表及其段落和您的笔记。",
expected_output="5个要点,每个要点带有一个段落和相应的笔记。",
)
# 定义管理代理
manager = Agent(
role="项目经理",
goal="高效管理团队并确保高质量完成任务",
backstory="您是一位经验丰富的项目经理,擅长监督复杂项目并指导团队取得成功。您的角色是协调团队成员的努力,确保每项任务按时且高标准完成。",
allow_delegation=True,
)
# 使用自定义管理器实例化您的团队
crew = Crew(
agents=[researcher, writer],
tasks=[task],
manager_agent=manager,
process=Process.hierarchical,
)
# 开始团队的工作
result = crew.kickoff()
自定义管理代理的好处¶
- 增强控制:根据项目的特定需求定制管理方法。
- 改进协调:由经验丰富的代理确保任务的高效协调和管理。
- 可定制管理:定义与项目目标一致的管理角色和职责。
设置管理LLM¶
如果您使用的是分层流程,并且不想设置自定义管理代理,可以指定管理器的语言模型:
from langchain_openai import ChatOpenAI
manager_llm = ChatOpenAI(model_name="gpt-4")
crew = Crew(
agents=[researcher, writer],
tasks=[task],
process=Process.hierarchical,
manager_llm=manager_llm
)
manager_agent或manager_llm。