누구에게나 AI 비서가 하나씩 있을 것인가? 이 질문이 요즘 자꾸 머리에 맴돈다. Claude Code를 쓰든, Cursor를 돌리든, Manus를 띄우든, 결국 자기 컴퓨터 위에 떠 있는 에이전트 하나와 대화하는 형태로 수렴하는 것 같다. PyTorchKR에서 OpenHanako라는 프로젝트를 봤다. 기억과 인격을 가진 멀티 에이전트 데스크톱 앱이라고 소개하고 있었다. 읽으면서 계속 든 생각은, 이게 지향하는 방향이 내가 매일 쓰고 있는 OpenClaw와 닮으면서도 다르다는 거였다.
OpenHanako가 풀려는 문제
OpenHanako의 출발점은 단순하다. AI 에이전트가 코드 편집기나 터미널 안에만 갇혀 있는 게 문제라는 거다. 명령줄에 익숙하지 않은 사람도 GUI로 에이전트와 대화하고, 파일을 다루고, 웹을 검색할 수 있어야 한다. Electron 기반 데스크톱 앱으로 포장해서 macOS, Windows, Linux를 모두 지원한다. macOS 빌드는 Apple Developer ID 서명과 공증까지 받았다.
차별점은 에이전트를 "도구"가 아니라 "인격을 가진 존재"로 다룬다는 점이다. 각 에이전트는 자체 인격 템플릿과 장기 기억을 가지고, 폴더 단위로 관리된다. 기억 시스템은 최근 대화를 강하게 유지하다가 주기적으로 큰 모델로 컴파일해서 장기 기억으로 옮긴다. 텔레그램, 라크, QQ, 위챗 같은 외부 메신저로 같은 에이전트에 접근할 수 있는 브릿지도 내장되어 있다. Skills 커뮤니티 생태계와 호환되고, 플러그인 시스템으로 확장도 열려 있다. Apache 2.0 라이선스라 상업적 사용도 자유롭다.
읽으면서 고개를 끄덕인 부분은 "기억"과 "인격"을 에이전트의 핵심 축으로 잡았다는 거다. 이건 OpenClaw가 이미 하고 있는 일이기도 하다. MEMORY.md에 내 환경 설정과 선호가 쌓이고, SOUL.md와 IDENTITY.md로 에이전트의 인격과 톤이 정의된다. OpenHanako는 여기에 2단 격리라는 보안 모델을 더했다. PathGuard라는 자체 4단계 접근 제어와 운영체제 단계 샌드박스를 겹쳐서 쓴다. macOS에서는 Seatbelt, Linux에서는 Bubblewrap, Windows에서는 restricted token이 그 역할이다. 에이전트가 함부로 파일을 지우거나 시스템 영역을 건드리지 못하게 하는 안전장치다. OpenClaw는 도구 정책 필터링으로 비슷한 목표를 달성하지만, 방식은 다르다. 문제를 풀려는 방향은 같은데, 접근 방식이 다르다.
OpenClaw로 매일 하는 일
내가 OpenClaw를 쓰는 방식을 생각해보면, OpenHanako가 말하는 "기억과 인격"이라는 축이 실제로 어떻게 작동하는지가 보인다. 내가 Telegram으로 URL 하나 보내면, study-clipper가 자동으로 실행된다. 내용을 크롤링하고, 요약하고, 이메일을 보내고, Notion에 저장한다. 이 과정에서 에이전트는 MEMORY.md를 참고해서 내 선호를 반영한다. 한국어 존댓말, 이메일 수신자 주소, Notion 데이터베이스 ID가 다 기억되어 있다.
이게 핵심이다. 내 메모리를 가지고 내 입맛에 맞게 분석하고 요약해준다. 내가 지난 달에 어떤 주식을 샀는지, 어떤 학습 주제에 관심이 있는지, 블로그 글을 어떤 톤으로 쓰는지. 이런 게 MEMORY.md와 USER.md, SOUL.md에 누적된다. 새로운 대화가 시작되도 이 맥락이 사라지지 않는다.
OpenHanako에서도 비슷한 구조가 있다. 에이전트 폴더 단위로 기억과 인격이 관리되고, 백업과 이식이 쉽다고 한다. 다만 OpenHanako는 데스크톱 앱 안에서 이 모든 게 돌아가고, OpenClaw는 백엔드 서버 위에서 돌아간다. 나는 터미널을 열지 않아도 된다. Telegram이라는 이미 익숙한 인터페이스를 통해서 에이전트와 소통한다. 여기서 "각자 자기 AI 비서가 하나"라는 내 생각이 좀 더 선명해진다.
같은 곳을 보고 있다, 다른 길로
두 프로젝트를 나란히 놓고 보면, 풀려는 문제의 본질은 같다. AI 에이전트에게 기억을 주고, 인격을 주고, 도구를 쥐여주고, 사용자와 지속적인 관계를 맺게 하는 것. 차이는 그걸 어디서 어떻게 delivers하느냐다.
| 축 | OpenClaw | OpenHanako |
|---|---|---|
| 접근 방식 | 백엔드 서버 + 채널 브릿지 (Telegram 등) | 데스크톱 앱 (Electron) |
| 기억 | MEMORY.md, USER.md, SOUL.md (텍스트 파일) | 자체 기억 시스템 + 장기 기억 컴파일 |
| 인격 | SOUL.md, IDENTITY.md로 정의 | 인격 템플릿 + 커스텀 인격 파일 |
| 멀티 에이전트 | 세션 스폰, SDL Agent 위임 | 책상(Desk), 채널 단위 그룹 대화 |
| 도구 | exec, web_fetch, 브라우저 자동화, Skills | 파일/터미널/웹/스크린샷, Skills |
| 보안 | 도구 정책 필터링 | 2단 격리 (PathGuard + OS 샌드박스) |
| 모델 지원 | 다중 프로바이더 | OpenAI 호환, Anthropic, Ollama, OAuth |
| 채널 | Telegram (설정 가능) | Telegram, 라크, QQ, 위챗, PWA |
| 라이선스 | 상용 | Apache 2.0 |
표를 보면 알 수 있듯, 기능적 오버랩이 크다. 기억, 인격, 도구, 멀티 에이전트, Skills 생태계. 둘 다 같은 방향을 향하고 있다. 다만 OpenClaw는 헤드리스(headless) 서버 모델이고, OpenHanako는 데스크톱 앱 모델이다. OpenClaw는 사용자가 이미 있는 메신저(Telegram 등)를 통해 에이전트에 접근하는 반면, OpenHanako는 자체 UI를 제공한다.
나는 생각한다. CLI냐 데스크톱이냐는 본질이 아니다. 결국 AI 어시스턴트가 각자 1인씩 있을 것이다. 중요한 건 그 에이전트가 나를 아느냐, 내 맥락을 기억하느냐, 내 입맛에 맞게 일하느냐다. 내가 OpenClaw를 쓰면서 가장 만족하는 부분이 그거다. 내 메모리를 가지고 내 입맛에 맞게 분석하고 요약해준다. 매번 내가 누구인지, 뭘 좋아하는지 설명할 필요가 없다. MEMORY.md에 쌓인 패턴, USER.md에 정리된 성향, SOUL.md의 톤이 합쳐져서 나만의 에이전트가 만들어진다.
OpenHanako를 직접 써보진 않았다. 아직이다. 다만 이 프로젝트가 기억과 인격을 중심축에 두고 있다는 건, 같은 문제를 다른 각도에서 풀고 있다는 뜻이다. 데스크톱 앱이 비개발자에게는 더 낮은 진입 장벽이 될 수 있다. 설치 마법사에서 언어와 모델 제공자를 고르고, Korean를 선택하면 바로 쓸 수 있다는 점은 분명한 장점이다. 반면 OpenClaw의 헤드리스 모델은 서버 하나면 어디서든 접근 가능하고, Telegram 같은 범용 메신저를 UI로 쓰면 별도 앱을 배울 필요가 없다. 내 경우는 Telegram이 이미 일상 도구니까, 거기에 에이전트가 살고 있는 게 자연스럽다.
결국 에이전트가 나를 얼마나 잘 아는지, 얼마나 자연스럽게 내 워크플로우에 스며드는지가 승부처다. 인터페이스는 그다음 문제다. OpenHanako가 데스크톱 앱으로 접근성을 높이든, OpenClaw가 백엔드 서버와 메신저로 어디서든 접근 가능하게 하든, 사용자 입장에서 중요한 건 하나다. 내 비서가 내 말을 알아듣고, 내 맥락을 기억하고, 내가 매번 설명하지 않아도 알아서 하는 것. 그 경험이 만들어지는 곳이 어디든, 그게 내 에이전트다.