TRENDSHIFT · 2026.06.11

hivemind 딥다이브
— 모든 AI 코딩 에이전트가 공유하는 '하나의 뇌'

개인용 코딩 에이전트(Claude Code·Codex·Cursor…)는 똑똑하지만 건망증이 심하다. 어제 동료가 풀어낸 까다로운 마이그레이션은 오늘 내 세션엔 남아 있지 않다. Activeloop(Deep Lake를 만든 YC 팀)이 공개한 Hivemind는 이 단절을 끊는다 — "한 엔지니어의 에이전트가 월요일에 알아낸 패턴을, 화요일엔 팀의 모든 에이전트가 실행한다." 모든 세션의 프롬프트·툴 호출·응답을 Deep Lake(텐서·벡터 DB)에 구조화된 트레이스로 저장하고, 반복 패턴을 SKILL.md로 자동 codify해 팀 전체에 전파한다. LoCoMo 장기기억 벤치마크에서 메모리 없는 베이스라인 대비 비용 25%↓·토큰 1.7배↓·턴 31%↓. (저장소: activeloopai/hivemind · TypeScript · Apache-2.0 · npm @deeplake/hivemind · Node ≥22)
목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리 구조 해부
  6. 학습 포인트 (기술별)
  7. 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

이 레포가 무엇을 하는 물건인가.

핵심 메시지

"여러 에이전트에게 공유 뇌를 달아준다 —
한 번 배운 것을 팀 전체·기기 전체가 실시간으로 나눠 갖는다."

Hivemind는 Claude Code·OpenClaw·Codex·Cursor·Hermes·pi 같은 여러 코딩 에이전트에 끼우는 자동 학습형 공유 메모리 레이어다. 각 에이전트의 모든 상호작용(내가 보낸 프롬프트, 에이전트가 부른 툴, 그 결과, 최종 응답)을 자동으로 붙잡아 Deep Lake에 트레이스로 쌓는다.

그저 기억만 하는 게 아니다. 백그라운드 워커가 트레이스에서 반복되는 패턴을 캐내(mine) 재사용 가능한 SKILL.md로 굳히고(codify), 그 스킬을 팀의 모든 에이전트 컨텍스트에 다시 흘려보낸다(propagate). 그래서 시간이 갈수록 팀 전체가 같이 똑똑해진다(compound).

HivemindCapture → Codify → Propagate → Compound의 4단 루프로 요약된다. npm install -g @deeplake/hivemind && hivemind install 한 줄이면, 설치 프로그램이 내 머신에 깔린 지원 에이전트를 전부 감지해 라이프사이클 훅(hook)을 자동으로 꽂는다. 이후엔 코딩만 하면 된다 — 캡처도, 회상(recall)도 기본값이 켜져 있다.

용어
트레이스 (trace)
에이전트 세션에서 일어난 모든 사건의 구조화된 기록. "사용자 프롬프트 → 툴 호출(이름+입력) → 툴 응답(전체) → 에이전트 최종 응답"을 한 턴 단위로 묶은 것. Hivemind는 이걸 텍스트가 아니라 Deep Lake 텐서 행(row)으로 저장해, 나중에 검색·재학습·파인튜닝 데이터셋으로 재활용한다.
용어
codify / skillify (스킬화)
팀의 최근 세션들에서 되풀이되는 작업 패턴을 찾아내 하나의 재사용 스킬 문서(SKILL.md)로 자동 증류하는 과정. Hivemind는 주기적으로 Haiku에게 "이 활동에 남길 만한 게 있냐"고 물어, 있으면 <project>/.claude/skills/<name>/에 스킬을 써 넣는다. 사람이 매뉴얼을 쓰지 않아도 노하우가 자산이 된다.

2왜 주목받는가

트렌딩 이유 · mem0·Letta·Zep 등 경쟁 대비 장점.

