CrewAI에서 에이전트, 태스크, 컴포넌트를 올바르게 구조화하기 위해 어노테이션을 사용하는 방법을 알아보세요.
crew.py
파일에서 agent, task, 및 기타 구성 요소를 올바르게 참조하기 위해 주석을 사용하는 방법을 설명합니다.
@CrewBase
: 메인 crew 클래스를 데코레이트할 때 사용합니다.@agent
: Agent 객체를 정의하고 반환하는 메서드를 데코레이트합니다.@task
: Task 객체를 정의하고 반환하는 메서드를 데코레이트합니다.@crew
: Crew 객체를 생성하고 반환하는 메서드를 데코레이트합니다.@llm
: Language Model 객체를 초기화하고 반환하는 메서드를 데코레이트합니다.@tool
: Tool 객체를 초기화하고 반환하는 메서드를 데코레이트합니다.@callback
: 콜백 메서드를 정의할 때 사용합니다.@output_json
: JSON 데이터를 출력하는 메서드에 사용합니다.@output_pydantic
: Pydantic 모델을 출력하는 메서드에 사용합니다.@cache_handler
: 캐시 처리 메서드를 정의할 때 사용합니다.@CrewBase
어노테이션은 메인 crew 클래스를 데코레이트하는 데 사용됩니다. 이 클래스는 일반적으로 agent, task, 그리고 crew 자체를 생성하기 위한 구성과 메서드를 포함합니다.
@tool
애너테이션은 도구 객체를 반환하는 메서드를 데코레이터할 때 사용됩니다. 이러한 도구들은 에이전트가 특정 작업을 수행할 때 사용할 수 있습니다.
@llm
애노테이션은 Language Model 객체를 초기화하고 반환하는 메서드를 데코레이팅하는 데 사용됩니다. 이러한 LLM은 에이전트가 자연어 처리 작업을 수행할 때 사용됩니다.
@agent
어노테이션은 에이전트 객체를 정의하고 반환하는 메서드를 데코레이트할 때 사용됩니다.
@task
어노테이션은 Task 객체를 정의하고 반환하는 메서드를 데코레이트하는 데 사용됩니다. 이러한 메서드는 task 구성과 해당 task를 담당하는 agent를 지정합니다.
@crew
어노테이션은 Crew
객체를 생성하고 반환하는 메서드를 데코레이션하는 데 사용됩니다. 이 메서드는 모든 구성 요소(agents와 tasks)를 기능적인 crew로 조합합니다.
agents.yaml
파일 예시입니다.
LinkedinProfileCrew
클래스에 정의된 연구원 에이전트에 해당합니다. 구성에는 에이전트의 역할, 목표, 배경 이야기와 사용하는 LLM 및 도구와 같은 기타 속성이 명시되어 있습니다.
YAML 파일의 llm
과 tools
가 Python 클래스에서 @llm
및 @tool
로 데코레이션된 메서드와 어떻게 대응되는지 주목하세요.