Skip to main content
Views 160

초경량 개인 AI 비서 nanobot, 지금 당장 써봐야 하는 이유

요즘 AI 에이전트 프레임워크들 하나씩 깔아보다 보면, 문득 이런 생각 들지 않나요.
왜 내 일을 도와주는 개인 비서 하나 세팅하는데, 레포 한꺼번에 열면 수십만 줄짜리 코드 정글을 헤매야 할까.

홍콩대학교 데이터지능연구소에서 공개한 nanobot은 이 답답함을 정면으로 갈아버린 프로젝트입니다.
OpenClaw에서 영감을 받았지만, 불필요한 추상화를 거의 다 걷어내고, 핵심 기능만 남긴 초경량 개인용 AI 비서죠.

이 글에서는 nanobot이 어떤 프로젝트인지, 기존 OpenClaw 계열과 뭐가 다른지, 구조가 어떻게 생겼는지, 그리고 실제로 어떻게 내 환경에서 굴려볼 수 있는지까지 한 번에 정리해보겠습니다.
개발자가 아니어도 따라갈 수 있게, 최대한 현실적인 사용 시나리오와 함께 풀어볼게요.

중간중간 공식 자료가 궁금하면 여기도 같이 보시면 좋습니다.

🧠 nanobot 한 줄 정리: 핵심만 남긴 초경량 개인 AI 비서

nanobot은 말 그대로 아주 가벼운 개인 AI 비서입니다.

핵심은 두 가지입니다.
첫째, 코드가 가볍습니다. 전체가 대략 4천 줄 수준이라 구조를 한 번만 훑어보면 대충 머리에 들어오는 크기입니다.
둘째, 하지만 기능은 꽤 실용적입니다. 실시간 정보 분석, 루틴 관리, 코드 작업 보조, 개인 지식베이스 어시스턴트까지, 우리가 흔히 AI 비서에게 기대하는 것들을 크게 무리 없이 해냅니다.

제가 이 프로젝트를 흥미롭게 본 지점은 여기였습니다.
요즘 AI 에이전트 레포들은 기능은 화려한데, 실제로 내 입맛에 맞게 바꾸려고 하면 진입 장벽이 너무 높습니다.
반면 nanobot은 구조를 일부러 단순하게 설계해서,

  • 내부 동작을 공부하려는 사람

  • 내 입맛대로 살을 붙이며 커스텀 비서를 만들고 싶은 사람

에게 딱 좋은 학습용이자 실전용 베이스가 됩니다.

게다가 로컬 LLM도 자연스럽게 붙일 수 있어서,
API 비용이 부담스럽거나 데이터 프라이버시가 신경 쓰이는 사람에게도 꽤 현실적인 선택지입니다.

🦞 nanobot vs OpenClaw: 왜 따로 만들었을까

nanobot은 OpenClaw(초기 Clawdbot, 이후 Moltbot)에서 아이디어를 가져온 프로젝트입니다.
두 프로젝트 모두 AI 에이전트, 개인 비서라는 목표는 비슷하지만 접근 방식은 꽤 다릅니다.

OpenClaw 계열은 제대로 된 AI 플랫폼에 가깝습니다.
여러 에이전트, 다양한 통합, 대규모 기능들이 들어가면서 코드베이스가 40만 줄이 훌쩍 넘어갑니다.
실제로 아키텍처 공부용으로 보면 굉장히 재밌지만, 직접 파고들어서 커스터마이징하려면 배보다 배꼽이 더 커지는 느낌이죠.

반대로 nanobot은 아예 철학을 바꿉니다.

  • 코드량: 약 4,000줄 수준. OpenClaw보다 99% 이상 줄었습니다.

  • 구조: 핵심 에이전트 루프 + 컨텍스트 + 메모리 + 툴/스킬 정도로 딱 잘라서 설계

  • 리소스: 불필요한 레이어를 치워서 시작 속도 빠르고, 메모리·CPU 사용량도 낮음

  • 접근성: 단순한 CLI 기반, 복잡한 배포 환경 없이 바로 써볼 수 있는 형태

제가 느낀 차이는 이겁니다.
OpenClaw가 제대로 된 AI 운영체제를 깔아보는 느낌이라면,
nanobot은 내 작업 환경 옆에 조용히 앉아, 대신 반복작업을 도와주는 작고 똑똑한 스크립트 묶음 같은 느낌입니다.