2026년 현재 "AI 에이전트 메모리"는 가장 뜨거운 인프라 격전지다. mem0·Letta(구 MemGPT)·Zep 같은 라이브러리가 "에이전트가 대화를 기억하게" 만드는 데 집중했다면, Hivemind는 세 가지 차별점으로 시선을 끈다. 첫째, "개인 메모리"가 아니라 "팀 공유 뇌"다 — 세션·에이전트·동료·기기를 가로질러 같은 substrate를 본다. 둘째, 기억에서 끝나지 않고 패턴을 스킬로 자가 증류한다(skillify). 셋째, 한 줄 설치로 6종 에이전트에 동시에 꽂히는 멀티-에이전트 통합 표면을 갖췄다.

비교 항목대화 메모리 라이브러리 (mem0·Letta·Zep 류)Hivemind
제품 형태앱에 임포트하는 SDK/서버여러 코딩 에이전트에 꽂는 훅/플러그인
기억 범위주로 한 사용자·한 에이전트의 대화팀·조직 전체가 공유(같은 워크스페이스)
저장 백엔드벡터 DB(Pinecone/Qdrant 등)+RDB 혼합Deep Lake 텐서/벡터 DB 단일 substrate
기억 너머회상(recall) 중심회상 + 패턴→스킬 자동 codify·전파
대상 워크로드챗봇·범용 에이전트코딩 에이전트(코드 그래프·트레이스 특화)
데이터 주권벤더 클라우드 종속이 흔함BYOC(내 GCS/Azure/S3/온프렘 버킷)
기존 방식의 한계
"세션마다 처음부터 다시"의 낭비

에이전트는 세션이 끝나면 맥락을 잊는다. 같은 버그를 다른 동료가 또 만나면, 그의 에이전트는 어제의 해법을 모른 채 처음부터 추론을 다시 한다 — 토큰을 더 태우고, 턴을 더 돌고, 비용을 더 낸다. LoCoMo 측정에서 이 "재유도(re-derive)" 비용이 그대로 드러난다(베이스라인 질문당 1,700토큰·8.9턴).

Hivemind의 해결
"이미 안 것은 회상 시점에 이미 스코프 안에 있다"

이전 작업이 트레이스·스킬로 substrate에 남아 있으므로, 에이전트는 매번 다시 추론하지 않고 회상한다. 그래서 같은 LoCoMo 과제를 질문당 1,008토큰·6.2턴·100QA당 $6.65로 끝낸다 — 비용 25%↓, 토큰 1.7배↓, 턴 31%↓. "기억"이 곧 "효율"로 환산된 드문 사례다.

3기술 스택 전체 지도

백엔드(저장·검색) / 통합(에이전트 훅) / 인프라(빌드·배포) 각각 상세.

① 핵심 런타임 & 의존성 (package.json)

순수 TypeScript ESM 모노레포다. Node ≥22, 빌드는 tsc(타입체크)+esbuild(번들)로 각 에이전트별 번들을 뽑는다.

의존성역할
deeplake저장·검색 백엔드. 텐서/벡터 DB. 트레이스·요약·스킬·룰·그래프가 모두 여기 SQL 테이블로 들어간다.
@anthropic-ai/sdk요약/스킬 마이닝 시 Claude(Haiku) 호출. 단, 워커는 보통 호스트 에이전트의 CLI(claude -p·codex exec)를 shell-out 한다(별도 키 불필요).
@huggingface/transformers로컬 임베딩 데몬(nomic-embed-text-v1.5, 768차원)으로 시맨틱 검색 제공. 기본 off(~600MB 의존성).
@modelcontextprotocol/sdkMCP 서버 구현. Hermes 및 향후 MCP 클라이언트가 hivemind_search/read/index를 툴로 호출.
tree-sitter (+ -typescript)코드 파싱 → 코드베이스 그래프(파일·심볼·임포트·엣지) 추출. optionalDependency(네이티브 빌드).
just-bash가상 파일시스템(VFS)의 샌드박스 셸. ~70개 allowlist 빌트인만 실행, 나머진 거부.
zod / js-yaml / yargs-parser스키마 검증 · 설정(YAML) 파싱 · CLI 인자 파싱.
용어
Deep Lake (deeplake)
Activeloop이 만든 AI용 텐서/벡터 데이터베이스. 임베딩·이미지·텍스트 같은 멀티모달 데이터를 텐서 포맷으로 저장하고 SQL로 질의하며 벡터 유사도 검색을 한다. Hivemind는 이것을 자기 "뇌의 물리적 기억장치"로 쓴다 — 트레이스가 텐서 행으로 쌓이므로 나중에 PyTorch 데이터셋으로 export해 파인튜닝까지 가능.

