커스텀 에이전트 설정
CrewAI 프레임워크 내에서 특정 역할과 작업에 맞게 에이전트를 조정하고 고급 커스텀 설정을 적용하는 포괄적인 가이드입니다.
커스터마이징 가능한 속성
효율적인 CrewAI 팀을 구성하려면 각 프로젝트의 특수한 요구사항에 맞게 AI 에이전트를 동적으로 조정할 수 있어야 한다. 이 섹션에서는 커스터마이징할 수 있는 기본 속성에 대해 설명한다.
커스터마이징을 위한 주요 속성
속성 | 설명 |
---|---|
역할 | ’분석가’나 ‘고객 서비스 담당자’와 같이 에이전트가 팀 내에서 수행하는 직무를 지정한다. |
목표 | 에이전트의 목표를 정의하며, 역할과 팀의 전체적인 미션에 맞춰 설정한다. |
배경 | 에이전트의 성격에 깊이를 더해 동기와 팀 내 상호작용을 강화한다. |
도구 (선택사항) | 간단한 기능부터 복잡한 통합까지, 에이전트가 작업을 수행하는 데 사용하는 능력이나 방법을 나타낸다. |
캐시 (선택사항) | 도구 사용 시 캐시를 사용할지 여부를 결정한다. |
최대 RPM | 외부 서비스에 대한 최대 요청 수를 분당(max_rpm )으로 설정한다. 무제한 요청을 위해 None 으로 설정할 수 있다. |
상세 로깅 (선택사항) | 실행 과정에 대한 통찰력을 제공하며, 디버깅과 최적화를 위해 상세한 로깅을 활성화한다. |
위임 허용 (선택사항) | 다른 에이전트에게 작업을 위임할지 여부를 제어한다. 기본값은 False 이다. |
최대 반복 횟수 (선택사항) | 무한 루프를 방지하기 위해 작업의 최대 반복 횟수(max_iter )를 제한한다. 기본값은 25이다. |
최대 실행 시간 (선택사항) | 에이전트가 작업을 완료하기 위해 허용되는 최대 시간을 설정한다. |
시스템 템플릿 (선택사항) | 에이전트의 시스템 형식을 정의한다. |
프롬프트 템플릿 (선택사항) | 에이전트의 프롬프트 형식을 정의한다. |
응답 템플릿 (선택사항) | 에이전트의 응답 형식을 정의한다. |
시스템 프롬프트 사용 (선택사항) | 작업 실행 중 시스템 프롬프트를 사용할지 여부를 제어한다. |
컨텍스트 윈도우 존중 | 기본적으로 슬라이딩 컨텍스트 윈도우를 활성화해 컨텍스트 크기를 유지한다. |
최대 재시도 횟수 | 오류 발생 시 에이전트가 재시도할 수 있는 최대 횟수(max_retry_limit )를 설정한다. |
고급 커스텀 옵션
기본 속성 외에도, CrewAI는 에이전트의 동작과 기능을 크게 향상시키는 더 깊은 수준의 커스텀을 지원한다.
언어 모델 커스터마이제이션
에이전트는 특정 언어 모델(llm
)과 함수 호출 언어 모델(function_calling_llm
)을 사용해 커스터마이즈할 수 있다. 이를 통해 처리 및 의사결정 능력을 세밀하게 조절할 수 있다. function_calling_llm
을 설정하면 기본 크루 함수 호출 언어 모델을 재정의할 수 있어 더 높은 수준의 커스터마이제이션이 가능하다.
성능 및 디버깅 설정
에이전트의 성능을 조정하고 작업을 모니터링하는 것은 효율적인 작업 실행에 매우 중요하다.
상세 모드와 RPM 제한
- 상세 모드: 에이전트의 동작을 상세히 기록하는 디버깅 및 최적화에 유용한 기능이다. 에이전트 실행 과정에 대한 깊은 이해를 제공해 성능 최적화에 도움을 준다.
- RPM 제한: 분당 최대 요청 수(
max_rpm
)를 설정한다. 이 속성은 선택 사항이며,None
으로 설정하면 제한 없이 외부 서비스에 무제한 쿼리를 보낼 수 있다.
작업 실행을 위한 최대 반복 횟수
max_iter
속성은 작업 하나를 위해 에이전트가 수행할 수 있는 최대 반복 횟수를 정의한다. 이를 통해 무한 루프나 지나치게 긴 실행을 방지할 수 있다. 기본값은 25로 설정되어 있으며, 이는 철저함과 효율성 사이의 균형을 제공한다. 에이전트가 이 횟수에 가까워지면 최선의 답변을 제공하려고 노력한다.
에이전트와 도구 커스터마이징
에이전트는 초기화 과정에서 속성과 도구를 정의해 커스터마이징한다. 도구는 에이전트가 특정 작업을 수행할 수 있게 하는 핵심 요소다. tools
속성은 에이전트가 사용할 수 있는 도구 배열로, 기본적으로 빈 리스트로 초기화된다. 새로운 요구 사항에 맞게 에이전트 초기화 후 도구를 추가하거나 수정할 수 있다.
예제: 에이전트에게 도구 할당하기
위임과 자율성
CrewAI 프레임워크 내에서 에이전트의 위임 능력이나 질문 기능을 제어하는 것은 자율성과 협업 역학을 조정하는 데 중요하다. 기본적으로 allow_delegation
속성은 False
로 설정되어 있어, 에이전트가 필요에 따라 도움을 요청하거나 작업을 위임할 수 없다. 이 기본 동작은 CrewAI 생태계 내에서 협업 문제 해결과 효율성을 촉진하기 위해 변경할 수 있다. 필요에 따라 특정 운영 요구 사항에 맞게 위임 기능을 활성화할 수 있다.
예제: 에이전트의 위임 기능 비활성화
결론
CrewAI에서 에이전트를 커스터마이징할 때 역할, 목표, 배경 스토리, 도구를 설정하고, 언어 모델 커스터마이징, 메모리, 성능 설정, 위임 설정과 같은 고급 옵션을 추가하면 복잡한 문제를 해결할 수 있는 세밀하고 유능한 AI 팀을 구성할 수 있다.