복잡한 걸 모두 경험해본 뒤, 핵심만 남겨 놓은 요약본 같은 느낌이죠.
그래서 실무에서 바로 써먹기에도, 내부 구조를 공부하기에도 오히려 더 좋습니다.

🏗 nanobot의 내부 구조: 작지만 필요한 건 다 있다

개인적으로 이 프로젝트의 진짜 매력은 아키텍처 설계에 있다고 느꼈습니다.
거창한 프레임워크가 아니라, 딱 필요한 모듈만 있는 작은 도구 상자 같은 구조입니다.

크게 보면 이렇게 나뉩니다.

1. Agent Core: 에이전트의 심장

Agent Core는 세 가지로 나뉩니다.

  • Agent Loop

  • Context

  • Memory

말만 들으면 익숙한 구성인데, 여기서 중요한 건 이게 모두 얇고 직관적인 코드로 구현되어 있다는 점입니다.

Agent Loop는 LLM에게
지금 상황이 이렇고, 사용할 수 있는 도구는 이런 것들이고, 다음에 뭘 할지 결정해봐라
라고 요청해서, 모델이 판단한 대로 실제 툴을 실행하고 다시 결과를 LLM에 넘기는 반복 루프를 담당합니다.

Context 모듈은 이 과정에서 프롬프트를 어떻게 구성할지, 대화 이력을 어디까지 넣을지, 어떤 시스템 메시지를 사용할지 등을 조합합니다.
실제로 프롬프트 엔지니어링에 관심 있다면, 이 부분을 뜯어보는 것만으로도 꽤 많은 인사이트를 얻을 수 있습니다.

Memory는 말 그대로 기억 담당입니다.
최근 대화를 어떻게 저장할지, 세션 간 상태를 어느 정도 유지할지 등, 에이전트가 사람처럼 연속된 대화를 이어나가는 기반입니다.

제가 마음에 들었던 포인트는, 이 세 가지가 거대한 프레임워크로 묶여 있지 않고 깔끔하게 분리되어 있다는 점입니다.
덕분에 특정 프로젝트에서 필요한 부분만 골라서 교체하거나, 실험용으로 바꿔끼우기도 좋습니다.

2. Skills & Tools: 능력을 붙였다 떼었다

nanobot은 기본적인 툴 세트 외에, Skills라는 개념을 통해 기능을 확장합니다.
스킬은 쉽게 말해, 에이전트에게 가르쳐줄 수 있는 행동 패턴입니다.

재미있는 부분은, 이걸 꼭 복잡한 코드 작성 없이도 정의할 수 있게 해뒀다는 점입니다.
정형화된 포맷 안에 어떤 작업을 어떻게 하면 되는지 스펙을 적어주고,
에이전트가 이 스펙을 읽고 도구를 이용해 실행하는 식의 구조를 상상해보면 이해가 쉽습니다.

이 방식이 좋은 이유는,

  • 개발자는 직접 코드와 API를 활용해서 복잡한 스킬을 만들 수 있고

  • 비개발자도 일정 수준까지는 이미 만들어진 스킬들을 가져다 쓰거나,
    간단한 정의만으로 나만의 스킬 느낌을 낼 수 있다는 점입니다.

코드와 프롬프트 사이 어딘가에서, 기능을 유연하게 늘리고 줄일 수 있는 지점을 잘 잡은 느낌입니다.

3. Support Modules: 자동화와 통합을 위한 보조 장치들

nanobot에는 다음과 같은 지원 모듈도 있습니다.

  • Subagent: 복잡하거나 오래 걸리는 일을 백그라운드에서 처리하는 하위 에이전트

  • Cron: 정해진 시간에 반복해서 작업을 시키는 스케줄러

  • Providers: OpenAI, Anthropic, OpenRouter, vLLM 같은 다양한 LLM 제공자 설정

Subagent는 일종의 멀티 에이전트 구조를 심플하게 구현한 느낌입니다.
예를 들어,

  • 메인 에이전트는 사용자와 대화하면서,

  • 서브 에이전트는 뒤에서 시장 데이터 모니터링을 계속하거나,

  • 코드 리팩토링을 장시간 돌린다거나

하는 식의 역할 분리를 할 수 있죠.

