NanoClaw 로고
NanoClaw

NanoClaw 핵심 기능 심층 분석: 컨테이너 격리, WhatsApp 및 에이전트 클러스터

7분 읽기

NanoClaw의 6가지 핵심 기능 심층 탐구: Linux 컨테이너 격리 보안 모델, WhatsApp 그룹 컨텍스트 관리, Claude 에이전트 SDK 스트리밍 추론, cron 정기 작업, 에이전트 클러스터 병렬 처리 및 SQLite 그룹 메모리.

컨테이너 격리: 에이전트마다 제공되는 전용 샌드박스

NanoClaw의 보안 모델은 Linux 컨테이너를 기반으로 구축되었습니다. 에이전트 작업을 실행할 때마다 NanoClaw는 해당 작업을 위한 독립적인 Linux 컨테이너를 생성합니다. 이 컨테이너는 자체적인 격리된 파일 시스템을 가지며, 사용자가 명시적으로 마운트한 디렉터리만 에이전트가 볼 수 있습니다.

이것이 무엇을 의미할까요? 예를 들어 Claude에게 프로젝트 리팩토링을 요청했다고 가정해 봅시다. 에이전트는 사용자가 마운트한 /home/user/project 디렉터리는 읽을 수 있지만, /home/user/personal이나 시스템의 /etc/passwd에는 접근할 수 없습니다. Bash 명령은 컨테이너 내부에서만 실행되므로, 누군가 악의적인 프롬프트를 정교하게 설계하더라도 호스트 시스템으로 탈출할 수 없습니다.

핵심 보안 속성:

  • 파일 시스템 격리: 마운트되지 않으면 보이지 않음
  • 네트워크 정책 제어: 컨테이너별 아웃바운드 연결 제한
  • 프로세스 격리: 에이전트 프로세스는 호스트의 프로세스 트리를 볼 수 없음
  • 리소스 제한: CPU 및 메모리 상한선 설정 가능

터미널에서 직접 claude 명령을 실행하는 것과 비교했을 때, 컨테이너 격리는 실질적인 보안 경계층을 하나 더 추가하는 것입니다. 단순히 "믿고 쓰는" 보안이 아닌, 커널 수준의 강제 격리입니다.

WhatsApp 통합: 손안의 Claude

이 기능은 NanoClaw에서 가장 눈에 띄는 부분입니다. WhatsApp 그룹을 만들고 NanoClaw의 WhatsApp 번호를 초대한 뒤, 그룹 내에서 @멘션하거나 메시지를 보내면 Claude가 바로 답변합니다.

그룹 단위 컨텍스트 격리

각 WhatsApp 그룹은 완전히 독립된 대화 컨텍스트를 가집니다. 그룹 A에서는 코드 리팩토링을 논의하고, 그룹 B에서는 콘텐츠 제작을 논의하더라도 두 그룹의 CLAUDE.md 메모리 파일은 분리되어 서로 간섭하지 않습니다.

실제 사용 경험

text
사용자: @nanoclaw 이 에러 로그 좀 분석해줘    [server-error.log 업로드]NanoClaw: 로그를 확인해보니 핵심 문제는 데이터베이스 연결 풀 고갈이네요...         max_connections 설정을 20에서 50으로 조정하는 것을 권장합니다.

이 모든 과정이 스마트폰에서 완료됩니다. 컴퓨터를 켜거나 웹사이트에 로그인할 필요가 없습니다. 출퇴근길에도 Claude를 통해 문제를 진단할 수 있습니다.

기술 구현

WhatsApp 통합은 @whiskeysockets/baileys 라이브러리를 기반으로 하며, WhatsApp Web 프로토콜을 통해 연결됩니다. NanoClaw는 영구적인 SQLite 메시지 저장소를 유지하여 재시작 후에도 대화 기록이 손실되지 않도록 합니다.

Claude 에이전트 SDK: 스트리밍 에이전트 엔진

NanoClaw의 에이전트 런타임은 Claude 에이전트 SDK를 기반으로 합니다. 모든 에이전트 요청은 스트리밍 방식으로 처리되므로, 토큰이 하나씩 실시간으로 반환되어 빈 화면을 보며 결과를 기다릴 필요가 없습니다.

에이전트 SDK는 NanoClaw에 다음과 같은 강력한 Claude 기능을 부여합니다:

  • 도구 사용(Tool Use): 파일 작업, 네트워크 요청, 셸 명령 실행
  • 다단계 추론: 복잡한 작업을 자동으로 여러 단계로 분해하여 실행
  • 컨텍스트 관리: 긴 대화를 자동으로 압축하여 토큰 예산 최적화

정기 작업: 워크플로우 자동화

NanoClaw에는 작업 스케줄러가 내장되어 있습니다. Claude가 정기적으로 작업을 수행하도록 설정할 수 있습니다:

yaml
# 매일 아침 9시에 일일 보고서 생성schedule: "0 9 * * *"prompt: "어제 작업 진행 상황을 요약하여 그룹에 일일 보고서 전송"

주요 자동화 사례:

  • 일일 스탠드업: 어제 Git 커밋 및 프로젝트 진행 상황 요약
  • 모니터링 점검: 서비스 상태를 주기적으로 확인하고 보고
  • 데이터 수집: 지정된 데이터 소스를 주기적으로 크롤링 및 요약
  • 알림 및 리마인더: 중요한 이벤트 카운트다운 및 알림

작업 스케줄러는 표준 cron 표현식을 지원하며 SQLite에 저장되어 재시작 후에도 자동으로 복구됩니다.

에이전트 클러스터: 다중 에이전트 협업

단일 에이전트가 할 수 있는 일에는 한계가 있습니다. NanoClaw는 여러 에이전트 인스턴스를 동시에 실행하여 복잡한 작업을 병렬로 처리할 수 있습니다. 예를 들어 대규모 코드베이스를 검토해야 할 경우:

  1. 에이전트 A가 프론트엔드 코드 스캔
  2. 에이전트 B가 백엔드 코드 스캔
  3. 에이전트 C가 테스트 커버리지 확인
  4. 결과를 종합하여 하나의 보고서로 정리

각 에이전트는 독립된 컨테이너에서 실행되므로 서로 간섭하지 않습니다. 이것이 바로 AI 버전의 '분할 정복(Divide and Conquer)'입니다.

그룹 메모리 시스템

모든 WhatsApp 그룹과 CLI 세션은 고유한 메모리 파일을 가집니다. NanoClaw는 SQLite를 사용하여 대화 기록과 핵심 정보를 저장하며, 다음을 지원합니다:

  • 영구 컨텍스트: 재시작 후에도 이전 대화 상태 복구
  • 사용자 지정 지침: 그룹별로 전용 CLAUDE.md를 설정하여 행동 방식 정의
  • 메모리 검색: 에이전트가 과거 대화 내용에서 정보 조회 가능

매번 대화를 처음부터 시작하는 것보다 훨씬 효율적입니다. Claude는 사용자가 이전에 무엇을 요청했는지, 어떤 스타일을 선호하는지, 프로젝트 배경이 무엇인지 이미 알고 있습니다.

요약

기능한 줄 요약활용 사례
컨테이너 격리커널 수준 보안 샌드박스민감한 코드 및 데이터 처리
WhatsApp 통합스마트폰에서 사용하는 Claude모바일 업무, 팀 협업
에이전트 SDK스트리밍 추론 엔진복잡한 다단계 작업
정기 작업워크플로우 자동화일일 보고, 모니터링, 데이터 수집
에이전트 클러스터병렬 다중 에이전트대규모 프로젝트 검토
그룹 메모리영구 컨텍스트 저장장기 프로젝트 추적

이러한 기능들이 결합된 NanoClaw는 단순한 '터미널 속 챗봇'을 넘어, 프로그래밍이 가능하고 영구적인 기억력을 갖춘 안전한 개인용 AI 작업 플랫폼으로 진화합니다.