② 통합 표면 — 6종 에이전트에 꽂히는 방식

Hivemind의 진짜 공학은 "제각각인 에이전트들의 라이프사이클 이벤트를 같은 코어에 연결"하는 어댑터에 있다. 각자 훅 메커니즘이 다르다.

에이전트연결 메커니즘 · 훅
Claude Code마켓플레이스 플러그인. SessionStart·UserPromptSubmit·PreToolUse·PostToolUse·Stop·SubagentStop·SessionEnd
Codex~/.codex/hooks.json (첫 실행 시 "Trust all" 필요)
Cursor (1.7+)~/.cursor/hooks.json 6개 라이프사이클 이벤트, 이벤트마다 Node 번들 fork
OpenClaw네이티브 확장. memory-core 플러그인과 공존(메모리 슬롯 점유 안 함)
Hermes셸 훅(config.yaml) + 스킬 + MCP 서버
pi확장 API(pi.on(...)) + AGENTS.md 마커 블록 + 등록 툴

③ 인프라 · 거버넌스

요소내용
저장 격리org·workspace 경계를 스토리지 레이어에서 강제. 세션은 다른 워크스페이스와 행·파티션·인덱스를 공유하지 않음.
암호화모든 에이전트↔Deep Lake 간 TLS, 저장 시 AES-256. 클라우드 자격증명은 Deep Lake 볼트에(Hivemind는 raw key를 못 봄).
BYOCGCS·Azure Blob·S3·온프렘 S3 호환 버킷에 데이터 보관 가능.
코드 레벨 보안SQL 값 sqlStr()/sqlLike()/sqlIdent()로 이스케이프, 자격증명 0600·설정 디렉토리 0700, device-flow 로그인(환경/코드에 토큰 없음).
테스트/품질vitest · jscpd(중복 검사) · husky+lint-staged · CI=typecheck && dup && test
비유

Hivemind는 회사 공용 위키 + 자동 사보 편집국이다. 직원(에이전트)들이 일하는 동안 누군가 어깨너머로 회의록(트레이스)을 다 받아 적어 사내 도서관(Deep Lake)에 보관하고, 밤마다 편집국(백그라운드 워커)이 "이번 주 자주 나온 노하우"를 한 장짜리 매뉴얼(SKILL.md)로 정리해 전 직원 책상에 깔아 둔다. mem0류가 "개인 다이어리"라면, Hivemind는 "조직의 집단 기억"이다.

4아키텍처 심화 분석

여러 에이전트 ↔ 공유 메모리 코어 ↔ Deep Lake 저장소 + 핵심 설계 패턴.

전체 구조 한눈에

위에는 서로 다른 코딩 에이전트들이 있고, 각자 자기 방식의 라이프사이클 훅으로 같은 코어에 붙는다. 코어는 두 방향으로 일한다 — 세션 중엔 회상(recall)으로 컨텍스트를 주입하고, 세션 후엔 캡처(capture)로 트레이스를 적재한다. 모든 것은 결국 Deep Lake의 7개 테이블(=공유 substrate)로 수렴한다.

Claude Code Codex Cursor OpenClaw Hermes pi (plugin) (hooks) (hooks) (native) (MCP/hook)(ext) │ │ │ │ │ │ └────┬─────┴───┬───┴────┬────┴────┬─────┴───┬───┘ ▼ ▼ ▼ ▼ ▼ ╔══════════════════════════════════════════════════╗ ║ HIVEMIND 코어 (공유 메모리 엔진) ║ ║ recall(주입) ◀──┐ ┌──▶ capture(적재) ║ ║ ┌──────────────┐ │ │ ┌──────────────┐ ║ ║ │ 하이브리드 │ │ 훅 │ │ 세션 이벤트 │ ║ ║ │ 검색 BM25 + │ │ 라우터 │ │ 트레이스화 │ ║ ║ │ 임베딩(768d) │ │ │ │ │ ║ ║ └──────────────┘ └──────────┘ └──────────────┘ ║ ║ ┌─────────────┐ ┌─────────┐ ┌─────────────┐ ║ ║ │ skillify │ │ VFS │ │ wiki 요약 │ ║ ║ │ 패턴→SKILL │ │ ~/.deeplake│ 워커(세션끝)│ ║ ║ └─────────────┘ │ /memory │ └─────────────┘ ║ ║ └─────────┘ ║ ╚════════════════════════╤═════════════════════════╝ │ SQL (sqlStr/sqlIdent 이스케이프) ▼ ┌──────────────────────────────────────────────────┐ │ DEEP LAKE (텐서/벡터 DB · org/ws 격리) │ │ sessions memory skills rules goals kpis │ │ codebase(코드 그래프 스냅샷) │ └──────────────────────────────────────────────────┘ ▲ BYOC: GCS / Azure / S3 / 온프렘 버킷

Deep Lake에 쌓이는 7개 테이블 — substrate의 실체

src/deeplake-schema.ts가 단일 진실원이다. 흥미로운 건 대부분 테이블이 불변(immutable) + 버전 증가 패턴이라는 점 — 수정은 UPDATE가 아니라 version+1로 새 행을 INSERT하고, 읽을 땐 ORDER BY version DESC LIMIT 1로 최신만 고른다.

테이블담는 것
sessions턴 단위 원시 트레이스(message JSONB + message_embedding). 캡처의 종착지.
memory세션 끝 워커가 쓴 위키 요약(summary + 768d 임베딩). 검색의 1차 표적.
skillscodify된 스킬 1버전=1행(name·trigger_text·body·scope·contributors). 팀 전파의 원천.
rules조직 공통 원칙("prod 자격증명에 DROP TABLE 금지"). SessionStart에 주입.
goals / kpisVFS 경로(memory/goal/<owner>/<status>/…)에 인코딩된 목표·지표. 경로가 구조의 진실원.
codebase(repo,user,worktree,commit)별 코드 그래프 스냅샷(node-link JSON + sha256). drift 감지.
용어
하이브리드 검색 (lexical + semantic)
키워드 일치(BM25/lexical)와 의미 유사도(임베딩/semantic)를 합쳐 회상하는 방식. Hivemind는 임베딩이 켜져 있으면 둘을 섞고, 꺼져 있으면 조용히 BM25로 폴백한다(검색이 죽지 않는 graceful degradation). 임베딩은 ~600MB라 기본 off.

핵심 설계 패턴 1 — 가상 파일시스템(VFS) 위의 메모리

Hivemind는 에이전트가 ~/.deeplake/memory/ 경로에 평범한 파일 I/O를 하는 것처럼 보이게 한다. 그러나 그 경로의 읽기/쓰기는 SQL 백엔드로 가로채진다(intercept). 에이전트는 cat·ls·heredoc 같은 친숙한 셸 동작으로 메모리를 다루고, Hivemind가 이를 Deep Lake 행으로 번역한다. just-bash의 ~70개 allowlist 빌트인만 허용되고 나머진 거부된다.

비유

