ホームページ > バックエンド開発 > Python チュートリアル > Crew のデバッグ: CrewAI でのエージェントとタスクの分離

Crew のデバッグ: CrewAI でのエージェントとタスクの分離

Barbara Streisand
リリース: 2025-01-23 18:14:12
オリジナル
757 人が閲覧しました

Debugging Your Crew: Isolating Agents and Tasks in CrewAI

CrewAI を使用した複雑なマルチエージェント AI システムの開発は、すぐに困難になる可能性があります。 この投稿では、デバッグを容易にし、反復を高速化するために、個々のエージェントとタスクを分離してテストする方法を示します。

孤立の利点

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート