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
): 이 예에서는 제작진 컨텍스트 외부에서 에이전트를 생성 및 사용하고, 사용자 정의 작업을 실행하고, 정의된 에이전트와 작업을 재사용하는 방법을 보여줍니다.
작업을 독립적으로 실행(run_task.py
): 이는 동기 및 비동기 실행을 포함하여 작업을 독립적으로 생성 및 실행하고 사용자 정의 컨텍스트 및 도구를 사용하는 방법을 보여줍니다. 또한 사용자 정의 컨텍스트로 정의된 작업을 재사용하는 방법도 보여줍니다.
결론
에이전트와 작업을 독립적으로 실행할 수 있는 기능은 CrewAI 개발에 상당한 유연성과 제어 기능을 제공합니다. 이러한 격리된 테스트 접근 방식은 디버깅을 간소화하고 반복을 가속화하며 전반적인 효율성을 향상시킵니다. 제공된 코드 예제는 이 기술을 프로젝트에 통합하기 위한 실용적인 시작점을 제공합니다. 자세한 내용과 지원은 CrewAI 문서와 GitHub 저장소를 참조하세요.
자원:
위 내용은 승무원 디버깅: CrewAI에서 에이전트 및 작업 분리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!