Blog/
||||||

HeptaBrain: 도구가 아니라 규율을 코드로 출시하다

대부분의 AI 지식관리 도구는 AI가 약해서가 아니라, 현재 상태(state)와 결정화된 지식(knowledge)을 분리할 규율이 없어서 무너집니다. HeptaBrain은 11일간의 매일 도그푸드 끝에 오픈소스로 공개한 방법론입니다. Claude Code 슬래시 커맨드 4개, dev spec 3개, 6개 원칙. 이 글은 LinkedIn 출시 글의 long-form 동반 글로, 각 원칙의 구체적인 실패 모드와 2주차에 추가한 6번째 거버넌스 원칙을 다룹니다.

AI로 열흘 이상 무언가를 작성해 본 적이 있다면, 이 광경을 알고 계실 겁니다.

마크다운 파일 200개. 모든 헤더에 "중요한 결론"이라고 적혀 있습니다. wikilink는 사방에 깔려 있지만, 하나하나가 또 다른 200자짜리 중계소로 이어집니다. 2주가 지나면 깨닫게 됩니다 — 같은 인사이트를 세 번 다시 만들어냈고, 그것도 서로 다른 세 파일에 흩어져 있으며, 어느 것도 정본이 아니라는 사실을.

이는 AI가 글을 못 써서가 아닙니다. AI는 당신의 규율이 흡수할 수 있는 속도보다 빠르게 글을 씁니다.

저는 Claude Code + Heptabase를 11일간 매일 도그푸딩하면서 그 규율을 슬래시 커맨드 4개, dev spec 3개로 증류한 뒤 cutemo0953/heptabrain 으로 오픈소스화했습니다. 리포지토리 구조 자체는 부수적입니다. 그 아래 깔린 6개 원칙이 본질입니다.


AI 지식 작업이 무너지는 이유

붕괴 양상은 늘 똑같습니다. 현재 상태와 결정화된 지식이 뒤섞입니다.

  • "지금 이 이슈를 디버깅 중인데 근본 원인은 X다" ← 상태 (2주 후면 만료)
  • "이 부류의 이슈는 항상 경계가 불명확한 데서 비롯된다" ← 지식 (2년 뒤에도 유효)

이 둘이 섞이면 모든 파일이 결정화된 지식처럼 보이지만 실제로는 80%가 스프린트 한정 스냅샷입니다. AI는 이 낡은 상태를 마치 지식인 양 추천하게 되고, 당신의 Zettelkasten은 고엔트로피 잡음 풀로 전락합니다.

HeptaBrain의 핵심 동작은 단 하나입니다. 이 두 종류의 콘텐츠를 서로 다른 시스템에 넣고, 오직 증류(distillation)를 통해서만 소통하도록 강제합니다.

  • Claude Code Memory = 현재 상태 (며칠~몇 주)
  • Heptabase = 결정화된 지식 (영구)
  • 그 사이의 sync skill은 오직 증류된 핵심 원칙만 옮기며, 결코 본문을 통째로 옮기지 않습니다

단순합니다. 악마는 아래 6개 원칙의 디테일에 있습니다.


원칙 1: 상태와 지식의 분리는 휴리스틱이 아니라 frontmatter로 한다

모든 메모리 파일은 YAML frontmatter에 canonicality: state 또는 canonicality: knowledge를 명시합니다. sync skill은 그 필드만 읽습니다 — 파일명도, 본문 키워드도 보지 않습니다.

왜 중요한가.

휴리스틱("'결론'이나 '원칙'이 들어 있으면 지식으로 간주")은 3주차에 무너집니다. 상태 파일도 자연스럽게 그 단어들을 쓰니까요. LLM 판단은 토큰 예산이 빠듯해지면 무작위로 실패합니다.

장기적으로 유일하게 버티는 방식은: 작성자가 생성 시점에 한 번 표시해 두는 것입니다.

비용: frontmatter 한 줄. 회수: 3개월 뒤, sync가 낡은 스프린트 요약을 영구 vault로 승격하지 않습니다.


원칙 2: 엔티티 클래스마다 정본 권위는 정확히 하나 — dual source of truth 금지

이 원칙은 제가 직접 수업료를 내고 배웠습니다.

2026-04-05, 제 회계 시스템에는 "순자산"으로 향하는 동시 쓰기 경로가 두 개 있었습니다 — Cloudflare Worker와 Google Apps Script. 당연히 동기 상태를 유지할 거라 생각했죠. 어긋났습니다. 주간 리포트는 순자산이 NT$731만 차이 나는 채로 돌아왔습니다.

AI 지식 작업으로 옮겨 적용하면.

  • "이 프로젝트의 목표가 무엇인가"는 한 곳에만 있습니다.
  • 파생 시스템(Heptabase 카드, Google Sheets, 블로그 초안)은 읽기 전용입니다. 절대 역으로 쓰지 않습니다.

