调试您的 Crew:在 CrewAI 中隔离代理和任务(您的.隔离.调试.代理.Crew...)

wufei1232025-01-24python16

调试您的 crew:在 crewai 中隔离代理和任务

在使用CrewAI构建多代理AI系统时,调试和修改单个代理或任务可能会变得复杂。本文将介绍如何独立运行CrewAI中的代理和任务,从而简化调试和迭代过程。

为什么要隔离代理和任务?

隔离CrewAI组件如同测试大型系统的各个部件一样,具有以下优势:

  • 简化调试: 快速定位问题,无需遍历整个系统的日志。
  • 加速迭代: 快速测试对代理行为或任务定义的更改,无需每次都运行整个系统。
  • 精准性能调优: 更方便地分析和优化各个组件。

让我们来看一下关键部分:

  1. 研究员代理 (agents.yaml):

     researcher:
       role: "高级研究分析师"
       goal: "发现人工智能领域突破性技术"
       backstory: "一位高度熟练的研究员,对人工智能发展充满热情。"
       llm: gemini/gemini-1.5-flash # 请替换为您所需的LLM
       allow_delegation: false
       tools:
         - websearchtool
  2. 研究任务 (tasks.yaml):

     research_task:
       description: "研究2024年人工智能的最新发展。"
       expected_output: "一份总结关键人工智能趋势的报告。"
       agent: researcher
  3. 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,
             )
  4. 独立运行代理 (run_agent.py):

     # ... (代码与原文相同,略去重复内容) ...
  5. 独立运行任务 (run_task.py):

     # ... (代码与原文相同,略去重复内容) ...

关键点:

  • 灵活性: 无需始终管理整个团队,可根据需要隔离和测试特定代理或任务。
  • 可控性: 对输入和上下文进行精细控制。
  • 效率: 集中精力,加快开发和调试速度。

总结:

独立运行代理和任务是CrewAI的一项实用技术,可以显著提高开发效率。 本文提供的示例代码可以帮助您在自己的项目中实现这一功能。 欢迎尝试、修改代码并探索其在改进开发流程中的作用。

相关链接:

  • GitHub 仓库: https://www.php.cn/link/feddfedc98490ed7e123db392f076fa1
  • CrewAI 文档: https://www.php.cn/link/afd53be629a8800e6447030f2e0961f7

以上就是调试您的 Crew:在 CrewAI 中隔离代理和任务的详细内容,更多请关注知识资源分享宝库其它相关文章!

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。