langroid/langroid
Harness LLMs with Multi-Agent Programming
Langroid – 멀티 에이전트 LLM 애플리케이션 구축을 위한 경량 Python 프레임워크
그것이 무엇인가
- 오픈 소스 Python 라이브러리(CMU 및 UW-Madison 출신)로, 모든 대규모 언어 모델(LLM)을 기반으로 하는 에이전트를 생성, 구성, 실행할 수 있습니다.
- 에이전트에는 언어 모델, 벡터 스토어(검색 증강 생성을 위한), 사용자 정의 도구/함수를 장착할 수 있으며, 메시지를 교환하여 작업을 해결하도록 오케스트레이션할 수 있습니다.
핵심 아이디어
- Agent – 대화 상태를 유지하고 도구를 호출할 수 있는 LLM의 얇은 래퍼입니다.
- Task – 사용자 정의 루프를 통해 에이전트(또는 하위 작업 계층)를 구동하는 실행 가능한 단위입니다.
- ToolMessage – LLM의 추론 내에서 Python 함수(도구)를 트리거하는 타입이 지정된 메시지입니다.
- 멀티 에이전트 오케스트레이션 – 에이전트를 부모-자식 관계로 연결하여 교사-학생 대화, 도구 위임, 협업 정보 추출과 같은 패턴을 가능하게 합니다.
주요 기능(README에 나열된 대로)
- 모든 OpenAI 호환 LLM과 작동합니다(OpenAI, Anthropic, Mistral, Gemini, Ollama를 통한 로컬 모델 등).
- LangChain 또는 다른 LLM 프레임워크에 대한 의존성이 없습니다 – 순수하고 자체 포함되어 있습니다.
- 많은 벡터 스토어(Qdrant, Milvus, Pinecone, pgvector, Weaviate, ArangoDB 등)와 웹 검색 도구(Tavily, Exa, Firecrawl)에 대한 내장 지원.
- 멀티모달 입력(PDF, 이미지, HTML, PPTX 등) 및 전용 파서(GeminiPdfParser, docling, pymupdf4llm).
- JSON 스키마를 통한 구조화된 출력 강제.
- 퓨샷 예제를 통한 도구 호출, "잊혀진" 도구 사용 자동 처리, 큰 결과 잘림.
- 외부 도구 서버에 연결하기 위한 MCP(Multi-Chat-Protocol) 도구 어댑터.
- 비동기 스트리밍, 컨텍스트 오버플로 잘림, 작업 예산 제한, 무한 루프 감지.
- 대화형 작업 검사를 위한 시각적 HTML 로거.
- Claude Code용 확장 가능한 플러그인 및 다중 아키텍처 배포를 위한 Docker 이미지.
일반적인 사용 사례
- 지식 베이스나 데이터베이스를 쿼리해야 하는 대화형 어시스턴트.
- 문서에 대한 질문에 답변하기 위한 검색 증강 생성(DocChatAgent).
- 구조화된 데이터 추출 파이프라인(예: 약물 감시 보고서 추출).
- 멀티 에이전트 교육/학습 시뮬레이션, 도구 위임 워크플로우, 또는 여러 LLM이 조정해야 하는 모든 시나리오.
시작하기
pip install langroid # 또는 추가 기능 설치, 예: `pip install "langroid[doc-chat]"`
- 배지에 링크된 빠른 시작 Colab 노트북을 따르세요.
- LLM 구성으로
ChatAgentConfig를 만들고,ChatAgent를 인스턴스화하고,Task로 감싼 다음task.run()을 호출하세요. - 멀티 에이전트 예제는 동반
langroid-examples저장소를 참조하세요.
문서 및 커뮤니티
- 전체 문서: https://langroid.github.io/langroid/
- 예제 저장소: https://github.com/langroid/langroid-examples
- Discord 커뮤니티, Substack 뉴스레터, 개발 가속화를 위한 Claude Code 플러그인.
성숙도
- 적극적으로 유지 관리됨(최신 릴리스 0.68.0, 2026년 9월) – 빈번한 기능 릴리스, CI 테스트, 코드 커버리지, Docker 빌드.
- Nullify와 같은 회사에서 프로덕션에 사용되며, README에 공개 추천서가 있습니다.
라이선스
- 저장소는 오픈 소스입니다(README에는 라이선스가 명시되지 않았지만, PyPI 패키지는 OSI 승인 라이선스로 릴리스됩니다).
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트