HeptaBrain의 sync skill은 엄격한 단방향(Memory → Heptabase)입니다. Heptabase 카드를 아무리 편집해도 메모리 파일을 덮어쓰지 않습니다. 변경을 고정하고 싶다면 메모리를 먼저 고치고, 그 다음 sync합니다.

아무리 그래 보여도, 파생 데이터는 source of truth가 아닙니다.

원칙 3: 모든 링크는 relation_type, rationale, evidence를 동반 — 빈 wikilink는 거부

Zettelkasten의 실패는 "링크가 너무 적어서"가 아닙니다. "정보를 담지 않은 링크가 너무 많아서"입니다.

벌거벗은 [[Card A]]는 주석처럼 보이지만, 미래의 당신(또는 AI)에게 아무것도 알려주지 않습니다.

  • Card A는 이 주장을 지지하나 반박하나?
  • 강한 링크인가 단순 언급인가?
  • 근거는 무엇인가? 어느 단락인가?

HeptaBrain은 AI가 제안하는 모든 링크에 다음을 의무화합니다.

필드설명
relation_type다음 중 하나: supports / refutes / extends / contrasts / instantiates
rationale관계가 성립하는 이유를 한두 문장으로
evidence구체적인 단락 참조 또는 외부 인용

필드가 하나라도 빠진 링크는 sync skill이 거부합니다.

비용: AI가 링크당 50자 정도를 더 생성. 회수: 6개월 뒤에도 링크 그래프의 모든 엣지가 의미를 유지.


원칙 4: 무작위 충돌이 아니라 도메인 간 attractor 매핑

전통적인 의미 검색은 텍스트가 비슷한 카드를 끌어옵니다. 그러나 도메인 횡단 인사이트는 보통 표면 텍스트는 다르지만 심층 구조가 같은 경우입니다.

HeptaBrain의 Multi-Dimensional Analysis 레이어는 AI에게 모든 카드를 사용자가 정의한 "attractor"에 매핑하도록 강제합니다 — 관찰이라는 개입(observation as intervention), 지연 vs 정확도 트레이드오프, 중앙집중 vs 연합 같은 개념들입니다.

그래서 "환자 본인의 통증 추적", "이식형 센서", "재해 복구 훈련"이 모두 관찰이라는 개입 attractor에 매핑되면, AI가 능동적으로 도메인 횡단 링크를 제안합니다.

이 방식으로 떠오른 실제 인사이트 하나.

환자가 매일 자기 통증 점수를 기록하는 행위 자체가 통증 강도를 낮춘다. 이식형 센서가 조직 부하를 지속 측정하는 행위가 조직 회복 궤적을 바꾼다. 재해 훈련을 돌리는 행위가 시스템을 더 회복탄력적으로 만든다. 같은 패턴이다.

흐릿한 의미 검색으로는 영영 찾지 못했을 연결입니다. attractor 매핑이 찾아냈습니다.


원칙 5: AI의 발견은 카드가 아니라 저널에 먼저 착륙시킨다

AI가 당신의 영구 지식 베이스에 직접 쓰게 두는 것은, 미래의 주의 예산에 가할 수 있는 가장 무책임한 일입니다.

Zettel Walk skill은 모든 링크 제안을 journal_walks/ 폴더에 적재하며 매일 누적합니다. 인간이 자신의 컨텍스트에서 좋은 것만 골라 한 번의 클릭으로 실제 카드 vault에 승격시킵니다.

왜 중요한가.

하루에 AI는 30개의 링크 후보를 제안할 수 있습니다. 그 중 진짜 인사이트는 2개 정도입니다. 나머지 28개는 텍스트만 비슷한 잡음입니다. 30개 모두 vault에 들어가면, 6개월 뒤 당신의 네트워크는 매장됩니다.

AI는 후보 생성기, 인간은 랭커.

원칙 6 (2주차에 추가): Code governance ≠ Institutional governance

LinkedIn 출시 후 한 주 더 고밀도로 적용해 보았습니다. 2주차에 일어난 한 사건이 이 원칙을 강제로 끼워 넣게 만들었습니다.

저는 임상 워크플로 도입을 위해 원내용 QR 포스터를 만들었습니다. 코드 단의 모든 리뷰는 통과했습니다: PHI 격리, IDOR 방어, institution-bounded 쿼리, 동의 플로우, 인증, 스키마 마이그레이션. /codex:review 돌렸고, Gemini + ChatGPT의 inline-diff 리뷰도 병렬로 돌렸습니다. 세 리뷰어 모두 아무것도 잡아내지 못했습니다.

배포 첫날, 수간호사가 즉시 중단시켰습니다. 병원 정책: 모든 QR 포스터는 홍보부 도장이 필요. 정형외과장은 이것을 학술 프로젝트가 아니라 Facebook 팬페이지 홍보물로 받아들였습니다.

근본 원인: 코드 출하 전에 그 누구도 "이 기능이 병원 안에 물리적으로 착륙했을 때 어떤 공식·비공식 거버넌스 메커니즘이 발동되는가"를 묻지 않았습니다.

