메인 콘텐츠로 건너뛰기

개요

CrewAI 도구는 에이전트에게 웹 검색, 데이터 분석부터 동료 간 협업 및 작업 위임에 이르기까지 다양한 기능을 제공합니다.
이 문서에서는 CrewAI 프레임워크 내에서 이러한 도구를 생성, 통합 및 활용하는 방법과, 협업 도구에 초점을 맞춘 새로운 기능에 대해 설명합니다.
도구는 에이전트에게 행동을 취할 수 있는 호출 가능한 함수를 제공합니다. MCP (원격 도구 서버), (플랫폼 통합), 스킬 (도메인 전문성), 지식 (검색된 사실)과 함께 작동합니다. 각 유형을 언제 사용해야 하는지 알아보려면 에이전트 기능 개요를 참조하세요.

Tool이란 무엇인가?

CrewAI에서 tool은 에이전트가 다양한 작업을 수행하기 위해 활용할 수 있는 기술 또는 기능입니다. 이에는 CrewAI ToolkitLangChain Tools의 tool이 포함되어, 간단한 검색부터 복잡한 상호작용, 그리고 에이전트 간의 효과적인 협업까지 모두 가능하게 합니다.
CrewAI 엔터프라이즈는 주요 비즈니스 시스템 및 API와의 사전 구축된 통합을 제공하는 종합적인 Tools Repository를 제공합니다. 며칠이 걸리던 엔터프라이즈 tool로 에이전트를 몇 분 만에 배포할 수 있습니다.엔터프라이즈 Tools Repository에는 다음이 포함됩니다:
  • 인기 엔터프라이즈 시스템용 사전 구축 커넥터
  • 커스텀 tool 생성 인터페이스
  • 버전 관리 및 공유 기능
  • 보안 및 규정 준수 기능

도구의 주요 특징

  • 유틸리티: 웹 검색, 데이터 분석, 콘텐츠 생성, 에이전트 협업과 같은 작업을 위해 제작됨.
  • 통합성: 도구를 워크플로우에 원활하게 통합하여 에이전트의 역량을 강화함.
  • 맞춤화 가능성: 맞춤형 도구를 개발하거나 기존 도구를 활용할 수 있는 유연성을 제공하여 에이전트의 특정 요구 사항에 대응함.
  • 오류 처리: 원활한 작동을 보장하기 위해 강력한 오류 처리 메커니즘을 포함함.
  • 캐싱 메커니즘: 성능 최적화와 중복 작업 감소를 위한 지능형 캐싱 기능을 갖춤.
  • 비동기 지원: 동기 및 비동기 도구를 모두 처리하여 논블로킹(Non-blocking) 작업을 가능하게 함.

CrewAI 도구 사용하기

crewAI 도구로 에이전트의 기능을 확장하려면, 우선 추가 도구 패키지를 설치하세요:
아래는 도구 사용 예시입니다:
Code

사용 가능한 CrewAI 도구

  • 에러 처리: 모든 도구는 에러 처리 기능이 내장되어 있어, 에이전트가 예외 상황을 우아하게 관리하며 작업을 계속할 수 있습니다.
  • 캐싱 메커니즘: 모든 도구는 캐싱을 지원하여, 에이전트가 이전에 얻은 결과를 효율적으로 재사용할 수 있고 외부 자원에 대한 부하를 줄이며 실행 시간을 단축할 수 있습니다. 또한 도구의 cache_function 속성을 사용하여 캐싱 메커니즘을 세밀하게 제어할 수 있습니다.
사용 가능한 도구 목록과 그 설명은 다음과 같습니다:

자체 도구 만들기

개발자는 에이전트의 요구에 맞는 custom tools를 직접 제작하거나, 미리 구축된 옵션을 활용할 수 있습니다.
CrewAI 도구를 만드는 방법에는 두 가지 주요 방법이 있습니다:

BaseTool 서브클래싱

Code

비동기 도구 지원

CrewAI는 비동기 도구를 지원하여, 네트워크 요청, 파일 I/O 또는 기타 비동기 작업과 같이 메인 실행 스레드를 차단하지 않고 비차단 연산을 수행하는 도구를 구현할 수 있습니다.

비동기 툴 만들기

비동기 툴을 만드는 방법에는 두 가지가 있습니다:

1. tool 데코레이터를 비동기 함수와 함께 사용하기

Code

2. 사용자 지정 Tool 클래스에서 비동기 메서드 구현

Code

비동기 도구 사용하기

비동기 도구는 표준 Crew 워크플로우와 Flow 기반 워크플로우 모두에서 원활하게 작동합니다:
Code
CrewAI 프레임워크는 동기 및 비동기 도구의 실행을 자동으로 처리하므로, 별도로 호출 방법을 신경 쓸 필요가 없습니다.

tool 데코레이터 활용하기

Code

커스텀 캐싱 메커니즘

도구는 선택적으로 cache_function을 구현하여 캐싱 동작을 세밀하게 조정할 수 있습니다. 이 함수는 특정 조건에 따라 결과를 언제 캐싱할지 결정하여 캐싱 로직을 정교하게 제어할 수 있도록 합니다.
Code

결론

도구는 CrewAI 에이전트의 역량을 확장하는 데 중요한 역할을 하며, 이를 통해 에이전트가 폭넓은 작업을 수행하고 효과적으로 협업할 수 있습니다. CrewAI로 솔루션을 구축할 때는, 맞춤형 또는 기존의 도구를 모두 활용하여 에이전트를 강화하고 AI 생태계를 향상시키세요. 에이전트의 성능과 기능을 최적화하기 위해 오류 처리, 캐싱 메커니즘, 그리고 도구 인자의 유연성도 고려해보시기 바랍니다.