최근 공개된 오픈소스 라이브러리 니르남(Nirnam)이 웹 개발자들 사이에서 주목받고 있습니다. 이 도구는 마이크로 프런트엔드(MFE) 아키텍처와 브라우저 기반 AI 에이전트 시스템의 복잡한 통신 문제를 해결하기 위해 설계되었습니다. 백엔드 서버 없이도 브라우저 내에서 다양한 스크립트와 탭, 웹 워커(Web Worker) 간에 메시지를 주고받을 수 있는 공유 메시지 버스를 제공하는 것이 핵심입니다.
니르남은 브로드캐스트 채널(BroadcastChannel), 블롭 URL(Blob-URL) 기반 셰어드 워커(SharedWorker), 그리고 스태틱 URL(Static-URL) 셰어드 워커의 세 가지 계층으로 구성된 하이브리드 메시지 버스를 사용합니다. 개발자는 `createBus()` 함수 하나만 호출하면 니르남이 상황에 맞는 최적의 통신 계층을 자동으로 선택합니다. 이를 통해 퍼블리시/구독(pub/sub), 요청/응답(request-reply), 스트리밍(streaming)은 물론, 에이전트 등록 및 다중 에이전트 시스템 통신까지 지원합니다. 특히, 모듈 페더레이션(Module Federation)을 사용하는 리액트(React) MFE 간 상태 공유나, 한 탭에서 LLM(대규모 언어모델)을 호스팅하고 다른 탭에서 프록시 에이전트를 통해 접근하는 등의 복잡한 시나리오를 예제와 함께 제공하여 활용 가능성을 보여줍니다.
이러한 니르남의 등장은 웹 애플리케이션 개발 방식에 중요한 변화를 가져올 수 있습니다. 특히 브라우저 내에서 직접 AI 기능을 구현하려는 시도가 늘어나는 상황에서, 니르남은 다중 에이전트 시스템 구축의 기술적 장벽을 크게 낮출 수 있습니다. 개발자들은 복잡한 백엔드 통신 로직 없이도, 브라우저 환경에서 분산된 AI 에이전트들이 서로 협력하고 데이터를 교환하는 시스템을 더 효율적으로 만들 수 있게 됩니다. 이는 웹 애플리케이션의 반응성과 오프라인 기능 강화에도 기여하며, 사용자 경험을 한층 향상시킬 잠재력을 가지고 있습니다.