프로젝트 소개

Swarms는 멀티에이전트 시스템을 구축하고 오케스트레이션하기 위한 Python 프레임워크입니다. 사전 구축된 오케스트레이션 아키텍처 세트와 공통 Agent 추상화를 제공하므로, 동일한 에이전트를 다양한 협업 전략에서 재사용할 수 있습니다. 핵심 구성 요소 - Agent: 모델 이름, 시스템 프롬프트, 루프 횟수 및 관련 옵션으로 구성되는, 도구와 메모리를 갖춘 LLM 기반 엔티티입니다. max_loops="auto"로 설정하면 고정된 반복 횟수 후 중지하는 대신 에이전트가 작업 완료 시점을 스스로 판단합니다. - Workflows: SequentialWorkflow는 각 출력이 다음 입력으로 이어지도록 에이전트를 연결합니다. ConcurrentWorkflow는 동일한 작업에 대해 에이전트를 병렬로 실행합니다. AgentRearrange는 "a -> b, c"와 같은 문자열 구문으로 비선형 흐름을 표현합니다. GraphWorkflow는 에이전트를 DAG의 노드로 모델링하며 명시적 엣지, 진입점과 종료점, 자동 위상 정렬, 병렬 독립 분기를 지원합니다. - 상위 수준 패턴: MixtureOfAgents는 전문 에이전트를 병렬로 실행하고 애그리게이터로 결과를 종합합니다. GroupChat은 대화형 협업을 지원합니다. ForestSwarm은 작업에 적합한 에이전트 또는 에이전트 트리를 선택합니다. HierarchicalSwarm은 작업을 계획하고 전문 작업자에게 분배하는 디렉터를 사용합니다. HeavySwarm은 다단계 연구 및 분석 워크플로를 기술합니다. SwarmRouter는 매개변수 변경만으로 지원되는 모든 스웜 유형을 실행할 수 있는 단일 인터페이스를 제공합니다. - AutoSwarmBuilder는 작업 설명으로부터 에이전트, 프롬프트, 워크플로 구조를 생성하며, 생성된 에이전트 구성을 선택적으로 반환할 수 있습니다. 상호운용성 에이전트는 MCP 서버 URL을 설정하여 Model Context Protocol을 통해 외부 도구를 사용할 수 있으며, MCPDeployer는 에이전트, 스웜 또는 함수를 구성 가능한 인증(정적 API 키, 사용자 정의 인증 콜러블, 스코프가 있는 토큰 검증기)과 HTTP, SSE 또는 stdio 전송 방식을 갖춘 MCP 서버로 노출할 수 있습니다. README에는 x402 및 skills와 같은 다른 에이전트 프레임워크 및 프로토콜과의 하위 호환성도 언급되어 있습니다. 설치 및 사용 pip, uv 또는 poetry를 통해 설치하거나 소스에서 설치할 수 있습니다. 구성은 주로 API 키 및 작업 공간 디렉터리와 같은 환경 변수를 통해 이루어집니다. README의 예제는 첫 번째 에이전트, 자율 에이전트, MCP 클라이언트 및 서버 설정, 여러 스웜 아키텍처를 다룹니다. 이 프로젝트는 PyPI 패키지로 배포되며, 추가 자료를 위한 문서, 웹사이트 및 마켓플레이스 링크를 제공합니다.