도구(Tools) 라이브러리 개요
도구(Tools) 라이브러리 개요
에이전트가 밖의 세계와 상호작용하려면 무언가 손이 필요합니다. CrewAI는 그 손 역할을 하는 도구(tools)를 기본으로 방대하게 준비해 두었어요. 파일 처리부터 웹 스크래핑, 데이터베이스 조회, AI 서비스 연동까지 — 일일이 처음부터 만들 필요 없이 골라 쓰면 됩니다.
출처: 공식문서
본문
CrewAI는 에이전트의 능력을 확장해 주는 사전 구축 도구 라이브러리를 제공합니다. 파일 처리에서 웹 스크래핑, 데이터베이스 쿼리에서 AI 서비스까지 폭넓게 커버합니다.
도구 분류(Tool Categories)
- 파일·문서(File & Document): PDF, DOCX, JSON, CSV 등 다양한 파일 형식을 읽고·쓰고·검색합니다. 문서 처리 워크플로에 적합합니다.
- 웹 스크래핑·브라우징(Web Scraping & Browsing): Firecrawl, Selenium 등의 도구로 웹사이트에서 데이터를 추출하고 브라우저 상호작용을 자동화하며 대규모로 콘텐츠를 수집합니다.
- 검색·조사(Search & Research): 웹 검색, 코드 저장소 탐색, YouTube 콘텐츠 조사 등 인터넷 곳곳의 정보를 찾습니다.
- 데이터베이스·데이터(Database & Data): SQL 데이터베이스·벡터 저장소·데이터 웨어하우스에 연결합니다. MySQL, PostgreSQL, Snowflake, Qdrant, Weaviate를 조회할 수 있습니다.
- AI·머신러닝(AI & Machine Learning): DALL-E로 이미지를 생성하고, 비전 작업을 처리하며, LangChain과 연동하고, RAG 시스템을 구축하고 코드 인터프리터를 활용합니다.
- 클라우드·스토리지(Cloud & Storage): AWS S3, Amazon Bedrock 등 클라우드 스토리지와 AI 서비스와 상호작용합니다.
- 자동화(Automation): Apify, Composio 등 플랫폼으로 워크플로를 자동화해 에이전트를 외부 서비스와 연결합니다.
- 통합(Integrations): Amazon Bedrock, CrewAI Automation 툴킷 등 외부 시스템과 CrewAI를 통합합니다.
빠른 접근(Quick Access)
자주 쓰는 도구는 따로 모아 두었습니다. RAG 구현용 RagTool, Google 검색 API SerperDevTool, 파일 읽기 FileReadTool, 웹 콘텐츠 추출 ScrapeWebsiteTool, Python 실행 CodeInterpreterTool, AWS S3 파일 접근 S3ReaderTool 등이 대표적입니다.
시작하기(Getting Started)
CrewAI 프로젝트에서 어떤 도구든 이렇게 씁니다.
- 크루 설정에서 도구를 임포트합니다.
- 에이전트의
tools목록에 추가합니다. - 필요한 API 키나 설정을 구성합니다.
from crewai_tools import FileReadTool, SerperDevTool
# Add tools to your agent
agent = Agent(
role="Research Analyst",
tools=[FileReadTool(), SerperDevTool()],
# ... other configuration
)
최대 사용 횟수(Max Usage Count)
도구가 특정 횟수 이상 사용되지 않도록 최대 사용 횟수를 설정할 수 있습니다. 기본값은 무제한입니다.
from crewai_tools import FileReadTool
tool = FileReadTool(max_usage_count=5, ...)