Cron은 개인 비서에서 빼놓을 수 없는 기능입니다.
매일 아침 9시에 뉴스 브리핑, 매주 월요일에 지난주 작업 요약, 매일 밤 11시에 내 Notion 페이지 정리 같은 자동화 루틴을 만드는 데 딱 맞습니다.

Providers 모듈은 현실적인 관점에서 굉장히 중요합니다.
성능 좋은 상용 LLM과, 비용 거의 0에 가까운 로컬 LLM을 상황에 따라 골라 쓰는 구조를 만들 수 있기 때문입니다.

🧩 nanobot으로 실제로 뭘 할 수 있을까

프로젝트 설명만 보면 감이 잘 안 올 수 있어서, nanobot이 잘하는 대표적인 사용 시나리오를 정리해봤습니다.
이건 실제 데모에서도 강조하는 부분들이라, 상상하면서 읽어보셔도 좋습니다.

풀스택 개발 보조

  • 기능 명세를 던져주면 코드 골격을 뽑아주고,

  • 기존 레포를 읽어가며 버그 후보를 찾아주고,

  • 리팩토링 아이디어를 제안하고,

  • 필요한 라이브러리나 API 사용 예시를 정리해줍니다.

개발자 입장에서는 코드 리뷰를 같이 해주는 후배 한 명 붙인 느낌과 비슷합니다.
특히 CLI에서 바로 명령을 내려서
지금 이 폴더 기준으로, 이런 기능을 구현해줘
같은 식으로 작업 흐름에 녹여 쓸 수 있다는 점이 편합니다.

실시간 정보 분석과 모니터링

GIF 예제에서도 나오는 시나리오인데,
실시간 시장 동향, 크립토 가격, 뉴스 헤드라인처럼 계속 변하는 정보들을 모니터링해서,
조건이 맞으면 정리해서 알려주는 식의 역할도 가능합니다.

여기에서 Subagent, Cron이 결합되면 꽤 쓸만한 자동화 에이전트가 됩니다.

  • 매 30분마다 특정 API에서 데이터를 가져오고

  • 정해둔 규칙 기반으로 LLM이 해석한 뒤

  • 메신저로 요약을 보내주기

같은 걸 nanobot이 대신 해줄 수 있는 거죠.

일정·루틴 관리

개인 비서라고 하면 일단 떠오르는 게 일정 관리죠.
nanobot은 캘린더, 작업 목록, 리마인더 같은 역할을 충분히 소화할 수 있습니다.

특히 Cron을 활용하면 이런 건 꽤 자연스럽게 할 수 있습니다.

  • 오늘 할 일을 아침에 메시지로 정리해서 보내주기

  • 중요한 일정이 있는 날에는 관련 준비물·사전 작업까지 묶어서 안내해주기

  • 반복 업무(보고서 작성, 정산, 주간 회고 등)를 자동으로 리마인드하고 초안까지 만들어주기

캘린더, 메일, 메신저까지 연동되면 진짜로 사람 비서와 꽤 비슷한 느낌이 납니다.

개인 지식 관리 어시스턴트

개인적으로 가장 관심이 갔던 부분이 이쪽입니다.

노션, Obsidian, 로컬 폴더 등 여기저기 흩어져 있는 내 자료들을
nanobot이 인덱싱하고, 질문에 답해주는 방식으로 쓸 수 있습니다.

  • 지난달에 썼던 어떤 글 초안이 어디 있었는지

  • 예전 프로젝트에서 사용했던 프롬프트 패턴 중에,
    지금 상황에 맞는 걸 추천해달라거나

  • 내가 몇 달에 걸쳐 모아온 링크 모음을 토대로,
    새로운 글의 개요를 만들어달라고 한다든지

이런 작업은 LLM이 제일 잘하는 영역이라, 개인 비서화했을 때 체감 효용이 크다는 느낌을 많이 받았습니다.

💻 개발자 입장에서 본 nanobot의 장점

AI 에이전트 프레임워크를 여러 개 만져본 개발자 입장에서,
nanobot이 특히 매력적인 포인트를 정리해보면 이렇습니다.

첫째, 코드가 작습니다.
4천 줄이면 주말에 한 번 집중해서 읽어볼 수 있는 규모입니다.
에이전트 루프, 컨텍스트 관리, 메모리 설계 같은 핵심 개념을 통째로 이해하기 좋은 크기죠.

