안녕하세요.
오늘은 오픈소스 기반으로 만들어진 멀티 에이전트 AI 자동화 프레임워크인 LangManus에 대해 소개드립니다. 이 프로젝트는 다양한 언어 모델(LLM)과 도구들을 연동하여 웹 검색, 코드 실행, 데이터 수집 등 복잡한 작업을 자동화할 수 있도록 설계되었습니다.
LangManus 소개
LangManus는 커뮤니티 주도로 개발된 AI 자동화 프레임워크입니다. 오픈소스 생태계의 힘을 바탕으로 개발되었으며, 웹 크롤링, 코드 실행, 보고서 생성 등 다양한 작업을 수행하는 멀티 에이전트 시스템을 구현하고 있습니다. 이 프레임워크는 학술 연구, 실험적 프로젝트, 개발 자동화 등 폭넓은 활용이 가능하며, 누구나 자유롭게 사용하고 기여할 수 있습니다.
LangManus는 LLM(Language Model)을 중심으로 다양한 도구와 역할 기반 에이전트를 연결하여 사용자 요청을 자동으로 처리합니다. 개발자나 연구자뿐만 아니라 초보자도 쉽게 시작할 수 있도록 설계된 것이 가장 큰 장점 중 하나입니다.
LangManus의 구조 및 기능
🧠 아키텍처: 멀티 에이전트 시스템 구조
LangManus는 계층형 멀티 에이전트 시스템을 채택하고 있습니다. 각 에이전트는 특정 역할에 특화되어 있으며, 다음과 같은 주요 구성 요소로 이루어집니다:
- Coordinator: 사용자 요청을 처음 받아 분석합니다.
- Planner: 요청을 분해하고 실행 계획을 수립합니다.
- Supervisor: 전체 작업을 감독하고 에이전트 간의 협업을 조율합니다.
- Researcher: Tavily API 등을 이용해 웹 검색 및 정보 수집을 수행합니다.
- Coder: Python 코드 작성 및 실행을 담당합니다.
- Browser: 브라우저를 조작하여 웹 페이지의 내용을 추출합니다.
- Reporter: 최종 보고서나 결과 요약을 생성합니다.
⚙️ 핵심 기능: AI 자동화의 모든 것
LangManus는 다양한 기능을 통해 복잡한 작업을 자동화합니다.
- 다중 언어 모델 통합: Qwen, OpenAI, Azure 모델 등 다양한 LLM을 동시에 지원합니다.
- Python 통합: 코드 실행, REPL 환경 지원, 패키지 의존성 관리가 가능합니다.
- 웹 정보 수집: Tavily API, Jina 기반 뉴럴 검색, 브라우저 기반 크롤링 기능 제공
- 프롬프트 기반 역할 분리: 각 에이전트는 Markdown 템플릿을 기반으로 동작하며, 역할이 명확하게 구분됩니다.
🚀 차별점: 왜 LangManus인가?
LangManus는 단순한 프레임워크를 넘어 다음과 같은 차별점을 지닙니다:
- 오픈소스 연동성: 다양한 오픈소스 도구들과 손쉽게 연결할 수 있습니다.
- 유연한 에이전트 구성: 개발자가 팀을 구성하듯 에이전트를 설계할 수 있습니다.
- LLM 계층화 시스템: 단순한 요청은 기본 모델로, 복잡한 요청은 고도화된 모델로 처리
- 시각화된 워크플로우: 에이전트 간 작업 흐름을 시각적으로 확인할 수 있어 디버깅과 튜닝이 용이합니다.
LangManus 빠른 시작
📥 리포지토리 클론
먼저 GitHub에서 LangManus 프로젝트를 클론합니다.
git clone https://github.com/langmanus/langmanus.git
cd langmanus
🔧 의존성 설치
LangManus는 uv
라는 패키지 매니저를 사용하여 Python 환경을 자동으로 구성합니다.
uv sync
uv run playwright install
🧪 실행 테스트
환경 변수를 설정한 후 아래 명령어로 프로젝트를 실행합니다.
cp .env.example .env
# .env 파일 안에 API 키를 입력한 뒤
uv run main.py
설치를 위한 시스템 요구사항
💻 uv 패키지 매니저 설치
uv는 Python 버전 관리, 가상환경 생성, 패키지 설치를 모두 지원하는 올인원 도구입니다.
uv python install 3.12
uv venv --python 3.12
source .venv/bin/activate
📁 Playwright 설치
Playwright는 LangManus에서 브라우저 기반 검색 기능을 사용할 때 필요한 라이브러리입니다.
uv run playwright install
⚙️ 기타 구성 요소
- Python 3.12 이상 권장
- Mac/Windows/Linux 모두 지원
- Chrome 브라우저 설치 권장
환경설정 구성 방법
🔑 API 키 구성
.env
파일에 다음과 같은 키들을 입력해야 시스템이 정상 동작합니다.
REASONING_MODEL
: 복잡한 추론용 LLMBASIC_MODEL
: 단순 작업용 LLMVL_MODEL
: 이미지 분석용 모델TAVILY_API_KEY
: 웹 검색을 위한 키JINA_API_KEY
: 선택적 뉴럴 검색 API 키
🧩 Azure LLM 통합
Azure 기반 GPT를 사용하는 경우, 다음 항목을 추가 구성합니다.
AZURE_API_BASE
,AZURE_API_KEY
,AZURE_API_VERSION
- 각 모델별로 Azure 배포 ID 설정
🌐 브라우저 설정
크롬 브라우저 경로, 프록시 서버, 헤드리스 여부도 설정 가능합니다.
API 서버 및 스트리밍 기능
🛰️ FastAPI 서버 실행
make serve
# 또는
uv run server.py
📡 스트리밍 엔드포인트
다음 API로 LangManus와 대화형으로 통신할 수 있습니다:
POST /api/chat/stream
요청 예시:
{
"messages": [{ "role": "user", "content": "DeepSeek R1에 대해 알려줘" }],
"debug": false
}
💬 실시간 응답
SSE(Server Sent Events) 방식으로 실시간으로 결과를 받을 수 있습니다.
Docker를 활용한 LangManus 배포
🐳 Docker 이미지 빌드
docker build -t langmanus .
⚙️ API 서버 Docker 실행
docker run --name langmanus -d --env-file .env -e CHROME_HEADLESS=True -p 8000:8000 langmanus
🧪 CLI 기반 실행
docker run --rm -it --env-file .env -e CHROME_HEADLESS=True langmanus uv run python main.py
LangManus Web UI 사용법
🖥️ 기본 UI 제공
LangManus는 기본 웹 UI를 제공합니다. 별도 프로젝트에서 UI 리포지토리를 확인할 수 있습니다.
🧭 UI 주요 기능
- 사용자 입력 인터페이스
- 에이전트 진행 상황 시각화
- 스트리밍 응답 확인
프롬프트 시스템 및 에이전트 역할 정의
📄 역할 기반 프롬프트
LangManus는 Markdown 파일을 기반으로 각 에이전트의 역할과 행동을 정의합니다.
🎭 주요 에이전트 역할
- Supervisor: 작업 분배 및 결정
- Researcher: 정보 수집 및 웹 검색
- Coder: Python 코드 작성 및 분석
- File Manager: 파일 저장 및 관리
- Browser: 페이지 탐색, 클릭, 타이핑
🔧 프롬프트 템플릿 구조
프롬프트는 변수 치환 시스템과 템플릿 엔진으로 동작하며, 에이전트의 동작을 유연하게 조절할 수 있습니다.
출처
https://github.com/langmanus/langmanus
GitHub - langmanus/langmanus: A community-driven AI automation framework that builds upon the incredible work of the open source
A community-driven AI automation framework that builds upon the incredible work of the open source community. Our goal is to combine language models with specialized tools for tasks like web search...
github.com
'AI 오픈소스' 카테고리의 다른 글
Lightpanda 브라우저: AI 자동화와 웹 스크래핑을 위한 궁극의 헤드리스 브라우저 (1) | 2025.03.22 |
---|---|
[AI 오픈소스] NVIDIA Isaac GR00T N1 – 범용 휴머노이드 로봇 인공지능의 미래 (0) | 2025.03.21 |
Dice DB : 초고속 반응형 인메모리 오픈소스 데이터베이스 (0) | 2025.03.21 |
SmolDocling: 문서 변환을 위한 초경량 VLM모델 소개 (1) | 2025.03.21 |
Microsoft Data Formulator로 AI 기반 데이터 시각화하기 (0) | 2025.03.20 |