이건 리눅스의 /proc와 같다. /proc/cpuinfo는 진짜 파일이 아니라 커널이 즉석에서 만들어 주는 "파일처럼 보이는 인터페이스"다. Hivemind의 ~/.deeplake/memory/도 디스크 위 폴더가 아니라 SQL이 입는 파일 가면이다 — 에이전트는 파일을 다룬다고 믿지만, 실제론 데이터베이스에 쓴다.

핵심 설계 패턴 2 — 스키마 자가 치유(self-healing)

분산된 여러 머신의 에이전트가 서로 다른 플러그인 버전으로 같은 테이블에 쓴다. 컬럼이 늘어나면? healMissingColumns()가 먼저 information_schema.columns를 SELECT해 실제로 빠진 컬럼만 ALTER TABLE ADD COLUMN 한다(blanket·IF NOT EXISTS 금지). 동시 쓰기 레이스로 "already exists"가 나면 재-SELECT로 검증 후 무해 처리한다.

// deeplake-schema.ts — 빠진 컬럼만 진단 후 추가, 레이스는 재검증
const missingCols = columns.filter(c => !existing.has(c.name.toLowerCase()));
for (const col of missingCols) {
  try {
    await query(`ALTER TABLE "${safeTable}" ADD COLUMN ${col.name} ${col.sql}`);
  } catch (e) {
    if (!/already exists/i.test(msg)) throw e;   // 진짜 에러는 다시 던짐
    // 동시 쓰기 레이스 → 재-SELECT로 존재 확인되면 성공으로 간주
  }
}
용어
불변 + 버전 증가 (immutable, version-bumped)
행을 제자리에서 UPDATE하지 않고, 바뀔 때마다 version = N+1새 행을 INSERT하는 패턴. 읽을 땐 가장 높은 버전만 고른다. Deep Lake의 UPDATE-coalescing 특성을 우회하고, 완전한 감사 로그(audit trail)를 공짜로 얻는다. rm(삭제)조차 status='closed'인 새 버전을 쓰는 "soft-close"라 이력이 보존된다.

핵심 설계 패턴 3 — Capture → Codify → Propagate → Compound

이 레포의 간판 아이디어. 단순 회상을 넘어 자기 강화 루프를 만든다.

① CAPTURE ─ 모든 세션의 프롬프트·툴호출·응답을 sessions 테이블에 적재 │ ② CODIFY ─ skillify 워커(Stop/SessionEnd)가 최근 세션 마이닝 │ → Haiku에게 "남길 가치 있나?" → 있으면 SKILL.md 생성 │ ③ PROPAGATE ─ codify된 스킬이 팀 모든 에이전트 컨텍스트에 주입 │ (pull 로 동료 스킬 로컬 설치) │ ④ COMPOUND ─ 다음 세션은 더 똑똑한 상태로 시작 ─▶ ①로 (복리) "주니어가 쓴 에이전트가, 시니어가 어제 알아낸 것으로 더 날카로워진다"

게다가 트레이스가 Deep Lake 텐서 포맷이라, 그대로 PyTorch 데이터셋으로 export해 조직 고유 trajectory로 오픈소스 모델을 파인튜닝하는 길까지 열린다(로드맵). 루프가 한 바퀴 돌 때마다 회상은 더 정확해지고, 데이터 자산은 더 두꺼워진다.

5디렉토리 구조 해부

공유 코어(src/) + 에이전트별 번들 디렉토리로 나뉜 모노레포.

