调试您的 Crew:在 CrewAI 中隔离代理和任务
在使用CrewAI构建多代理AI系统时,调试和修改单个代理或任务可能会变得复杂。本文将介绍如何独立运行CrewAI中的代理和任务,从而简化调试和迭代过程。
为什么要隔离代理和任务?
隔离CrewAI组件如同测试大型系统的各个部件一样,具有以下优势:
让我们来看一下关键部分:
研究员代理 (agents.yaml):
researcher: role: "高级研究分析师" goal: "发现人工智能领域突破性技术" backstory: "一位高度熟练的研究员,对人工智能发展充满热情。" llm: gemini/gemini-1.5-flash # 请替换为您所需的LLM allow_delegation: false tools: - websearchtool
研究任务 (tasks.yaml):
research_task: description: "研究2024年人工智能的最新发展。" expected_output: "一份总结关键人工智能趋势的报告。" agent: researcher
independentcrew 类 (crew.py):
from crewai import agent, crew, process, task from crewai.project import crewbase, agent, crew, task from .tools import websearchtool @crewbase class independentcrew(): """independentcrew 团队""" agents_config = 'config/agents.yaml' tasks_config = 'config/tasks.yaml' @agent def researcher(self) -> agent: return agent( config=self.agents_config['researcher'], verbose=True, tools=[websearchtool()] ) @task def research_task(self) -> task: return task( config=self.tasks_config['research_task'], ) @crew def crew(self) -> crew: """创建 independentcrew 团队""" return crew( agents=self.agents, tasks=self.tasks, process=process.sequential, verbose=True, )
独立运行代理 (run_agent.py):
# ... (代码与原文相同,略去重复内容) ...
独立运行任务 (run_task.py):
# ... (代码与原文相同,略去重复内容) ...
关键点:
总结:
独立运行代理和任务是CrewAI的一项实用技术,可以显著提高开发效率。 本文提供的示例代码可以帮助您在自己的项目中实现这一功能。 欢迎尝试、修改代码并探索其在改进开发流程中的作用。
相关链接: