본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 06. 03. 10:52

kyegomez/swarms

요약

Swarms는 엔터프라이즈급 프로덕션 환경을 위해 설계된 멀티 에이전트 오케스트레이션 프레임워크입니다. 순차적, 병렬적, 계층적 아키텍처를 지원하며, LLM과 도구, 메모리를 결합한 자율적 에이전트 시스템 구축을 돕습니다.

핵심 포인트

  • 순차적, 병렬적, 계층적 멀티 에이전트 아키텍처 제공
  • max_loops='auto' 설정을 통한 자율적 작업 종료 기능 지원
  • MCP, x402 등 다양한 프로토콜과의 상호 운용성 확보
  • LLM, 도구, 메모리가 결합된 자율적 에이전트 구성 가능

Swarms 웹사이트 • 문서 (Documentation) • Swarms 마켓플레이스 (Marketplace)

Swarms, 엔터프라이즈급 프로덕션 준비 완료된 멀티 에이전트 오케스트레이션 프레임워크 (Multi-Agent Orchestration Framework)

Swarms는 현재 사용 가능한 가장 신뢰할 수 있고, 확장 가능하며, 적응력이 뛰어난 멀티 에이전트 오케스트레이션 프레임워크입니다. 우리는 순차적 (sequential), 병렬적 (concurrent), 계층적 (hierarchical) 시스템을 포함하여 프로덕션 준비가 완료된 사전 구축된 멀티 에이전트 아키텍처의 포괄적인 제품군을 제공합니다. 또한, Swarms는 주요 에이전트 프레임워크와의 하위 호환성을 제공하며 MCP, x402, 스킬 (skills) 등과 같은 프로토콜과의 상호 운용성을 제공합니다.

$ pip3 install -U swarms

uv는 Rust로 작성된 빠른 Python 패키지 설치 프로그램 및 리졸버 (resolver)입니다.

$ uv pip install swarms

$ poetry add swarms

# 저장소 복제 (Clone the repository)
$ git clone https://github.com/kyegomez/swarms.git
$ cd swarms
...
OPENAI_API_KEY=""
WORKSPACE_DIR="agent_workspace"
ANTHROPIC_API_KEY=""
...

**에이전트 (Agent)**는 스웜 (swarm)의 근본적인 구성 요소입니다. 이는 LLM + 도구 (Tools) + 메모리 (Memory)에 의해 구동되는 자율적인 엔티티입니다. 자세한 내용은 여기에서 확인하세요.

from swarms import Agent
# 새로운 에이전트 초기화
agent = Agent(
...

max_loops="auto" 설정은

에이전트가 작업이 완료되었을 때를 스스로 결정하게 합니다. 즉, 고정된 횟수의 반복 후에 멈추는 대신, 중단 조건에 도달할 때까지 추론 (reasoning)과 행동 (acting)을 계속합니다. 이는 단계의 수를 미리 알 수 없는 개방형 다단계 작업에 권장되는 모드입니다.

from swarms import Agent
agent = Agent(
agent_name="Autonomous-Research-Agent",
...

max_loops="auto"를 사용해야 하는 경우:

  • 개방형 연구 또는 분석 작업
  • 반복적인 개선이 필요한 작업 (예: 작성 → 검토 → 수정)
  • 단계의 수가 중간 결과에 따라 달라지는 모든 워크플로우 (workflow)

고정된 max_loops 값을 사용해야 하는 경우:

  • 지연 시간 (latency)에 민감하거나 비용에 민감한 프로덕션 파이프라인 (production pipelines)
  • 단계의 수가 명확하게 정의되고 제한된 작업

Swarm은 함께 작동하는 여러 에이전트 (agents)로 구성됩니다. 이 간단한 예제는 블로그 포스트를 조사하고 작성하기 위한 2개 에이전트 워크플로우 (workflow)를 생성합니다. SequentialWorkflow에 대해 더 알아보기

from swarms import Agent, SequentialWorkflow
# Agent 1: 연구원 (The Researcher)
researcher = Agent(
...

swarms는 에이전트를 다양한 방식으로 오케스트레이션 (orchestrate)할 수 있는 강력하고 미리 구축된 다양한 멀티 에이전트 아키텍처 (multi-agent architectures)를 제공합니다. 효율적이고 신뢰할 수 있는 프로덕션 시스템 (production systems)을 구축하기 위해 특정 문제에 맞는 적절한 구조를 선택하세요.

아키텍처 (Architecture)설명 (Description)적합한 용도 (Best For)
SequentialWorkflow에이전트가 선형 체인 (linear chain) 형태로 작업을 실행합니다. 한 에이전트의 출력이 다음 에이전트의 입력이 됩니다.데이터 변환 파이프라인 (data transformation pipelines) 및 보고서 생성과 같은 단계별 프로세스.
ConcurrentWorkflow최대 효율을 위해 에이전트가 작업을 동시에 실행합니다.배치 처리 (batch processing) 및 병렬 데이터 분석과 같은 고처리량 (high-throughput) 작업.
AgentRearrange에이전트 간의 복잡한 관계 (예: a -> b, c)를 동적으로 매핑합니다.유연하고 적응력이 뛰어난 워크플로우, 작업 분배 및 동적 라우팅 (dynamic routing).
GraphWorkflow에이전트를 유향 비순환 그래프 (Directed Acyclic Graph, DAG)의 노드 (nodes)로 오케스트레이션합니다.소프트웨어 빌드와 같이 복잡한 의존성을 가진 복잡한 프로젝트.
MixtureOfAgents (MoA)여러 전문가 에이전트 (expert agents)를 병렬로 활용하고 그들의 출력을 합성합니다.복잡한 문제 해결 및 협업을 통한 최첨단 (state-of-the-art) 성능 달성.
GroupChat에이전트가 대화형 인터페이스를 통해 협업하고 의사결정을 내립니다.실시간 협업 의사결정, 협상 및 브레인스토밍.
ForestSwarm주어진 작업에 대해 가장 적합한 에이전트 또는 에이전트 트리 (tree of agents)를 동적으로 선택합니다.작업 라우팅, 전문성 최적화 및 복잡한 의사결정 트리.
HierarchicalSwarm계획을 수립하고 전문화된 워커 에이전트 (worker agents)에게 작업을 배분하는 디렉터 (director)가 에이전트를 오케스트레이션합니다.

피드백 루프 (feedback loops)를 포함한 복잡한 프로젝트 관리, 팀 조정 및 계층적 의사결정. |
HeavySwarm |
포괄적인 작업 분석을 위해 전문화된 에이전트 (Research, Analysis, Alternatives, Verification)를 사용하는 5단계 워크플로우 (workflow)를 구현합니다. | 복잡한 연구 및 분석 작업, 재무 분석, 전략적 계획 및 종합 보고. |
SwarmRouter |
동적 선택을 통해 모든 유형의 스웜 (swarm)을 실행할 수 있는 단일 인터페이스를 제공하는 범용 오케스트레이터 (orchestrator)입니다. | 복잡한 워크플로우 단순화, 스웜 전략 간 전환, 통합된 멀티 에이전트 (multi-agent) 관리. |

SequentialWorkflow는 작업을 엄격한 순서대로 실행하여, 각 에이전트가 이전 에이전트의 작업 결과물을 바탕으로 작업을 이어가는 파이프라인 (pipeline)을 형성합니다. SequentialWorkflow는 명확하고 순차적인 단계가 있는 프로세스에 이상적입니다. 이를 통해 의존성이 있는 작업들이 올바르게 처리되도록 보장합니다.

from swarms import Agent, SequentialWorkflow
# 에이전트 1: 연구원 (The Researcher)
researcher = Agent(
...

ConcurrentWorkflow는 여러 에이전트를 동시에 실행하여 작업의 병렬 실행 (parallel execution)을 가능하게 합니다. 이 아키텍처 (architecture)는 병렬로 수행할 수 있는 작업의 실행 시간을 획기적으로 단축하며, 에이전트들이 유사한 작업을 동시에 수행하는 고처리량 (high-throughput) 시나리오에 이상적입니다.

from swarms import Agent, ConcurrentWorkflow
# 다양한 분석 작업을 위한 에이전트 생성
market_analyst = Agent(
...

einsum에서 영감을 받은 AgentRearrange를 사용하면 간단한 문자열 기반 구문을 사용하여 에이전트 간의 복잡하고 비선형적인 관계를 정의할 수 있습니다. 자세히 알아보기. 이 아키텍처는 에이전트가 병렬로, 순차적으로, 또는 사용자가 선택한 임의의 조합으로 작동할 수 있는 동적 워크플로우를 오케스트레이션하는 데 완벽합니다.

from swarms import Agent, AgentRearrange
# 에이전트 정의
researcher = Agent(agent_name="researcher", model_name="gpt-5.4")
...

GraphWorkflow

GraphWorkflow

에이전트들을 유향 비순환 그래프 (Directed Acyclic Graph, DAG)의 노드 (node)로 오케스트레이션 (orchestrates)합니다. 각 노드는 에이전트이며 각 엣지 (edge)는 의존성 (dependency)을 선언하므로, 특정 노드는 모든 상위 노드 (upstream node)가 완료된 후에만 실행됩니다. 위상 정렬 (topological sort)을 통해 올바른 실행 순서를 보장하며, 독립적인 브랜치 (branches)들은 자동으로 병렬 실행됩니다.

이러한 특징 덕분에 GraphWorkflow는 워크플로우에 팬아웃/팬인 (fan-out / fan-in) 패턴, 조건부 의존성 (conditional dependencies), 또는 엄격한 선형 구조나 단순한 평면 병렬 배치 (flat parallel batch)에 맞지 않는 구조가 포함될 때 적합한 선택이 됩니다. GraphWorkflow에 대해 더 자세히 알아보세요.

from swarms import Agent, GraphWorkflow, Node, Edge, NodeType
# 에이전트 정의
researcher = Agent(agent_name="Researcher", system_prompt="Research the given topic and produce key findings.", model_name="gpt-5.4")
...

GraphWorkflow는 다음과 같은 작업에 탁월합니다:

복잡한 의존성 (Complex Dependencies): 팬아웃 (fan-out), 팬인 (fan-in), 다이아몬드 패턴 (diamond patterns)을 포함한 모든 DAG를 표현할 수 있습니다.
자동 병렬화 (Automatic Parallelism): 독립적인 브랜치들이 추가 설정 없이도 동시에 실행됩니다.
노드별 관찰 가능성 (Per-node Observability): 콜백 (callbacks)을 통해 노드 완료 시점에 연결하여 스트리밍 (streaming) 및 진행 상황 추적을 할 수 있습니다.

SwarmRouter는 모든 유형의 스웜 (swarm)을 실행할 수 있는 단일 인터페이스를 제공함으로써 복잡한 워크플로우 구축을 단순화합니다. 서로 다른 스웜 클래스들을 일일이 임포트 (import)하고 관리하는 대신, swarm_type 파라미터를 변경하는 것만으로 필요한 스웜을 동적으로 선택할 수 있습니다. 전체 문서를 읽어보세요.

이를 통해 코드가 더 깔끔하고 유연해지며, 다양한 멀티 에이전트 (multi-agent) 전략 사이를 쉽게 전환할 수 있습니다. 다음은 에이전트를 정의한 후 SwarmRouter를 사용하여 서로 다른 협업 전략으로 동일한 작업을 실행하는 방법을 보여주는 전체 예시입니다.

from swarms import Agent, SwarmRouter, SwarmType
# 몇 가지 일반적인 에이전트 정의
writer = Agent(agent_name="Writer", system_prompt="You are a creative writer.", model_name="gpt-5.4")
...

SwarmRouter

SwarmRouter는 멀티 에이전트 오케스트레이션 (multi-agent orchestration)을 단순화하기 위한 강력한 도구입니다. 이는 다양한 협업 전략을 배포할 수 있는 일관되고 유연한 방법을 제공하여, 더 적은 코드로 더욱 정교한 애플리케이션을 구축할 수 있게 해줍니다.

AutoSwarmBuilder

사용자의 작업 설명 (task description)을 기반으로 특화된 에이전트 (agents)와 그 워크플로우 (workflows)를 자동으로 생성합니다. 필요한 사항을 설명하기만 하면, 상세한 프롬프트 (prompts)와 최적의 에이전트 설정 (agent configurations)을 갖춘 완전한 멀티 에이전트 시스템을 생성합니다. AutoSwarmBuilder에 대해 더 알아보기

from swarms import AutoSwarmBuilder
import json
# AutoSwarmBuilder 초기화
...

AutoSwarmBuilder는 다음을 제공합니다:

자동 에이전트 생성 (Automatic Agent Generation): 작업 요구 사항을 기반으로 특화된 에이전트 생성
지능형 프롬프트 엔지니어링 (Intelligent Prompt Engineering): 각 에이전트를 위한 포괄적이고 상세한 프롬프트 생성
최적의 워크플로우 설계 (Optimal Workflow Design): 최적의 에이전트 상호작용 및 워크플로우 구조 결정
프로덕션 준비 완료된 설정 (Production-Ready Configurations): 배포 준비가 된 완전한 설정의 에이전트 반환
유연한 아키텍처 (Flexible Architecture): 다양한 스웜 (swarm) 유형 및 에이전트 전문화 지원

이 기능은 수동 설정 없이 신속한 프로토타이핑 (prototyping), 복잡한 작업 분해 (task decomposition), 그리고 특화된 에이전트 팀을 구성하는 데 완벽합니다.

MixtureOfAgents 아키텍처는 작업을 여러 "전문가 (expert)" 에이전트에게 병렬로 전달하여 처리합니다. 이후 이들의 다양한 출력값은 어그리게이터 (aggregator) 에이전트에 의해 합성되어 최종적인 고품질 결과를 생성합니다. 여기서 더 알아보기

from swarms import Agent, MixtureOfAgents
# 전문가 에이전트 정의
financial_analyst = Agent(agent_name="FinancialAnalyst", system_prompt="Analyze financial data.", model_name="gpt-5.4")
...

GroupChat

GroupChat

여러 에이전트(Agent)가 상호작용하고, 토론하며, 협력하여 문제를 해결할 수 있는 대화 환경을 생성합니다. 발언 순서를 직접 정의하거나 동적으로 결정되도록 설정할 수 있습니다. 이 아키텍처(Architecture)는 계약 협상, 브레인스토밍(Brainstorming) 또는 복잡한 의사결정과 같이 토론과 다각적 추론(Multi-perspective reasoning)으로부터 이득을 얻는 작업에 이상적입니다.

from swarms import Agent, GroupChat
# 토론을 위한 에이전트 정의
tech_optimist = Agent(agent_name="TechOptimist", system_prompt="Argue for the benefits of AI in society.", model_name="gpt-5.4")
...

HierarchicalSwarm

중앙 디렉터(Director) 에이전트가 종합적인 계획을 수립하고 전문화된 워커(Worker) 에이전트들에게 특정 작업을 배분하는 디렉터-워커(Director-worker) 패턴을 구현합니다. 디렉터는 결과를 평가하고 피드백 루프(Feedback loops)를 통해 새로운 명령을 내릴 수 있어, 복잡한 프로젝트 관리 및 팀 조정 시나리오에 이상적입니다.

from swarms import Agent, HierarchicalSwarm
# 전문화된 워커 에이전트 정의
content_strategist = Agent(
...

HierarchicalSwarm은 다음 작업에 탁월합니다:

복잡한 프로젝트 관리 (Complex Project Management): 큰 작업을 전문화된 하위 작업(Subtasks)으로 분해
팀 조정 (Team Coordination): 모든 에이전트가 통일된 목표를 향해 작업하도록 보장
품질 관리 (Quality Control): 디렉터가 피드백 및 개선 루프(Refinement loops)를 제공
확장 가능한 워크플로우 (Scalable Workflows): 필요에 따라 새로운 전문 에이전트를 쉽게 추가 가능

HeavySwarm

X.AI의 Grok heavy 구현에서 영감을 받은 정교한 5단계 워크플로우(Workflow)를 구현합니다. 지능적인 질문 생성, 병렬 실행(Parallel execution) 및 종합(Synthesis)을 통해 전문화된 에이전트(연구, 분석, 대안, 검증)를 사용하여 포괄적인 작업 분석을 제공합니다. 이 아키텍처는 철저한 조사와 다각적인 관점이 필요한 복잡한 연구 및 분석 작업에 탁월합니다.

from swarms import HeavySwarm
# Pip install swarms-tools
from swarms_tools import exa_search
...

HeavySwarm은 다음을 제공합니다:

  • 5단계 분석 (5-Phase Analysis): 질문 생성 (Question generation), 조사 (research), 분석 (analysis), 대안 탐색 (alternatives), 그리고 검증 (verification) -
  • 특화된 에이전트 (Specialized Agents): 각 단계는 최적의 결과를 위해 목적에 맞게 구축된 에이전트 (agents)를 사용합니다 -
  • 포괄적인 범위 (Comprehensive Coverage): 다각적인 관점과 철저한 조사를 제공합니다 -
  • 실시간 대시보드 (Real-time Dashboard): 분석 과정에 대한 선택적 시각화 (visualization)를 제공합니다 -
  • 구조화된 출력 (Structured Output): 잘 정리되고 실행 가능한 결과를 제공합니다

이 아키텍처 (architecture)는 금융 분석 (financial analysis), 전략 기획 (strategic planning), 조사 보고서 (research reports), 그리고 깊이 있고 다각적인 분석이 필요한 모든 작업에 완벽합니다. HeavySwarm에 대해 더 알아보기

**소셜 알고리즘 (Social Algorithms)**은 에이전트 (agents) 간의 커스텀 통신 패턴 (communication patterns)을 정의하기 위한 유연한 프레임워크 (framework)를 제공합니다. 통신 순서를 정의하는 호출 가능한 (callable) 함수로서 임의의 소셜 알고리즘을 업로드할 수 있으며, 이를 통해 에이전트들이 정교한 방식으로 서로 대화할 수 있도록 합니다. Social Algorithms에 대해 더 알아보기

from swarms import Agent, SocialAlgorithms
# 커스텀 소셜 알고리즘 정의
def research_analysis_synthesis_algorithm(agents, task, **kwargs):
...

복잡한 멀티 에이전트 워크플로우 (multi-agent workflows), 협업적 문제 해결 (collaborative problem-solving), 그리고 커스텀 통신 프로토콜 (communication protocols)을 구현하는 데 완벽합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0