URL: https://www.youtube.com/watch?v=oUZEt4EiPbk
날짜: 2026-10-04
채널: aiDotEngineer
원문 제목: I Built a Personal AI Agent on a Raspberry Pi — Jeremy Adams, Neo4j
📌 핵심 질문 / 핵심 주장과 근거
==저렴하고 개방적이며 내부를 직접 이해하고 수정할 수 있는 Raspberry Pi 기반 개인 에이전트는 클라우드의 LLM·메시징·Neo4j 그래프 메모리를 결합하면 작고 실용적인 개인 컴퓨팅 시스템이 될 수 있다.==
- Raspberry Pi 4B에서 NanoClaw와 Docker, 로컬 Neo4j를 구동하고 WhatsApp을 통해 클라우드 에이전트와 통신한다.
- LLM 추론은 Raspberry Pi가 아니라 클라우드에서 수행하고, Pi는 메시지·마이크·로컬 데이터베이스·입출력 장치를 담당한다.
- Neo4j 그래프는 영화 질의에서 출발해 POLE+O(Person, Object, Location, Event, Organization) 메모리와 행사 부스·주제 지식으로 확장된다.
- 컨퍼런스 Wi-Fi가 끊겨도 음성 인식 텍스트에서 부스 번호를 추출해 로컬 Neo4j에 기록하고, 연결이 복구되면 클라우드 그래프로 보강할 수 있다.
개인 에이전트의 핵심은 가장 많은 기능을 얹는 일이 아니라, 격리된 작은 컴퓨터에서 무엇이 실행되는지 이해하고 필요할 때 직접 고치는 데 있다. 클라우드의 강력한 두뇌와 Pi의 물리적 감각·로컬 저장소를 결합하면, WhatsApp 대화·음성 기록·장기 기억·관계 탐색을 하나의 그래프 시스템으로 이어갈 수 있다.
1. 무대에서 조립하는 실시간 에이전트
1.1. 소개와 청중 확인
-
Jeremy Adams와 Neo4j
- Jeremy Adams는 Neo4j 소속이며, Neo4j 부스는 무대 한쪽 방향에 있다.
- Neo4j의 중심 분야는 그래프(graph)와 그래프 데이터베이스(graph database)다.
- 가슴에 단 하드웨어가 에이전트 메모리 프로젝트의 물리적 부분을 구성하고, 소프트웨어는 에이전트 메모리 구축 과정과 함께 설명된다.
-
청중의 경험 범위
- OpenClaw, Hermes agent 또는 각자가 선택한 Claw 계열 작업을 해 본 사람은 일부였고, 대부분은 이 분야가 처음이었다.
- 엣지 디바이스(edge device), 하드웨어, 오프라인 모드에 관심을 보인 사람도 일부였다.
- 그래프 경험자는 소수였지만, 에이전트 메모리를 구축해 본 사람은 지금까지의 질문 중 가장 많이 손을 들었다.
- 뒤에서 확인할 발견에는 통계적인 요소도 더해 보려는 방향이 제시됐다.
1.2. 하드웨어를 무대에서 켜기
-
마이크와 캡처 장치 연결
- 작은 보조 마이크는 잠시 후 Claw와 대화하는 데 사용한다.
- HDMI 영상 캡처 장치를 연결하고, USB 마이크 수신기를 찾은 뒤 연결한다.
- USB-C는 플러그를 계속 뒤집어 꽂아야 하는 문제 때문에 만들어진 것 같다는 농담이 나온다.
- 두 마이크의 동기화를 시작하자 녹색 표시등이 켜졌고, 마이크 하나가 준비됐다.
- 전원은 배터리 팩으로 공급한다.
-
QuickTime과 화면 캡처 문제 해결
- 본 발표에 들어가기 전에 이상한 영상 캡처 상황을 보여 주려고 QuickTime Player의 현재 동작하지 않는 기능을 시도한다.
- QuickTime Player를 종료하고 다시 연 다음 새로운 동영상 녹화를 시작한다.
- Claw 자체가 아니라 Claw 안에 표시되는 내용을 보여 주기 위해 비디오 출력 장치를 소스로 선택한다.
- USB 3 캡처 장치로 전환하고 화면에 잘 보이도록 장치를 옮긴다.
- 초기화와 리셋을 거친 뒤 전원 버튼을 누르고 부팅 순간을 캡처하려 한다.
- 이런 바보 같은 설정 작업을 백만 번쯤 해 봤기 때문에 잘될 것이라는 자신감이 농담처럼 표현된다.
-
Raspberry Pi 4B 부팅
- 화면에 Raspberry Pi 데스크톱이 나타나고, 작은 Bluetooth 키보드로 장치를 조작한다.
- 사용한 모델은 최신형이 아닌 Raspberry Pi 4B지만 충분히 쓸 만한 장치다.
- 64-bit ARM을 지원한다는 사실을 늦게 알아차리기 전까지 32-bit 운영체제를 오랫동안 사용했다.
- 모든 작업을 실행할 수는 없지만 상당히 많은 작업을 수행할 수 있다.
- 실제 장치가 존재한다는 점을 청중에게 보여 주는 것이 초기 설정 시연의 목적이다.
-
초기 소프트웨어 구성
- Raspberry Pi에는 NanoClaw와 Docker가 설치되어 있다.
- Docker 기반의 작은 Neo4j 데이터베이스도 Pi에서 실행한다.
- Pi를 잠시 닫아 두고 본 설명으로 넘어간 뒤, Claw는 다시 뒤에서 다룬다.
2. “작은 Claw”를 선택한 이유
개인 에이전트는 기능이 많기보다 싸고 개방적이며 격리되어 있고 내부 동작을 직접 파악할 수 있어야 한다.
2.1. 노트북에 에이전트를 두지 않은 이유
-
검증을 기다리는 보수적 태도
- 개인 에이전트에 대한 과장이 많았지만 노트북 안에서 바로 실행하고 싶지는 않았다.
- 예전 시스템 관리자(sysadmin)와 DevOps 환경에서 일한 경험 때문에 기술이 충분히 견고해질 때까지 기다리고 싶었다.
- 기능이 풍부한(featurerich) 시스템보다 실제로 무슨 일이 일어나는지 이해하는 것이 더 중요했다.
-
원하는 설계 조건
- 가격이 싸고(cheap), 소스가 개방적이며(open), 직접 해킹하고 수정할 수 있어야(hackable) 했다.
- Linux를 실행하고 Docker를 사용할 수 있어야 했으며, 자신이 이해하는 도구로 시스템을 구성하고 싶었다.
- 에이전트 프로세스가 호스트 시스템을 망가뜨리지 않도록 컨테이너로 격리하는 조건도 중요했다.
2.2. Craigslist의 Mac Mini와 옷장 속 Raspberry Pi
-
Mac Mini는 ‘작은’ 시스템이 아니었다
- 오리건주 포틀랜드의 Craigslist에서 OpenClaw가 미리 설치된 Mac Mini를 발견했다.
- ‘미리 설치됨(pre-installed)’은 무엇이 설치됐는지 알기 어렵다는 점에서 곧바로 위험 신호로 느껴졌다.
- 최근 가격 인상으로 Mac Mini를 더 이상 600달러에 살 수 없으므로, 그 장치는 자신이 생각한 ‘작은 Claw’와도 맞지 않았다.
-
옛 프로젝트에서 되살린 Pi
- 팬데믹 기간 또는 팬데믹 직후에 같은 Raspberry Pi로 싱크대의 설거지 무게를 측정해 설거지를 해야 한다고 알려 주는 엉뚱한 프로젝트를 만든 적이 있었다.
- 그 장치를 옷장에 보관하고 있었기 때문에 “이걸로 Claw가 될까?”라고 생각하고 다시 꺼냈다.
- Claw 모양은 실제 스티커가 아니라 사진에 Photoshop으로 덧붙인 표시였고, 언젠가 이 장치로 정말 멋진 것을 만들고 싶다는 기대를 표현한 것이다.
-
물리적 형태의 개선
- 예전 구성에는 외장 모니터와 외장 키보드가 있었고, 화면 밖에 마우스도 필요했다.
- Raspberry Pi 하나로 줄이자 구성은 훨씬 깔끔해졌고, 이 변화가 게임 체인저로 묘사된다.
- 온보드 Wi-Fi를 사용하거나 유선 네트워크를 연결할 수 있으므로 네트워크만 정상이라면 이동성이 좋아진다.
2.3. NanoClaw와 초기 선택
-
OpenClaw 대신 NanoClaw
- OpenClaw가 아니라 NanoClaw를 선택했다.
- NanoClaw는 소스 파일이 약 15개이고 코드 규모도 작아 구조를 이해하기 쉬웠다.
- Docker 컨테이너에서 에이전트 프로세스를 실행하므로 시스템 전체를 망가뜨릴 위험이 작았다.
-
확장 가능한 기반
- NanoClaw는 Linux와 Docker를 사용할 수 있고, Claude Agent SDK를 기반으로 한다.
- 소스 수정, Claude Code 활용, skill 추가와 같은 해킹을 권장해 사용자의 목적에 맞게 바꿀 수 있다.
- Telegram 같은 메시징 채널도 지원하지만, 이미 휴대전화에서 WhatsApp을 사용하고 있었기 때문에 WhatsApp을 선택했다.
3. WhatsApp·클라우드 LLM·Neo4j를 잇는 아키텍처
3.1. Raspberry Pi는 물리적 게이트웨이 역할을 한다
-
메시지 경로
- iPhone 또는 MacBook의 WhatsApp에서 메시지를 보낸다.
- WhatsApp은 클라우드에 있고, Raspberry Pi의 NanoClaw가 메시지를 가져온다.
- NanoClaw에 자격 증명(credential)을 등록하면 WhatsApp 계정과 연결된다.
-
추론의 위치
- Raspberry Pi 자체에서는 LLM 추론(inference)을 수행하지 않는다.
- 모든 추론은 클라우드의 Claude 계열 기능을 사용한다.
- Pi는 클라우드의 거대한 두뇌에 유선 또는 네트워크로 연결된 몸체이자 메시지·센서·데이터베이스 장치가 된다.
-
그래프 데이터베이스 배치
- 클라우드의 Claw 환경에도 Neo4j 데이터베이스를 배치했다.
- Pi 안에는 Docker 기반 로컬 Neo4j가 있고, 클라우드에는 더 큰 데이터와 메모리를 저장하는 Neo4j가 있다.
3.2. 그래프 101과 영화 질의
-
노드와 관계
- 그래프의 둥근 항목은 노드(node)이고, 노드를 잇는 선은 관계 또는 에지(edge)다.
- 예시 그래프에는 두 개의 사람 노드와 하나의 영화 노드가 있다.
- Tom Hanks는 Forrest Gump에 출연했고, Robert Zemeckis는 그 영화를 감독했다.
-
WhatsApp에서 데이터 질의
- 영화 데이터베이스를 채운 뒤 Claw를 연결하고 “Tom Hanks가 출연한 영화를 알려 줘”라고 WhatsApp 메시지를 보냈다.
- MCP 서버가 영화 데이터베이스가 있는 Neo4j 인스턴스에 접속해 질의 결과를 가져온다.
- 첫 응답은 설정이 제대로 되지 않아 시스템이 고장 났다는 내용이었다.
- Claw에 다시 접속해 인증과 설정을 확인하고 문제를 수정한 뒤 여러 결과를 정상적으로 받았다.
-
응답의 전체 흐름
- Neo4j 데이터베이스에서 결과를 가져온다.
- 결과를 Claude Agent SDK로 전달해 자연어 응답을 구성한다.
- 구성된 응답을 WhatsApp 채널로 다시 보낸다.
- 단순한 메시지 인터페이스가 그래프 질의와 클라우드 에이전트를 감싸는 셸이 된다.
4. POLE+O로 확장한 장기 메모리
4.1. 비행기에서 발견한 사용 방식
-
Wi-Fi 없이도 가능한 대화
- 비행기에서 유료 Wi-Fi를 구매하지 않았는데도 메시징 기능과 WhatsApp이 작동했다.
- 따라서 이동 중에도 Claw와 대화할 수 있다는 사실을 확인했다.
- “메모리도 할 수 있을까?”라는 질문이 영화 검색 다음의 자연스러운 확장으로 나왔다.
-
POLE+O의 출발점
- Person(사람), Object(사물), Location(장소), Event(사건), Organization(조직)의 다섯 종류로 기억을 구성하는 POLE+O라는 블로그 글을 읽었다.
- 이 방식은 유럽 경찰 조직의 수사·정보 관리에서 유래했고, 그 조직들은 오래전부터 그래프를 그려 왔다.
- 범죄 수사 드라마에서 사람·장소·사건을 실로 연결하는 수사 보드가 이 구조를 직관적으로 보여 주는 비유가 된다.
4.2. Claw가 만든 메모리 스키마
-
비행 중 즉석 skill 작성
- POLE+O를 사용해 메모리 시스템을 만들 수 있는지 Claw에 물었다.
- Claw는 바로 그 작업을 위한 skill을 작성할 수 있다고 답했다.
- 재부팅해도 유지되는 mount point를 만들겠다고 했고, 이 응답은 매우 놀라운 자동화 경험으로 받아들여졌다.
-
Neo4j 메모리 데이터베이스
- 클라우드 Neo4j에 메모리와 관련 항목을 위한 고급 스키마를 가진 데이터베이스가 생겼다.
- 초기 단계의 시스템이며, Karpathy가 말하는 wiki들보다는 앞선 듯하고 Obsidian보다는 뒤에 있는 종류라는 식으로 현재 위치를 농담 섞어 설명했다.
- 개발자 관계(devrel) 행사에 갈 때마다 방문 장소와 사건을 기록하도록 했다.
-
Neo4j Aura에서 확인한 연결 그래프
- 웹 브라우저의 Neo4j Aura 데모 인스턴스에 접속해 시간이 지나며 쌓인 정보를 조회했다.
- 데이터는 다소 ‘쓰레기장(dumping ground)’처럼 보일 정도로 많이 쌓여 있었다.
- 연결된 메모리만 다시 조회하자 Jeremy가 장소로 이동하고, 사람과 대화하고, Menlo Park의 Snowflake 사무실에 가는 관계가 나타났다.
- Menlo Park는 프레임워크 안에서 하나의 Location 노드로 취급된다.
- 특정 AI meetup 행사와 Rebecca, Jeremy 같은 사람도 연결된 노드로 나타났다.
- 여러 사람·장소·행사가 관계를 따라 이어지면서 단순한 메모 목록이 탐색 가능한 그래프가 된다.
5. 가슴에 단 Claw의 음성 입력
5.1. 새소리 인식에서 음성 텍스트 변환으로
-
새소리 프로젝트에서 얻은 영감
- 창밖으로 마이크를 내밀어 뒷마당의 새소리를 녹음하고, 조류 음성 인식 모델로 어떤 새인지 식별하는 사례를 접했다.
- 같은 방식의 프로젝트를 직접 해 보고 싶다는 생각이 들었다.
- 곧바로 새 식별 대신 음성 인식과 음성 텍스트 변환(voice-to-text)을 구현할 수 있는지로 관심을 돌렸다.
-
USB 마이크와 물리 버튼
- USB 마이크를 연결해 음성 텍스트 변환 모델을 실행하는 방향을 잡았다.
- 녹음을 시작하는 버튼은 직접 만들어 Pi의 핀에 연결했다.
- 시연 직전에 버튼이 떨어지는 작은 사고가 발생했고, 시간 관계상 버튼을 다시 꽂아 두고 계속 진행했다.
- 버튼을 누르면 모델을 트리거해 빠르게 녹음할 수 있다.
-
무대에서 실행한 녹음
- 버튼을 눌러 “AI Engineer World 무대에서 준비해 온 발표를 실제로 하고 있다”는 문장을 녹음했다.
- 장치의 작은 녹음 LED가 켜져 녹음이 진행됐음을 표시했다.
- 온라인 상태인지, 메시지가 제대로 도착했는지 확인할 수 있기를 기대했다.
- 음성 입력이 온라인 에이전트와 연결되는 모습이 이 장치가 지향하는 꿈에 해당한다.
5.2. AI Engineer 행사에서 수집할 데이터
-
부스 메시지를 기록하는 아이디어
- 여러 종류의 마이크를 실험하면서 이 장치를 AI Engineer 행사에 가져가고 싶어졌다.
- 녹음 LED가 켜진 상태로 행사장을 돌아다니며 무엇인가를 기록하고 싶었지만, 처음에는 무엇을 녹음할지 정하지 못했다.
- 부스마다 걸린 메시지를 녹음하자는 아이디어를 떠올리고 곧바로 녹음 기능을 추가하기 시작했다.
-
전시 업체 데이터 모델
- 부스에는 번호와 이름이 있으므로 행사장 지도를 만들 수 있었다.
- 처음 만든 데이터 모델은 전시 업체(exhibitor) 목록뿐이며, 업체 노드끼리 연결하지 않은 매우 단순한 구조였다.
- 가능한 한 많은 업체를 수집한 뒤 데이터 정리(data cleaning)를 수행했다.
6. 컨퍼런스 Wi-Fi를 전제로 하지 않는 오프라인 모드
6.1. 로컬 Neo4j와 음성 기반 부스 기록
-
오프라인 요구
- 컨퍼런스 Wi-Fi는 대체로 끔찍하다는 걱정이 생겼다.
- 네트워크가 끊기면 음성 기록을 클라우드로 바로 보낼 수 없으므로 오프라인 모드가 필요했다.
-
로컬 처리 구상
- Raspberry Pi에서 Neo4j를 계속 실행하고, 음성 텍스트 변환 결과에서 정규식(regex)으로 부스 번호를 추출한다.
- 추출한 부스 번호를 이용해 로컬 데이터베이스에 삽입하는 Cypher 쿼리를 작성한다.
- 이 장치가 실제로 그 순간 제대로 작동할지는 시연 시점에도 확신할 수 없었다.
-
Cypher Shell Browser
- Cypher Shell Browser는 비싼 GUI 없이 Neo4j 데이터베이스와 통신하려고 직접 만든 작은 프로그램이다.
- 목에 건 장치 안에서 실행되는 데이터베이스와 통신하고, 저장된 전시 업체를 매칭해 반환한다.
- 조회 결과에는 Microsoft와 Minmax/Min Max CAI 같은 업체가 나타났다.
- 음성에서 얻은 “내가 이 부스에 있고, 이런저런 말을 들었다”는 원본 메모도 함께 보존된다.
6.2. 로컬 원본에서 클라우드 지식 그래프로
-
단계적 업로드
- 행사 중에는 원본 메모를 로컬 Neo4j에 저장한다.
- 나중에 로컬 데이터를 클라우드 Neo4j로 업로드한다.
- 클라우드에서는 메모를 정리하고 보강(enrichment)하므로 로컬의 원본 형태와 다르게 보인다.
-
업체와 주제의 연결
- 클라우드 Neo4j에서 전시 업체를 조회하고 업체 하나를 선택하면 관련 항목으로 연결된 경로가 나타난다.
- 업체는 정리된 메모뿐 아니라 다른 노드들과도 연결되어 있다.
- 경로를 반환하는 질의를 실행하면 업체들이 여러 주제(theme) 노드와 연결된 구조가 보인다.
-
새로운 지식의 발견
- Buildkite와 LangChain이 모두 평가(evaluation)와 관측 가능성(observability)이라는 주제를 공유한다는 패턴이 드러났다.
- 부스를 돌아다니며 수집한 데이터에서 이러한 주제를 찾아낸 것은 어쩌면 다른 사람이 아직 갖고 있지 않은 새로운 지식을 생성한 것일 수 있다.
- 부스별 원본 기록은 업체 목록을 넘어 행사 전체의 기술 주제 지도로 확장된다.
7. WhatsApp 전체 대화를 이용한 에이전트 메모리 업그레이드
7.1. Agent Memory Service 연결
-
전체 대화 가져오기
- 이후 Neo4j Agent Memory Service를 사용해 지금까지 주고받은 모든 WhatsApp 메시지를 불러오고 싶어졌다.
- Claw와 꽤 오랫동안 대화를 나눴기 때문에, 그 기록 전체에서 어떤 통찰을 얻을 수 있는지 확인하려 했다.
-
자동 요약과 탐색
- Agent Memory Service에 연결하자 대화에서 수많은 메모리를 추출하고 요약했다.
- 여러 대화, 대화 상대, 장소, 개념을 메모리 단위로 탐색할 수 있게 됐다.
- 대화의 모든 내용이 그대로 나열되는 것이 아니라, 사람·장소·개념과 관계를 가진 기억으로 증류(distill)된다.
-
Claw에서의 접근
- 증류된 메모리는 MCP 서버를 통해 동일한 Claw에서 접근할 수 있다.
- 물리적 장치의 WhatsApp 인터페이스가 그래프 메모리의 검색 창이 되고, 클라우드 서비스는 장기간 대화를 구조화하는 역할을 한다.
7.2. 마무리와 학습 경로
-
Neo4j 부스 P3
- 더 자세한 이야기를 나누고 싶은 사람은 행사장 P3 부스로 오면 된다.
- 이곳에서 실제 하드웨어·메모리·그래프 구성에 관해 추가 설명을 들을 수 있다.
-
Graph Academy
- 그래프를 처음 시작하는 사람은 Graph Academy를 방문할 수 있다.
- Graph Academy에는 다양한 실습형 강좌가 있고 모두 무료다.
- 온라인 강좌를 이용하거나, 더 좋게는 Neo4j 부스로 직접 찾아가 학습을 이어갈 수 있다.
주요 발언 모음
“작은 Claw는 아름답다.”
“싸고, 개방적이고, 해킹할 수 있어야 한다. 기능이 풍부한 것보다 무슨 일이 일어나는지 이해하는 것이 더 중요하다.”
“이걸로 Claw가 될까? 모르겠다. 한번 시도해 봐야겠다.”
“여기에는 큰 두뇌가 있지만, 그 두뇌는 클라우드 너머에 연결되어 있다.”
“POLE+O를 사용해서 메모리 시스템을 만들 수 있을까?”
“그래, 지금 당장 그걸 위한 skill을 작성할게. 재부팅해도 유지되는 mount point도 있어.”
“컨퍼런스 Wi-Fi는 보통 끔찍하다. 오프라인 모드가 필요하다.”
“이 장치가 실제로 온라인인지, 메시지를 받았는지 확인할 수 있으면 좋겠다. 이게 내가 꿈꾸던 것이다.”
핵심 데이터 & 수치
- Raspberry Pi 모델: 최신형이 아닌 Raspberry Pi 4B를 사용했다.
- 운영체제: 64-bit ARM을 지원한다는 사실을 깨닫기 전까지 32-bit 운영체제를 사용했다.
- NanoClaw 규모: 약 15개의 소스 파일로 구성된 작고 간결한 프로젝트를 선택했다.
- 격리 방식: Docker 컨테이너에서 에이전트 프로세스를 실행했다.
- 그래프 예시: 사람 노드 2개(Tom Hanks, Robert Zemeckis)와 영화 노드 1개(Forrest Gump)를 관계로 연결했다.
- POLE+O 메모리 유형: Person, Object, Location, Event, Organization의 5가지 범주를 사용했다.
- 로컬·클라우드 분업: Pi는 메시지·마이크·오프라인 데이터베이스를 담당하고, 클라우드는 Claude 기반 LLM 추론과 장기 메모리 처리를 담당했다.
- 로컬 데이터 흐름: 음성 텍스트 변환 → 정규식 기반 부스 번호 추출 → 로컬 Neo4j 삽입 쿼리 실행 순서로 구상했다.
- 발견된 공통 주제: Buildkite와 LangChain에서 평가와 관측 가능성이 공통 주제로 나타났다.
- 학습 자원: Graph Academy 실습 강좌는 무료다.
결론 및 시사점
- 개인 에이전트는 노트북에 무조건 설치하는 거대한 패키지보다, 동작 범위를 이해할 수 있는 작은 격리형 장치로 시작할 수 있다.
- Raspberry Pi 4B처럼 오래된 하드웨어도 Docker·메시징·마이크·로컬 그래프 데이터베이스를 결합하면 충분히 실험적인 에이전트 플랫폼이 된다.
- 클라우드 LLM은 추론 능력을 제공하고, Pi는 물리적 입력·오프라인 처리·로컬 저장소를 제공하는 분업 구조가 현실적인 절충안이 된다.
- WhatsApp은 별도의 앱을 만들지 않고도 개인 에이전트와 대화할 수 있는 친숙한 인터페이스가 된다.
- MCP 서버는 자연어 메시지와 Neo4j 질의 사이를 연결해 그래프 데이터베이스를 대화형 도구로 바꾼다.
- POLE+O는 사람·사물·장소·사건·조직을 그래프에 배치해 단순한 대화 기록을 탐색 가능한 장기 기억으로 바꾸는 출발점이 된다.
- 오프라인 모드에서는 음성 기록을 로컬에서 파싱하고 Neo4j에 적재한 뒤, 연결이 회복되면 클라우드에서 데이터를 정리하고 보강할 수 있다.
- 행사 부스처럼 연결되지 않은 원본 데이터도 업체·주제·관계로 확장하면 평가와 관측 가능성 같은 공통 패턴을 발견할 수 있다.
- 에이전트 메모리 서비스는 장기간의 WhatsApp 대화를 사람·장소·개념·관계로 증류해 이후 MCP 검색에 사용할 수 있게 한다.
- 가장 중요한 설계 기준은 화려한 기능 수가 아니라 값싸고 개방적이며 수정 가능하고 내부 동작을 설명할 수 있는 구조다.
핵심 요약 (20줄)
- Jeremy Adams는 Neo4j 그래프 기술을 Raspberry Pi 기반 개인 에이전트와 결합했다.
- Raspberry Pi 4B는 최신형은 아니지만 64-bit ARM과 Docker를 지원해 실험 플랫폼으로 충분했다.
- 32-bit 운영체제를 오랫동안 사용하다가 64-bit ARM 지원을 뒤늦게 발견한 경험이 구성 선택에 영향을 줬다.
- 무대에서 보조 마이크, HDMI 캡처 장치, USB 수신기, 배터리 전원을 직접 연결했다.
- QuickTime 캡처 문제를 재시작과 USB 3 캡처 장치 전환으로 해결하며 실제 하드웨어임을 보여 줬다.
- NanoClaw는 약 15개 소스 파일로 구성되고 Docker 컨테이너에서 에이전트를 실행해 시스템을 격리한다.
- iPhone이나 MacBook의 WhatsApp 메시지는 클라우드를 거쳐 Raspberry Pi의 NanoClaw로 전달된다.
- Raspberry Pi는 LLM 추론을 수행하지 않고 Claude 기반 클라우드 에이전트의 물리적 게이트웨이가 된다.
- MCP 서버는 WhatsApp의 자연어 요청을 Neo4j 영화 데이터베이스 질의로 연결한다.
- Tom Hanks, Robert Zemeckis, Forrest Gump의 노드와 관계는 그래프 구조를 설명하는 간단한 사례가 된다.
- 비행기에서 유료 Wi-Fi 없이 WhatsApp을 사용한 경험이 이동 중 메모리 에이전트 발상으로 이어졌다.
- POLE+O는 사람, 사물, 장소, 사건, 조직을 그래프 메모리의 기본 유형으로 삼는다.
- Claw는 재부팅 후에도 유지되는 mount point와 POLE+O용 skill을 즉석에서 만들었다.
- Neo4j Aura에는 행사 장소, 사람, AI meetup, Snowflake Menlo Park 사무실이 연결된 메모리가 쌓였다.
- USB 마이크와 직접 만든 버튼은 음성을 녹음하고 음성 텍스트 변환 모델을 트리거한다.
- 행사 부스의 번호와 메시지를 기록하기 위해 전시 업체 목록과 로컬 Neo4j 데이터 모델을 만들었다.
- 정규식으로 음성 텍스트에서 부스 번호를 추출하면 컨퍼런스 Wi-Fi가 끊겨도 로컬 저장이 가능하다.
- 클라우드에서 업체 데이터를 보강하자 Buildkite와 LangChain의 평가·관측 가능성 공통 주제가 드러났다.
- Neo4j Agent Memory Service는 전체 WhatsApp 대화를 사람·장소·개념 중심의 메모리로 증류했다.
- 값싸고 개방적이며 이해하고 수정할 수 있는 작은 시스템이 개인 에이전트 실험의 현실적인 출발점이 된다.