hivemind/ ├── src/ ★ 공유 코어 (API 클라이언트·인증·설정·SQL 유틸) │ ├── deeplake-api.ts Deep Lake 질의 클라이언트 │ ├── deeplake-schema.ts ★ 7개 테이블 스키마 단일 진실원 + 자가치유 │ ├── hooks/ Claude Code 훅 (+ codex/ cursor/ hermes/ pi/ 하위) │ ├── shell/ 가상 파일시스템(VFS) · deeplake-shell │ ├── skillify/ 패턴 마이닝 → SKILL.md 생성 워커 │ ├── graph/ tree-sitter 기반 코드베이스 그래프 추출 │ ├── embeddings/ nomic embed 데몬 + 프로토콜 + SQL 헬퍼 │ ├── mcp/ MCP 서버(Hermes·향후 MCP 클라이언트용) │ ├── rules/ org 공통 룰 주입 │ ├── dashboard/ 상태/그래프 시각화 │ ├── commands/ auth · auth-login · session-prune … │ └── cli/ 통합 `hivemind install` + 에이전트별 인스톨러 ├── claude-code/ Claude Code 플러그인 소스(마켓플레이스 배포) ├── codex/ cursor/ hermes/ mcp/ 각 에이전트 빌드 산출물(npm 배포) ├── openclaw/ OpenClaw 플러그인 소스+산출물(ClawHub 배포) ├── pi/ pi 확장 소스(.ts 원본 그대로, pi가 로드 시 컴파일) ├── embeddings/ 임베딩 관련 보조 ├── bundle/ 통합 `hivemind` CLI 빌드 산출물(bin 엔트리) ├── docs/ ARCHITECTURE·EMBEDDINGS·SUMMARIES·SKILLIFY … ├── scripts/ sync-versions · ensure-tree-sitter · pack-check … ├── tests/ vitest 스위트 ├── esbuild.config.mjs 에이전트별 번들 빌드 설정 └── package.json @deeplake/hivemind · bin: bundle/cli.js
읽는 순서 추천

README.md로 4단 루프 큰 그림 → ② docs/ARCHITECTURE.md로 에이전트별 훅 매핑 → ③ src/deeplake-schema.ts로 "데이터가 실제로 어떻게 생겼나" → ④ src/shell/(VFS)·src/skillify/로 핵심 마법 두 가지. 코어를 먼저 읽고, 에이전트 어댑터는 한두 개만 비교하면 전체 그림이 잡힌다.

6학습 포인트 (기술별)

이 레포에서 무엇을 배우고, 무엇을 실습할까.

A. 멀티-에이전트 통합 어댑터 패턴

제각각 훅 모델이 다른 6종 에이전트(플러그인·hooks.json·네이티브 확장·MCP·AGENTS.md)를 하나의 공유 코어에 연결한다. "이질적 라이프사이클을 공통 인터페이스로 정규화"하는 어댑터 설계의 교과서다.

실습: Claude Code 훅 1개(SessionStart)와 Cursor 훅 1개(sessionStart)가 같은 캡처 함수를 어떻게 다른 입력 형태로 호출하는지 코드로 비교하고, 둘을 잇는 최소 정규화 레이어를 도식으로 그려 보라.

B. 가상 파일시스템(VFS) = SQL을 파일로 위장

경로 I/O를 가로채 DB로 번역하는 패턴. just-bashallowlist 샌드박스 셸을 만들고, 경로 매칭(path-match.ts)으로 트리거 경로만 가로챈다. 에이전트에게 "친숙한 도구로 새 백엔드를 쓰게" 하는 인터페이스 설계 사례.

실습: 특정 디렉토리에 대한 cat/ls/쓰기를 가로채 SQLite로 보내는 30~50줄짜리 미니 VFS를 만들어 보라. 허용 명령 allowlist를 두고 그 외엔 거부할 것.

C. 불변 + 버전 증가 데이터 모델

UPDATE 대신 version+1 INSERT, 읽기는 최신 버전 선택. 감사 로그·동시성·soft-delete를 한꺼번에 해결한다. 이벤트 소싱(event sourcing)의 경량 버전으로 이해하면 좋다.

실습: "룰" 테이블을 만들어 edit=새 버전 INSERT, list=rule_id별 최신만, done=status='closed' 새 버전으로 구현해 보라. 과거 버전이 모두 조회되는지 확인.

D. 스키마 자가 치유 + graceful degradation

