首页 > 后端开发 > Python教程 > 调试您的 Crew:在 CrewAI 中隔离代理和任务

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

Barbara Streisand
发布: 2025-01-23 18:14:12
原创
755 人浏览过

Debugging Your Crew: Isolating Agents and Tasks in CrewAI

使用 CrewAI 开发复杂的多智能体人工智能系统很快就会变得充满挑战。 这篇文章演示了如何隔离和测试各个代理和任务,以便更轻松地调试和更快地迭代。

隔离的好处

隔离 CrewAI 系统中的组件类似于单元测试。 这种方法具有几个关键优势:

  • 简化调试:通过专注于单个代理或任务来快速识别问题,无需筛选整个系统的日志。
  • 快速迭代:测试对代理行为或任务定义的修改,而无需重复运行整个团队。
  • 有针对性的性能优化:与系统的其余部分分开时,可以更有效地分析和优化各个组件。

让我们来看看核心元素:

  1. researcher特工(agents.yaml):

    <code class="language-yaml"> researcher:
       role: "Senior Research Analyst"
       goal: "Uncover groundbreaking technologies in AI"
       backstory: "A highly skilled researcher with a passion for AI advancements."
       llm: gemini/gemini-1.5-flash # Replace with your preferred LLM
       allow_delegation: false
       tools:
         - WebSearchTool</code>
    登录后复制
  2. research_task (tasks.yaml):

    <code class="language-yaml"> research_task:
       description: "Research the latest developments in AI for 2024."
       expected_output: "A report summarizing the key AI trends."
       agent: researcher</code>
    登录后复制
  3. IndependentCrew 类 (crew.py):

    <code class="language-python"> from crewai import Agent, Crew, Process, Task
     from crewai.project import CrewBase, agent, crew, task
     from .tools import WebSearchTool
    
     @CrewBase
     class IndependentCrew():
         """IndependentCrew crew"""
    
         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:
             """Creates the IndependentCrew crew"""
    
             return Crew(
                 agents=self.agents,
                 tasks=self.tasks,
                 process=Process.sequential,
                 verbose=True,
             )</code>
    登录后复制
  4. 独立运行代理 (run_agent.py): 此示例演示如何在 Crew 上下文之外创建和使用代理、执行自定义任务以及重用定义的代理和任务。

  5. 独立运行任务 (run_task.py): 这演示了独立创建和执行任务,包括同步和异步执行,以及使用自定义上下文和工具。 它还显示了通过自定义上下文重用定义的任务。

结论

独立运行代理和任务的能力为 CrewAI 开发提供了显着的灵活性和控制力。 这种隔离测试方法简化了调试、加速迭代并提高了整体效率。 提供的代码示例为将此技术集成到您的项目中提供了一个实用的起点。 请记得查阅 CrewAI 文档和 GitHub 存储库以获取更多详细信息和支持。

资源:

以上是调试您的 Crew:在 CrewAI 中隔离代理和任务的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板