CrewAI : 롤플레잉 자율 AI 에이전트를 조정하기 위한 최첨단 프레임워크입니다. 협업 인텔리전스를 육성함으로써 CrewAI는 상담원이 원활하게 협력하여 복잡한 작업을 처리할 수 있도록 지원합니다.
홈페이지 | 문서 | 문서와 채팅 | 예 | 담화
왜 CrewAI인가?
시작하기
주요 특징
예
빠른 튜토리얼
직무 설명 작성
여행 플래너
주식 분석
승무원을 모델에 연결하기
CrewAI가 비교하는 방법
기부금
원격 측정
특허
AI 협업의 힘은 제공할 수 있는 것이 너무 많습니다. CrewAI는 AI 에이전트가 역할을 맡고, 목표를 공유하고, 마치 숙련된 승무원처럼 응집력 있는 단위로 운영할 수 있도록 설계되었습니다. 스마트 어시스턴트 플랫폼, 자동화된 고객 서비스 앙상블 또는 다중 에이전트 연구 팀을 구축하는 경우 CrewAI는 정교한 다중 에이전트 상호 작용을 위한 백본을 제공합니다.
CrewAI를 시작하려면 다음의 간단한 단계를 따르십시오.
시스템에 Python >=3.10 <=3.13이 설치되어 있는지 확인하세요. CrewAI는 종속성 관리 및 패키지 처리에 UV를 사용하여 원활한 설정 및 실행 환경을 제공합니다.
먼저 CrewAI를 설치합니다.
pip 설치 크루
에이전트용 추가 도구가 포함된 선택적 기능과 함께 'crewai' 패키지를 설치하려면 다음 명령을 사용하면 됩니다.
pip install 'crewai[도구]'
위의 명령은 기본 패키지를 설치하고 작동하는 데 더 많은 종속성이 필요한 추가 구성 요소도 추가합니다.
새로운 CrewAI 프로젝트를 생성하려면 다음 CLI(명령줄 인터페이스) 명령을 실행하세요.
크루아이 크루 생성 <project_name>
이 명령은 다음 구조의 새 프로젝트 폴더를 생성합니다.
my_project/ ├── .gitignore ├── pyproject.toml ├── README.md ├── .env └── src/ └── my_project/ ├── __init__.py ├── main.py ├── crew.py ├── tools/ │ ├── custom_tool.py │ └── __init__.py └── config/ ├── agents.yaml └── tasks.yaml
이제 src/my_project
폴더의 파일을 편집하여 팀 개발을 시작할 수 있습니다. main.py
파일은 프로젝트의 진입점이고, crew.py
파일은 팀을 정의하는 곳이고, agents.yaml
파일은 에이전트를 정의하는 곳이며, tasks.yaml
파일은 작업을 정의하는 곳입니다.
src/my_project/config/agents.yaml
수정하여 에이전트를 정의하세요.
src/my_project/config/tasks.yaml
수정하여 작업을 정의하세요.
src/my_project/crew.py
수정하여 고유한 논리, 도구 및 특정 인수를 추가하세요.
src/my_project/main.py
수정하여 에이전트 및 작업에 대한 사용자 정의 입력을 추가하세요.
환경 변수를 .env
파일에 추가합니다.
승무원을 초기화하십시오.
크루아이(crewai) 크루 최신 AI 개발 생성
사용 사례에 맞게 필요에 따라 파일을 수정합니다.
에이전트.yaml
# src/my_project/config/agents.yamlresearcher: 역할: > {topic} 선임 데이터 연구원 목표: > {topic} 뒷이야기에서 최첨단 개발 발견: > 귀하는 {topic} 뒷이야기에서 최신 개발을 발견하는 데 능숙한 노련한 연구원입니다. {주제}. 가장 관련성이 높은 정보를 찾아 명확하고 간결하게 제시하는 능력으로 잘 알려져 있습니다. Reporting_analyst: 역할: > {topic} 보고 분석가 목표: > {topic} 데이터 분석 및 연구 결과 뒷이야기를 기반으로 자세한 보고서 작성: > 귀하는 세부 사항에 대한 예리한 안목을 가진 세심한 분석가입니다. 귀하는 복잡한 데이터를 명확하고 간결한 보고서로 변환하여 귀하가 제공한 정보를 다른 사람들이 쉽게 이해하고 이에 따라 조치를 취할 수 있도록 하는 능력으로 유명합니다.
작업.yaml
# src/my_project/config/tasks.yamlresearch_task: 설명: > {주제}에 대한 철저한 조사를 수행합니다. 현재 연도가 2024년이라는 점을 고려하여 흥미롭고 관련 있는 정보를 찾았는지 확인하세요. Expect_output: > 가장 중요한 글머리 기호 10개가 포함된 목록 {topic} 에이전트에 대한 관련 정보: Researcherreporting_task: 설명: > 얻은 컨텍스트를 검토하고 각 주제를 보고서의 전체 섹션으로 확장하세요. 보고서가 상세하고 관련 정보가 모두 포함되어 있는지 확인하세요. 예상_출력: > 각 항목에는 정보의 전체 섹션이 포함된 주요 주제가 포함된 완전한 보고서입니다. '````' 에이전트 없이 마크다운 형식으로 지정됨: reporter_analyst 출력_파일: report.md
크루.py
# src/my_project/crew.pyfrom 크루ai import Agent, Crew, Process, Taskfrom 크루아이.프로젝트 import CrewBase, 에이전트, 크루, taskfrom 크루ai_tools import SerperDevTool@CrewBaseclass 최신AiDevelopmentCrew(): """LatestAiDevelopment 크루"""@agentdef Researcher(self ) -> 에이전트: 에이전트 반환( config=self.agents_config['researcher'], verbose=True, 도구=[SerperDevTool()] ) @agentdef reporter_analyst(self) -> 에이전트: return Agent( config=self.agents_config['reporting_analyst'], verbose=True ) @taskdef Research_task(self) -> 작업: return Task( config=self.tasks_config['research_task'], ) @taskdef reporter_task(self) -> 태스크: return Task( config=self.tasks_config['reporting_task'], output_file='report.md' ) @crewdef 크루(self) -> Crew: """LatestAiDevelopment 크루를 생성합니다."""return Crew( Agent=self.agents, # @agent에 의해 자동으로 생성됨 decoratortasks=self.tasks, # @task에 의해 자동으로 생성됨 데코레이터프로세스=프로세스.순차적, 자세한 내용=True, )
main.py
#!/usr/bin/env python# src/my_project/main.pyimport sysfromlatest_ai_development.crew importLatestAiDevelopmentCrewdef run():""" 크루를 실행합니다. """inputs = {'topic': 'AI Agents'}LatestAiDevelopmentCrew ().crew().kickoff(입력=입력)
팀을 실행하기 전에 .env
파일에 다음 키가 환경 변수로 설정되어 있는지 확인하세요.
OpenAI API 키(또는 기타 LLM API 키): OPENAI_API_KEY=sk-...
Serper.dev API 키: SERPER_API_KEY=YOUR_KEY_HERE
CLI 명령을 사용하여 종속성을 잠그고 설치합니다. 하지만 먼저 프로젝트 디렉터리로 이동합니다.
CD 내_프로젝트 Crewai 설치(선택 사항)
팀을 실행하려면 프로젝트 루트에서 다음 명령을 실행하세요.
크루아이런
또는
파이썬 src/my_project/main.py
시 사용으로 인해 오류가 발생하는 경우 다음 명령을 실행하여 크루아이 패키지를 업데이트하세요.
크루아이 업데이트
콘솔에서 출력을 볼 수 있으며 전체 최종 보고서와 함께 프로젝트 루트에 report.md
파일이 생성되어야 합니다.
순차적 프로세스 외에도 정의된 팀에 관리자를 자동으로 할당하여 결과 위임 및 검증을 통해 작업 계획 및 실행을 적절하게 조정하는 계층적 프로세스를 사용할 수 있습니다. 여기에서 프로세스에 대해 자세히 알아보세요.
역할 기반 에이전트 설계 : 특정 역할, 목표 및 도구를 사용하여 에이전트를 사용자 정의합니다.
자율적인 에이전트 간 위임 : 에이전트가 자율적으로 업무를 위임하고 서로 질의할 수 있어 문제 해결 효율성이 향상됩니다.
유연한 작업 관리 : 사용자 정의 가능한 도구로 작업을 정의하고 이를 에이전트에 동적으로 할당합니다.
프로세스 기반 : 현재 sequential
작업 실행과 hierarchical
프로세스만 지원하지만 합의 및 자율과 같은 보다 복잡한 프로세스가 작업 중입니다.
출력을 파일로 저장 : 개별 작업의 출력을 파일로 저장하여 나중에 사용할 수 있습니다.
Pydantic 또는 Json으로 출력 구문 분석 : 원하는 경우 개별 작업의 출력을 Pydantic 모델 또는 Json으로 구문 분석합니다.
오픈 소스 모델과 작동 : 오픈 AI 또는 오픈 소스 모델을 사용하여 팀을 운영하려면 로컬에서 실행되는 모델을 포함하여 에이전트의 모델 연결 구성에 대한 자세한 내용을 보려면 CrewAI를 LLM에 연결 페이지를 참조하세요!
CrewAI-examples 저장소에서 AI 승무원의 다양한 실제 사례를 테스트할 수 있습니다.
랜딩 페이지 생성기
실행에 대한 인간의 의견을 가짐
여행 플래너
주식 분석
이 예제의 코드를 확인하거나 아래 비디오를 시청하세요.
이 예제의 코드를 확인하거나 아래 비디오를 시청하세요.
이 예제의 코드를 확인하거나 아래 비디오를 시청하세요.
CrewAI는 다양한 연결 옵션을 통해 다양한 LLM 사용을 지원합니다. 기본적으로 에이전트는 모델을 쿼리할 때 OpenAI API를 사용합니다. 그러나 에이전트가 모델에 연결하도록 허용하는 다른 방법도 있습니다. 예를 들어 Ollama 도구를 통해 로컬 모델을 사용하도록 에이전트를 구성할 수 있습니다.
모델에 대한 에이전트 연결 구성에 대한 자세한 내용은 CrewAI를 LLM에 연결 페이지를 참조하세요.
CrewAI의 장점 : CrewAI는 생산을 염두에 두고 제작되었습니다. 이는 Autogen의 대화형 에이전트의 유연성과 ChatDev의 구조화된 프로세스 접근 방식을 제공하지만 경직성은 없습니다. CrewAI의 프로세스는 역동적이고 적응 가능하도록 설계되어 개발 및 생산 워크플로에 완벽하게 들어맞습니다.
Autogen : Autogen은 함께 작업할 수 있는 대화형 에이전트를 만드는 데는 능숙하지만 고유한 프로세스 개념이 부족합니다. Autogen에서 에이전트의 상호 작용을 조정하려면 추가 프로그래밍이 필요하며 이는 작업 규모가 커짐에 따라 복잡하고 번거로울 수 있습니다.
ChatDev : ChatDev는 프로세스 개념을 AI 에이전트 영역에 도입했지만 구현이 매우 엄격했습니다. ChatDev의 사용자 정의는 제한적이며 프로덕션 환경에 맞춰져 있지 않으므로 실제 애플리케이션의 확장성과 유연성을 방해할 수 있습니다.
CrewAI는 오픈 소스이며 기여를 환영합니다. 기여하고 싶다면 다음을 수행하세요.
저장소를 포크하십시오.
기능에 대한 새 분기를 만듭니다.
기능이나 개선 사항을 추가하세요.
끌어오기 요청을 보냅니다.
귀하의 의견에 감사드립니다!
자외선 차단 자외선 동기화
자외선 차단제
사전 커밋 설치
uv 실행 pytest .
UVX 마이피
UV 빌드
pip 설치 dist/*.tar.gz
CrewAI는 가장 많이 사용되는 기능, 통합 및 도구에 노력을 집중하여 라이브러리를 개선하는 데 도움이 되는 주요 목적으로 익명 원격 측정을 사용하여 사용 데이터를 수집합니다.
언급된 조건을 제외하고 프롬프트, 작업 설명, 에이전트의 배경 스토리나 목표, 도구 사용, API 호출, 응답, 에이전트가 처리한 모든 데이터, 비밀 및 환경 변수와 관련된 데이터가 수집되지 않는다는 점을 이해하는 것이 중요합니다. . share_crew
기능이 활성화되면 작업 설명, 상담원의 배경 이야기 또는 목표, 기타 특정 속성을 포함한 세부 데이터가 수집되어 사용자 개인 정보를 존중하면서 더 깊은 통찰력을 제공합니다. 지금은 비활성화할 수 있는 방법을 제공하지 않지만 앞으로는 그렇게 할 것입니다.
수집된 데이터에는 다음이 포함됩니다.
CrewAI 버전
그러면 얼마나 많은 사용자가 최신 버전을 사용하고 있는지 알 수 있습니다.
파이썬 버전
따라서 우리는 더 나은 지원을 위해 어떤 버전을 결정할 수 있습니다.
일반 OS(예: CPU 수, macOS/Windows/Linux)
따라서 우리는 어떤 OS에 집중해야 하는지, 특정 OS 관련 기능을 구축할 수 있는지 알고 있습니다.
팀의 에이전트 및 작업 수
따라서 우리는 유사한 사용 사례를 내부적으로 테스트하고 사람들에게 모범 사례를 교육하고 있습니다.
사용 중인 승무원 프로세스
우리가 어디에 노력을 집중해야 하는지 이해하기
에이전트가 메모리를 사용하거나 위임을 허용하는 경우
기능을 개선했는지 아니면 삭제했는지 이해하세요.
작업이 병렬 또는 순차적으로 실행되는 경우
병렬 실행에 더 집중해야 하는지 이해하기
사용되는 언어 모델
가장 많이 사용되는 언어에 대한 지원 개선
승무원 내 대리인의 역할
더 나은 도구, 통합 및 예시를 구축할 수 있도록 높은 수준의 사용 사례를 이해합니다.
사용 가능한 도구 이름
공개적으로 사용 가능한 도구 중에서 가장 많이 사용되는 도구를 이해하여 개선할 수 있습니다.
사용자는 승무원에서 share_crew
속성을 True
로 설정하여 전체 원격 측정 데이터를 공유하는 추가 원격 측정을 선택할 수 있습니다. share_crew
활성화하면 goal
, backstory
, context
및 작업 output
포함하여 자세한 팀 및 작업 실행 데이터가 수집됩니다. 이를 통해 사용자의 공유 선택을 존중하면서 사용 패턴에 대한 더 깊은 통찰력을 얻을 수 있습니다.
CrewAI는 MIT 라이선스에 따라 출시됩니다.
A: CrewAI는 역할극 자율 AI 에이전트를 조정하기 위한 최첨단 프레임워크입니다. 이를 통해 상담원은 협업 인텔리전스를 통해 복잡한 작업을 처리하면서 원활하게 협력할 수 있습니다.
A: pip를 사용하여 CrewAI를 설치할 수 있습니다.
pip 설치 크루
추가 도구를 사용하려면 다음을 사용하세요.
pip install 'crewai[도구]'
A: 예, CrewAI는 로컬 모델을 포함한 다양한 LLM을 지원합니다. Ollama 및 LM Studio와 같은 도구를 통해 로컬 모델을 사용하도록 에이전트를 구성할 수 있습니다. 자세한 내용은 LLM 연결 설명서를 확인하세요.
A: 주요 기능에는 역할 기반 에이전트 설계, 에이전트 간 자율 위임, 유연한 작업 관리, 프로세스 기반 실행, 파일로 출력 저장, 오픈 소스 및 독점 모델과의 호환성이 포함됩니다.
A: CrewAI는 프로덕션을 염두에 두고 설계되어 Autogen의 대화형 에이전트 및 ChatDev와 같은 구조화된 프로세스와 유사한 유연성을 제공하지만 실제 애플리케이션에 더 많은 적응성을 제공합니다.
A: 예, CrewAI는 오픈 소스이며 커뮤니티의 기여를 환영합니다.
A: CrewAI는 익명 원격 측정을 사용하여 개선 목적으로 사용 데이터를 수집합니다. 프롬프트, 작업 설명, API 호출 등 민감한 데이터는 수집되지 않습니다. 사용자는 자신의 크루에서 share_crew=True
설정하여 더 자세한 데이터를 공유하도록 선택할 수 있습니다.
A: CrewAI 예제 저장소에서 여행 계획자, 재고 분석 도구 등을 포함한 다양한 실제 예제를 찾을 수 있습니다.
A: 기여를 환영합니다! 저장소를 포크하고, 기능에 대한 새 분기를 생성하고, 개선 사항을 추가하고, 끌어오기 요청을 보낼 수 있습니다. 자세한 내용은 README의 기여 섹션을 확인하세요.