분산 쓰기 환경에서 컬럼 drift를 information_schema diff로 잡아 빠진 것만 ALTER하고, 레이스는 재검증한다. 임베딩이 없으면 BM25로 조용히 폴백한다. "실패해도 죽지 않는" 운영 견고성의 정석.

실습: 코드 정의 스키마와 실제 테이블 컬럼을 비교해 누락분만 ALTER하는 헬퍼를 짜고, "already exists"를 일부러 발생시켜 재검증 분기를 타게 해 보라.

E. 패턴 마이닝 → 스킬 codify (skillify)

최근 트레이스를 LLM(Haiku)에게 던져 "재사용할 가치가 있는 절차인가"를 판정받고 SKILL.md로 굳히는 파이프라인. "에이전트 활동에서 자동으로 자산을 추출"하는, 에이전트 시대의 핵심 기법.

실습: 작은 트레이스 묶음(JSON)을 입력받아 LLM에게 trigger/body 형식의 스킬 후보를 뽑게 하고, "가치 없음" 응답이면 버리는 미니 skillify 스크립트를 만들어 보라.

7시스템 요구사항

설치는 한 줄, 그러나 전제와 선택지가 있다.

목적필요한 것
설치·실행Node ≥22 · npm. npm i -g @deeplake/hivemind && hivemind install
공유 메모리 활성화Deep Lake 계정 + 토큰(브라우저 device-flow 또는 HIVEMIND_TOKEN). 토큰 없으면 훅만 깔리고 회상은 스킵.
지원 에이전트Claude Code · Codex · Cursor(1.7+) · OpenClaw · Hermes · pi 중 1개 이상.
시맨틱 검색(선택)hivemind embeddings install — nomic-embed 데몬 ~600MB. 안 깔면 BM25 폴백.
코드 그래프(선택)tree-sitter 네이티브 빌드(ensure-tree-sitter.mjs가 postinstall에서 시도).
데이터 주권(선택)BYOC: 내 GCS/Azure/S3/온프렘 버킷.
반드시 알아둘 것 — 데이터 수집 고지
"모든 세션 활동이 워크스페이스에 저장되고, 워크스페이스 전원이 읽는다"

Hivemind는 사용자 프롬프트·툴 호출·툴 응답·에이전트 응답·서브에이전트 활동을 전부 캡처해 Deep Lake에 쌓는다. "공유 능력은 공유 substrate를 전제한다"는 설계 철학상, 같은 워크스페이스의 모든 사용자가 이 데이터를 읽을 수 있다. 매 세션 시작 시 DATA NOTICE가 표시되며, 끄려면 HIVEMIND_CAPTURE=false. 워크스페이스 격리로 조직 간 누출은 막지만, 조직 내부 공유는 의도된 동작이니 민감 정보 취급에 주의.

8직접 해볼 수 있는 실습 과제

난이도별 5단계 — 설치 체험부터 코어 패턴 재구현까지.

과제 1 난이도 ★☆☆☆☆

설치하고 회상 확인하기

지원 에이전트 하나에 hivemind install 후, 한 세션에서 어떤 결정을 내리고 다음 세션에서 "What did we decide about X?"로 물어 회상이 되는지 확인한다. hivemind status로 무엇이 wired-up 됐는지, DATA NOTICE 문구도 함께 읽어 둔다.

과제 2 난이도 ★★☆☆☆

스키마 읽고 데이터 모델 그리기

src/deeplake-schema.ts의 7개 컬럼 정의를 읽고, 각 테이블의 키·임베딩 컬럼·버전 컬럼을 표로 정리한다. "왜 UPDATE가 아니라 version+1 INSERT인가"를 주석에서 찾아 한 문단으로 요약.

과제 3 난이도 ★★★☆☆

버전형 룰 저장소 미니 구현

SQLite로 rules(rule_id, text, version, status) 테이블을 만들고, add/edit/list/done을 불변+버전 증가 패턴으로 구현한다. edit은 version+1 INSERT, list는 rule_id별 최신만(ORDER BY version DESC), done은 status='closed' 새 행. 전체 이력이 보존되는지 검증.

