langroid
무엇인가
Langroid는 LLM 애플리케이션을 조립하는 Python 라이브러리다. LangChain과 같은 자리를 겨냥하지만 그 위에 얹히지 않고 독립적으로 구현됐다. 중심 추상화는 액터 모델에서 착안한 메시지 교환이다. 개발자는 에이전트를 정의하고 태스크를 배정한 뒤, 에이전트들이 메시지를 주고받으며 문제를 푸는 구조를 작성한다.
어떻게 동작하나
구성 요소는 Agent, Task, ToolMessage다. Agent에는 LLM, 벡터스토어, 도구/함수를 선택적으로 장착하고, Task에 배정해 메시지를 교환시키며 문제를 푼다. MCP 어댑터는 MCP 서버의 도구를 Langroid의 ToolMessage 인스턴스로 변환해 어떤 LLM 에이전트든 MCP 서버를 쓰게 한다. TaskTool은 도구와 설정을 갖춘 서브에이전트를 만들어 태스크를 위임하는 경로이고, done_sequences는 이벤트 패턴으로 태스크 종료를 선언한다. 문서 처리에는 DocChatAgent(RAG)와 SQLChatAgent가 있고, 벡터스토어는 Milvus·Pinecone, 문서 파서는 Marker·Markitdown·Crawl4AI·Firecrawl·Exa·LLMPdfParser를 쓴다.
무엇과 다른가
LangChain이나 다른 LLM 프레임워크를 의존성으로 쓰지 않고 독립적으로 구현됐다. 그래서 프레임워크 내부 추상화에 묶이지 않고 거의 모든 LLM과 조합된다. LLM 연결은 OpenAI 호환 API 외에 LiteLLM 프록시 서버, Portkey AI Gateway, LangDB 게이트웨이를 경유할 수 있고, Portkey 경유 시 200개 이상 모델을 하나의 API로 접근한다. 0.59.0에서 Pydantic V2로 완전히 이전해 검증이 5~50배 빨라졌고 하위 호환은 유지된다.
어떻게 쓰나
설치는 pip install langroid 한 줄이다. Agent를 만들고 LLM과 도구를 붙인 뒤 Task에 연결해 실행하는 흐름으로 시작한다. 공식 문서 사이트에 아키텍처 개요와 퀵 투어가 있고, 예제 저장소와 Quick-Start Colab이 OpenAI ChatCompletion API 기반 2-에이전트 정보 추출 예제까지 단계적으로 쌓는다. Claude Code 플러그인도 배포되어 Langroid 개발 패턴을 미리 정의된 형태로 쓸 수 있다.
전제와 한계
Python 런타임과 Pydantic V2가 전제다. 벡터스토어, 문서 파서, 크롤러, LLM 게이트웨이는 선택적 의존성이라 쓰는 것만 따로 설치한다. 0.67.0에서 벡터스토어 설정의 환경변수 접두사가 제공자별 env_prefix로 바뀌어 이전 이름과 다르다. MCP 서버의 도구는 어댑터를 거쳐야 노출된다.
관련 논문 5
유사 도구
- crewAI역할 기반 자율 AI 에이전트를 Crews로 묶고, 이벤트 기반 Flows로 실행을 제어하는 Python 멀티에이전트 오케스트레이션 프레임워크다.
- autogen여러 AI 에이전트를 계층형 API로 조립해 대화·코드 실행·분산 런타임을 구성하는 Python 멀티에이전트 프레임워크다.
- agentscope모델의 추론과 도구 사용 능력을 그대로 살려 에이전트를 조립하는 Python 프레임워크다. FastAPI 에이전트 서비스와 터미널 콘솔을 포함한다.
- haystack검색·라우팅·메모리·생성을 명시적 파이프라인과 에이전트 워크플로로 조립하는 Python LLM 오케스트레이션 프레임워크다.
- MetaGPT한 줄 요구사항을 입력하면 제품 관리자·아키텍트·엔지니어 역할의 LLM 에이전트 팀이 SOP 순서대로 요구사항·설계·API·코드를 산출하는 멀티에이전트 프레임워크다.
- langchainLLM 애플리케이션과 에이전트를 조립하는 Python 프레임워크다. 모델·임베딩·벡터 스토어·툴을 표준 인터페이스로 감싸 제공자 교체를 코드 수정 없이 처리한다.