CrewAI を使用した複雑なマルチエージェント AI システムの開発は、すぐに困難になる可能性があります。 この投稿では、デバッグを容易にし、反復を高速化するために、個々のエージェントとタスクを分離してテストする方法を示します。
孤立の利点
CrewAI システム内のコンポーネントを分離することは、単体テストに似ています。 このアプローチには、いくつかの重要な利点があります。
核となる要素を調べてみましょう:
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>
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>
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>
エージェントを独立して実行する (run_agent.py
): この例では、Crew コンテキストの外でエージェントを作成して使用し、カスタム タスクを実行して、定義されたエージェントとタスクを再利用する方法を示します。
タスクを独立して実行する (run_task.py
): これは、同期実行と非同期実行を含む、タスクの独立した作成と実行、およびカスタム コンテキストとツールの使用を示します。 また、定義されたタスクをカスタム コンテキストで再利用することも示しています。
結論
エージェントとタスクを独立して実行できる機能により、CrewAI 開発に大幅な柔軟性と制御が提供されます。 この分離されたテスト アプローチにより、デバッグが合理化され、反復が加速され、全体的な効率が向上します。 提供されているコード例は、この手法をプロジェクトに統合するための実用的な出発点となります。 詳細とサポートについては、必ず CrewAI のドキュメントと GitHub リポジトリを参照してください。
リソース:
以上がCrew のデバッグ: CrewAI でのエージェントとタスクの分離の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。