그 사건 이후, HeptaBrain은 새로운 렌즈를 추가했습니다. institutional governance review.

레이어커버리지도구
Code governancePHI, IDOR, 인증, 스키마, 계약 호환성Codex + Multi-AI (Gemini + ChatGPT)
Institutional governance승인 체인, 물리적 사물에 대한 정책, 비공식 게이트키퍼, 정책 선례, 어휘 불일치institutional-governance-review 렌즈

두 레이어는 서로를 대체하지 않습니다. 첫 번째만 돌린다는 것은 = 수업료의 절반만 낸 것입니다.

이는 의료 분야를 넘어 일반화됩니다 — 금융 KYC 도입, 정부 G2C 시스템, 엔터프라이즈 B2B 제품 모두 자기만의 institutional governance 레이어를 가집니다. 거버넌스가 강한 도메인에서 AI 배포의 첫 번째 장애물은 보통 코드가 아니라 사람과 규범입니다.


세 가지 하위 규율 (수업료 항목들)

위 6개 원칙을 정리하는 동안, 더 세밀한 리뷰 규율 세 가지가 쌓였습니다. 이는 원칙 자체가 아니라 원칙을 어떻게 실행하는가에 해당합니다.

  • Self-review per rev × per file: 세 번 수정된 spec은 self-review도 세 번 필요합니다. 이전의 외부 리뷰는 이번 rev의 새 수정 사항을 커버하지 못합니다. 한 세션에서 이 함정에 세 번 빠진 뒤, 훅에 하드코딩했습니다.
  • Multi-AI parallel review: Codex는 구현 버그를 잡습니다. Gemini + ChatGPT는 계약 위반을 잡습니다 (cross-tenant, IDOR, timing attack, write-compat 단절). 두 종류의 리뷰어가 잡는 버그 클래스가 완전히 다릅니다.
  • Field rename ≠ additive: 스키마가 바뀌면 self-review는 "새 필드 추가"와 "구 필드 제거" 양쪽을 모두 점검해야 합니다. 그렇지 않으면 구버전 PWA 캐시가 hard 400을 받습니다.

이 항목들은 memory/feedback_*.md 에 들어 있으며, examples/memory/로 함께 출하되는 템플릿 중 하나입니다.


아키텍처: 3계층 스택

HeptaBrain README만 읽으면 이게 sync 도구처럼 보일 수 있습니다. 사실은 3계층 스택의 가장 아래 층입니다.

레이어이름역할
L3Multi-Dimensional Analysis도메인 간 attractor 매핑, 도메인 간 링크 제안
L2Strategic Review System같은 산출물을 여러 렌즈로, 각기 다른 각도에서 검토
L1Cyberbrain (HeptaBrain Sync)State/Knowledge 분리, 증류, 저널 우선 승격

오늘 오픈소스화된 것은 L1입니다. L2 + L3는 10건 이상의 리뷰가 누적되어 방법론이 검증되면 뒤따릅니다.


라이선스 + 초대

  • Spec / 문서: CC BY 4.0
  • 설치 스크립트 / 코드: MIT
  • GitHub 이슈 템플릿: port report (다른 도구로의 이식), spec critique (특정 원칙에 동의하지 않음), bug

당신도 AI 지식 작업을 한다면, 가장 도움이 되는 피드백은 다음과 같습니다.

  1. Port report — 다른 도구(Heptabase가 아닌)로 이식했을 때 어느 원칙이 옮겨졌고 어느 것이 HB 고유였는지 알려주세요
  2. Spec critique — 어느 원칙에 동의하지 않으며, 그 이유는 무엇인지
  3. 새 원칙 — 직접 돌려본 뒤 7번째를 발견했다면, PR을 보내주세요

Repo: github.com/cutemo0953/heptabrain


마치며

도구는 표면입니다. 규율이 본질입니다.

이 셋업이 매일 도그푸딩 2주를 버틴 이유는 Heptabase가 마법이어서도, Claude Code가 강력해서도 아닙니다 — 6개 원칙이 구조적 문제("AI는 내가 큐레이션할 수 있는 속도보다 빠르게 쓴다")를 규칙 자체에 외주화했기 때문입니다.

만약 당신이 AI 보조 지식 작업을 한다면 — 임상 연구든, 제품 전략이든, 규제 논거 작성이든 — 같은 병목이 당신을 기다리고 있습니다. 합성(Synthesis)은 규율을 따라 확장됩니다. 복사-붙여넣기는 그렇지 않습니다.

질문 하나. 당신의 AI 보조 지식 작업에는 어떤 규율이 필요하지만 아직 없습니까?


이 글은 LinkedIn 출시 글 (TBD)의 long-form 동반 글입니다. cutemo0953/heptabrain 리포지토리는 2026-04-21에 공개되었으며, 본 글은 2주차 발견(원칙 6)을 추가합니다.