둘째, 추상화가 과하지 않습니다.
대형 프레임워크는 잘 만든 것일수록 내부 구조를 이해하기가 더 어렵습니다.
반면 nanobot은 필요한 최소한만 감싸놓은 느낌이라,
내가 직접 고치고 싶은 포인트를 찾기도 훨씬 쉽습니다.

셋째, 로컬 LLM을 1급 시민처럼 취급합니다.
OpenAI나 Anthropic 같은 상용 API만 전제로 하는 게 아니라,
vLLM 기반 로컬 모델도 자연스럽게 끼워 넣을 수 있게 설계되어 있습니다.

넷째, CLI 중심이라 자동화와 궁합이 좋습니다.
개인적으로는 데스크톱 앱보다,
터미널 명령 몇 줄이나 크론탭, 혹은 다른 스크립트에서 호출하는 방식이 훨씬 생산성이 좋다고 느끼는 편이라,
nanobot의 인터페이스 설계가 꽤 마음에 들었습니다.

🛠 설치와 초기 세팅: 생각보다 금방 끝난다

이제 실질적으로 어떻게 시작하면 되는지 정리해봅니다.
Python 환경이 있다면 설치 자체는 매우 간단한 편입니다.

1. 설치

공식적으로는 uv 또는 pip 설치를 권장합니다.

# uv가 설치되어 있는 경우
uv tool install nanobot-ai

# pip로 설치하는 경우
pip install nanobot-ai

소스 코드에서 직접 설치해도 되지만,
그 경우 최신 기능이 들어 있는 대신 다소 불안정할 수 있다는 점은 감안해야 합니다.
Docker 이미지를 직접 빌드해서 쓰는 방법도 제공됩니다.

자세한 방법은 GitHub README가 가장 정확합니다.

2. 온보딩(초기 설정)

설치가 끝났다면, 홈 디렉터리에 설정 파일을 만드는 온보딩 과정을 한 번만 하면 됩니다.

nanobot onboard

이걸 실행하면 ~/.nanobot/config.json 파일이 생성됩니다.
이제 이 파일을 열어서 LLM 제공자와 API 키를 넣어주면 됩니다.

예를 들어 OpenRouter를 쓴다고 하면 대략 이런 구조입니다.

{
  "providers": {
    "openrouter": {
      "apiKey": "sk-or-..."
    }
  },
  "webSearch": {
    "apiKey": "BSA-..."
  },
  "agents": {
    "defaults": {
      "model": "anthropic/claude-4.5-sonnet"
    }
  }
}

OpenRouter를 잘 모른다면 여기서 한 번쯤 참고해보셔도 좋습니다.

3. 로컬 LLM(vLLM) 연동

API 비용을 줄이고 싶다면, vLLM으로 로컬 모델을 띄워두고 여기에 붙이는 방법이 괜찮습니다.

vLLM이 OpenAI 호환 서버를 띄운다고 가정하면, 설정은 이렇게 단순합니다.

{
  "providers": {
    "vllm": {
      "apiKey": "dummy",
      "apiBase": "http://localhost:8000/v1"
    }
  },
  "agents": {
    "defaults": {
      "model": "meta-llama/Llama-3.1-8B-Instruct"
    }
  }
}

여기서 중요한 건,
실제로 인증을 쓰지 않아도 되는 로컬 서버라 해도, nanobot 입장에서는 OpenAI 스타일의 apiKey가 필요하다는 점입니다.
그래서 dummy를 넣어두는 거죠.

개인 경험을 공유하자면,
8B급 모델이라도 vLLM으로 잘 튜닝하고 프롬프트를 다듬으면,
개인 비서 용도로는 꽤 만족스러운 결과를 낼 수 있습니다.
특히 사적인 파일이나 업무 데이터를 다루는 경우, 로컬 모델의 장점이 크게 느껴집니다.

4. 실제로 실행해보기

설정이 끝났다면, CLI에서 바로 대화해볼 수 있습니다.
예를 들어:

nanobot chat

형태로 인터랙티브 세션을 시작할 수도 있고,
특정 작업을 한 번 실행하고 끝나는 명령을 만들 수도 있습니다.

또한 Telegram이나 Whatsapp 같은 메신저 연동도 제공해서,
폰으로 메시지 보내듯이 nanobot에게 일을 시키고 결과를 받아볼 수 있습니다.