과제 4 난이도 ★★★★☆

경로 가로채기 VFS 만들기

특정 경로 prefix에 대한 파일 읽기/쓰기를 가로채 DB로 보내는 미니 VFS를 짠다. path-match로 트리거 경로만 잡고, allowlist에 없는 명령은 거부. 에이전트가 "파일을 다룬다"고 믿게 하면서 실제론 행을 INSERT/SELECT하게 만들어 본다.

과제 5 난이도 ★★★★★

capture → codify 미니 루프

가짜 세션 트레이스(프롬프트+툴호출+응답 JSON) 여러 개를 만들고, 이를 LLM에 던져 반복 패턴을 trigger/body 형식 스킬로 뽑게 한다. "남길 가치 없음"이면 폐기, 있으면 SKILL.md로 저장. N턴마다 한 번씩 도는 스케줄러까지 붙이면 skillify의 축소판이 된다.

9관련 기술 심화 학습 로드맵

6주 코스 — 에이전트 메모리에서 분산 데이터 모델까지.

주차주제실습 · 참고
1주차에이전트 메모리 개념 + LoCoMo 벤치마크 읽기README Benchmarks · LoCoMo 논문(arXiv 2402.17753)
2주차벡터/텐서 DB와 하이브리드 검색(BM25+임베딩)Deep Lake 문서 · nomic-embed-text-v1.5
3주차멀티-에이전트 라이프사이클 훅 & 어댑터 패턴docs/ARCHITECTURE.md · src/hooks/*
4주차가상 파일시스템 + allowlist 샌드박스 셸src/shell · path-match.ts · just-bash
5주차불변+버전 데이터 모델 · 스키마 자가치유src/deeplake-schema.ts (healMissingColumns)
6주차패턴 마이닝→스킬 codify · MCP 서버 · 코드 그래프docs/SKILLIFY.md · src/mcp · src/graph(tree-sitter)

10핵심 키워드 사전

본문·README·코드에 나온 용어 빠른 참조.

용어의미
Trace (트레이스)한 턴의 구조화 기록: 프롬프트+툴호출+툴응답+에이전트응답. sessions 테이블 행.
Deep LakeActiveloop의 텐서/벡터 DB. Hivemind의 저장·검색 백엔드 substrate.
Substrate (공유 기반)모든 에이전트가 같이 보는 공유 저장소(Deep Lake의 7개 테이블).
Capture (캡처)세션 활동을 트레이스로 자동 적재. 기본 on, HIVEMIND_CAPTURE=false로 off.
Recall (회상)SessionStart/프롬프트 시 관련 트레이스·스킬·룰을 컨텍스트에 주입.
Skillify / Codify반복 패턴을 마이닝해 재사용 SKILL.md로 굳히는 백그라운드 워커.
Propagate (전파)codify된 스킬을 팀 모든 에이전트에 흘려보냄. pull로 동료 스킬 설치.
VFS가상 파일시스템. ~/.deeplake/memory/ 경로 I/O를 SQL로 가로챔.
Hybrid searchBM25(lexical)+임베딩(semantic) 결합 검색. 임베딩 off면 BM25 폴백.
Wiki summary세션 끝 워커가 호스트 CLI를 shell-out해 쓰는 AI 위키 요약(memory 테이블).
Rules / Goals / KPIsorg 공통 원칙 · 목표 · 지표. VFS 경로/테이블에 버전형으로 저장.
Codebase graphtree-sitter로 뽑은 파일·심볼·임포트·엣지 그래프. 검색이 텍스트가 아닌 그래프를 탐색.
BYOCBring Your Own Cloud — 내 GCS/Azure/S3/온프렘 버킷에 데이터 보관.
Version-bumpUPDATE 대신 version+1 새 행 INSERT, 읽기는 최신만. 감사로그+soft-delete.

11참고 링크