이 부분은 실제로 써보면 체감이 많이 달라집니다.
PC 앞에 앉아 있을 때는 CLI로 쓰다가,
외출 중에는 메신저로 이어서 대화를 할 수 있다는 점이 꽤 편합니다.

🔭 앞으로의 로드맵: 어디까지 갈 수 있을까

HKUDS 팀에서 언급한 nanobot 로드맵을 보면,
지금의 경량 철학을 유지하면서도 기능은 꽤 공격적으로 확장할 계획입니다.

대표적으로 이런 것들이 있습니다.

  • 멀티모달 지원: 텍스트뿐 아니라 이미지, 음성, 비디오까지 이해하는 방향

  • 장기 기억: 세션을 넘어, 사용자 취향과 과거 맥락을 오래 기억하는 메커니즘

  • 외부 서비스 통합: Slack, Discord, 이메일, 캘린더 등과의 연동 강화

  • 자기 개선: 피드백을 받아 스스로 실수를 줄여가는 구조

개인적으로는 멀티모달보다 장기 기억과 자기 개선 쪽이 더 기대됩니다.
단순히 답변을 잘하는 비서가 아니라,
시간이 지날수록 나를 더 잘 아는 비서로 진화하는 구조가 되기 때문입니다.

그리고 이 모든 걸 거대한 플랫폼이 아니라,
작고 이해 가능한 코드베이스 안에 담아보려는 시도가 nanobot의 진짜 재미있는 지점이라고 생각합니다.

⚖️ 라이선스와 활용 가능성

nanobot은 MIT 라이선스로 배포됩니다.
이 말은 곧, 연구용이든 상업용이든 비교적 자유롭게 사용하고 수정할 수 있다는 뜻입니다.

  • 내 회사용 내부 비서로 커스터마이징해서 써도 되고

  • 특정 도메인(법률, 의료, 교육 등)에 특화된 에이전트를 만들고

  • 이를 서비스 형태로 제공하는 것도 라이선스 상 크게 문제 되지 않습니다.

상세 내용은 라이선스를 직접 확인하시는 게 가장 정확합니다.

개발자 입장에서 이런 타입의 프로젝트가 MIT라는 건 꽤 큰 메리트입니다.
실제 프로덕션에 붙이기 위한 검토 비용이 많이 줄어들거든요.

🧾 마무리 정리와 개인적인 인사이트

마지막으로, nanobot을 한 번 써보겠다는 가정 하에 정리해보면 이렇습니다.

  • 거대한 AI 에이전트 플랫폼이 아니라,
    이해 가능한 크기의 초경량 개인 비서를 원한다면

  • 내부 구조를 공부하면서 직접 고쳐 쓰는 걸 좋아한다면

  • 상용 API와 로컬 LLM을 상황에 따라 섞어 쓰고 싶다면

  • CLI와 메신저 위주의, 실제 작업 흐름에 자연스럽게 녹아드는 도구를 찾고 있다면

nanobot은 한 번쯤 직접 깔아서 만져볼 가치가 충분합니다.

개인적으로는 이 프로젝트를
에이전트 아키텍처의 미니멀한 교본 같은 느낌으로 보고 있습니다.

  • Agent Loop는 어떻게 구성해야 하는지

  • 컨텍스트와 메모리는 어디까지 단순화해도 되는지

  • 툴과 스킬은 어떤 추상화 레벨에서 제공해야 개발자에게 부담이 적은지

이런 것들을 실제 코드로 확인하고, 내 쓰임새에 맞게 수정해보기에 딱 좋은 크기입니다.

앞으로 AI 에이전트 환경은 더 복잡해질 가능성이 높습니다.
그럴수록 이런 초경량 레퍼런스 구현이 갖는 가치가 더 커질 거라고 생각합니다.

관심이 생겼다면, README부터 한 번 천천히 읽어보는 걸 추천합니다.

그리고 직접 nanobot onboard 한 번 찍어보고,
내 일상이나 작업 흐름 중 하나만 골라 nanobot에게 넘겨보세요.

생각보다 빨리 '아, 이 정도만 해줘도 꽤 괜찮은데' 라는 순간이 올 가능성이 높습니다.

초경량 개인 AI 비서 nanobot, 지금 당장 써봐야 하는 이유