virtual-insanity
← 뒤로

볼트 분류 체계 진단 및 개선안 — 9개 에이전트 심층 분석 결과

established 2026-03-24

오ㅏㅇ볼트 분류 체계 진단 및 개선안

2026-03-24 | 9개 에이전트 병렬 심층 분석 (폴더별 6 + 데이터별 3)


1. 현재 상태 — 숫자가 말하는 것

전체 규모

스테이지 노트 수 비율 건강 상태
100 수신함 2,001 33.8% 86%가 3대 병목(croned/텔레그램/지식사랑방)
200 아토믹 3,378 57.1% seedling 85%, 중복 1,691개, 고립 50.8%
300 지식망 493 8.3% 73% 고립(inbound=0), 43% zk_type 없음
400 판단 44 0.7% 수동 생성 위주. 자동 승격 경로 사실상 없음

콘텐츠 등급 (폴더 무관, 데이터 자체 기준)

등급 개수 비율 특성
A (활용 가능) 400~500 8~10% 2,000자+, wikilink 있음, evergreen. MOC/방법론/리서치
B (강화하면 가능) 790 13% 500자+, wikilink 있으나 maturity 낮음
C (정리 대상) 1,974 33% 500자+ 고립 또는 150~500자 단편
D (삭제 대상) 2,004 34% 중복 1,691 + URL뿐 853 + 빈 49

볼트의 1/3이 쓰레기이고, 실제 활용 가능한 지식은 8~10%다.


2. 근본 원인 진단 — 왜 이렇게 되었나

원인 1: 수집 속도가 정제 속도의 30배

3월 한 달에 3,872개 노트가 생성되었다(전체의 65%). 일일 평균 130개. 반면 200→300 승격은 월 10~15개 수준이다. 이 불균형이 200 아토믹을 3,378개짜리 정체 저수지로 만들었다.

파이프라인별 일일 산출량: idea_collector ~10개, popular_posts ~10개, twitter ~5개, 텔레그램 ~20개, 크론데이터 ~30개, 지식사랑방 ~15개, 기타 ~40개. 매일 130개가 들어오는데 나가는 건 1개 미만.

원인 2: "승격"의 의미가 혼란스럽다

promoted_at 필드가 있는 200 노트가 2,569개인데, 실제 300에 있는 것은 133개뿐이다. 왜? promoted_at이 "100→200 이동"과 "200→300 이동"을 모두 의미하기 때문이다. 필드의 의미가 스테이지마다 재정의되어 생애주기 추적이 깨져 있다.

원인 3: vault_architect는 분류기이지 성숙화기가 아니다

vault_architect가 994개를 처리했지만 85.8%가 여전히 seedling이다. 자동화가 category/subcategory를 붙이는 작업은 하지만, 노트의 내용을 풍부하게 만들거나(enrich), 다른 노트와 연결하는(connect) 작업은 사실상 하지 못한다. 처리 여부가 maturity에 영향 없음이 통계적으로 확인되었다.

원인 4: note_atomizer의 분열-방치 패턴

note_atomizer가 긴 노트를 663개 원자 노트로 분할했다. 그런데 이 원자들의 81.5%가 wikilink 0개다. 분할은 하지만 분할된 조각을 다시 지식망에 연결하는 단계가 없다. 분열 → 고립 → 방치의 3단계가 자동으로 진행된다.

원인 5: 파이프라인 중복 수집 버그

같은 URL이 수백 번 수집되어 _1, _2, ..._203 suffix가 붙는다. PhotonCap 1개 URL → 410개 파일. SKT AI-RAN → 204개 파일. 1,691개(200 아토믹의 50%)가 이 중복이다. dedup 로직이 실패하고 있다.

원인 6: 300 지식망의 핵심은 수동 생성 노트다

300에서 가장 많이 참조되는 노트(MOC-기업 318 wikilinks, MOC-반도체 379 wikilinks)는 자동 승격이 아니라 처음부터 300에 수동 생성된 것들이다. 지식망의 허브는 자동화가 만든 게 아니라 사람이 만든 것이다. 이것은 자동 파이프라인의 설계 목표와 현실 사이에 근본적 괴리가 있다는 뜻이다.


3. 분류 체계 개선안

원칙: 폴더를 바꾸기 전에 파이프라인을 고쳐야 한다

폴더 구조를 아무리 바꿔도 수집 130개/일 vs 정제 1개/일의 불균형이 해소되지 않으면 어느 폴더든 다시 넘친다. 개선 순서:

1단계: 쓰레기 제거 (D급 2,004개)
2단계: 유입 통제 (수집 품질 게이트)
3단계: 연결 강화 (고립 해소)
4단계: 폴더 구조 정리 (그 다음)

1단계: 즉시 실행 — D급 2,004개 정리

1-1. 중복 제거 (1,691개)

_N suffix 패턴으로 동일 title 그룹에서 원본(가장 긴 body)만 남기고 삭제. 자동화 가능.

대상: ~/knowledge/200 아토믹/ 전체
기준: 같은 stem + _[0-9]+ suffix → 원본 1개만 보존
예상 효과: 200 아토믹 3,378 → ~1,700개 (50% 축소)

1-2. URL-only 노트 처리 (853개)

body가 URL 1개뿐인 노트. enrichment(URL fetch → 본문 추출) 재시도 후 실패 시 삭제.

대상: body < 150자 AND URL 패턴 포함
처리: enrich_body_from_url() 재실행 → 성공 시 유지, 실패 시 삭제

1-3. 빈 파일 삭제 (49개)

body 50자 미만. 즉시 삭제.

2단계: 유입 통제 — 수집 품질 게이트

2-1. 116 croned_data (770개) 라우팅 변경

증권사 리포트 자동수집물이 수신함에 쌓이는 것이 가장 큰 유입원. 이것들은 발행 당일만 가치가 있는 일시성 데이터다.

변경: 100 수신함 → 600 데이터/610 참조자료로 직접 라우팅
정책: 7일 후 자동 아카이브
효과: 수신함 -770개 (38% 감소)

2-2. 118 텔레그램 (528개) 라우팅 변경

실시간 시장 의견은 "지식"이 아니라 "시그널"이다.

변경: 100 수신함 → 500 시그널로 라우팅
정책: 14일 후 자동 아카이브
효과: 수신함 -528개 (26% 감소)

2-3. 파이프라인 dedup 수리

note_atomizer 또는 그 이전 단계에서 같은 URL/title의 노트를 반복 생성하는 버그. title+source URL 기준 dedup 체크 추가.

수정 대상: scripts/pipeline/note_atomizer.py (또는 ingest 단계)
효과: 향후 중복 생성 방지

3단계: 연결 강화 — 고립 해소

3-1. knowledge_connector 강화

현재 200 아토믹 고립률 50.8%. knowledge_connector가 기업 노트(220)를 MOC에 연결하는 작업을 충분히 하지 못하고 있다.

개선: 기업 노트에 entities/ticker가 있으면 해당 MOC-기업-{sector}에 자동 wikilink 추가
대상: 220 기업 1,038개 중 고립 676개
기대 효과: 고립률 50.8% → 30% 이하

3-2. note_atomizer 분할 후 연결 단계 추가

현재: 분할 → 끝 개선: 분할 → 각 원자 노트에 parent_note + sibling + 관련 MOC wikilink 자동 추가

3-3. 300 지식망 zk_type 자동 라벨링

210개가 none. 규칙 기반 라벨링: - body에 '매수/매도/목표가' → judgment - body에 '시사점/함의' → insight - title에 'MOC' → moc - 제목이 '방법론-*' → methodology

4단계: 폴더 구조 정리

위 3단계가 완료된 후 실행. 현재 폴더 구조 자체는 나쁘지 않다. 문제는 내용물이지 그릇이 아니다.

4-1. 200 소폴더 병합

현재 변경 이유
228 공급망수급 (2개) → 224 산업에 합류 극소, 독립 불필요
233 자금수급 (1개) → 231 기술적분석에 합류 극소
213 물가 (35개) 유지 (단독 정당화) 30개 이상
215 통화 (90개) 유지 90개로 충분

4-2. 241 프로그래밍 정리

81.8%가 피드 캡처, 투자 연결 0%. 선택지: - A) 투자 관련 AI 인프라 노트 → 300 331 정보기술로 승격 - B) 순수 개발 노트 → 800 운영으로 이동 - C) 피드 아카이브 → 삭제 또는 100 수신함으로 원복

4-3. GICS 310~340 스텁 정리

322 필수소비재(1개), 337 유틸리티(1개), 340 부동산(1개)은 사실상 빈 폴더. 내용이 쌓이기 전까지 유지하되 vault_flow_health에서 스텁 경고 제외.


4. 더 큰 질문 — 이 시스템은 누구를 위한 것인가

9개 분석의 가장 중요한 발견은 통계가 아니다. 300 지식망의 핵심 허브는 자동화가 만든 것이 아니라 사람이 직접 만든 것이라는 사실이다.

MOC-기업(318 wikilinks), MOC-반도체(379 wikilinks), 방법론-energy, 방법론-moat-framework — 이것들은 오늘 만든 LNG 산업 지도나 광트랜시버 산업 지도처럼 사람이 깊이 생각하고 구조를 설계한 노트들이다.

반면 자동 파이프라인은 매일 130개의 노트를 쏟아내지만, 이 중 300에 안착하는 것은 월 10~15개이고, 그마저도 사실상 껍데기(seedling, wikilink 0)인 경우가 대부분이다.

이것은 "파이프라인을 고치면 된다"는 문제가 아닐 수 있다. 지식은 자동으로 만들어지지 않는다는 것이 이 분석의 가장 솔직한 결론이다. 자동화가 할 수 있는 것은 수집(capture)과 분류(classify)이고, 연결(connect)과 판단(judge)은 사람이 해야 한다.

현실적 제안

자동화의 역할을 재정의한다:

역할 자동화가 할 것 사람이 할 것
수집 원본 수집 + dedup + 기본 분류 읽을 가치가 있는 것 선별
정제 URL enrichment + body 추출 인사이트 요약, 핵심 판단 추가
연결 엔티티 기반 MOC 자동 연결 교차 도메인 연결 (에너지↔AI 등)
승격 maturity 기계적 판단 (body길이+링크수) 300 구조 노트 직접 작성
판단 시그널 수집 + 테제 추적 투자 판단 직접 작성 (IRON RULE)

"자동화를 더 똑똑하게 만들자"가 아니라 "자동화가 잘하는 것에 집중시키고, 사람이 잘하는 것은 사람이 하자"가 이 분석의 결론이다.


5. 실행 로드맵

Phase 1: 대청소 (이번 주)

  • [ ] D급 중복 1,691개 자동 삭제 (스크립트)
  • [ ] D급 빈 파일 49개 삭제
  • [ ] URL-only 853개 enrichment 재시도 → 실패 시 삭제
  • 예상 효과: 5,915개 → ~4,000개 (32% 축소)

Phase 2: 유입 통제 (다음 주)

  • [ ] 116 croned_data → 600 데이터로 라우팅 변경
  • [ ] 118 텔레그램 → 500 시그널로 라우팅 변경
  • [ ] 파이프라인 dedup 버그 수리
  • 예상 효과: 일일 유입 130개 → ~50개

Phase 3: 연결 강화 (2주차)

  • [ ] knowledge_connector: 기업 노트 → MOC 자동 연결
  • [ ] note_atomizer: 분할 후 wikilink 추가 단계
  • [ ] 300 zk_type 자동 라벨링
  • 예상 효과: 200 고립률 50.8% → 30%, 300 고립률 73% → 40%

Phase 4: 구조 정리 (3주차)

  • [ ] 200 소폴더 병합 (228/233)
  • [ ] 241 프로그래밍 정리 방향 결정
  • [ ] GICS 스텁 폴더 정리

관련 노트

  • [[cowork-steering]] — Cowork 스티어링에 이 계획 반영
  • [[구조도]] — 볼트 폴더 트리 업데이트
  • [[vault_architect]] — Phase 3 성숙화 로직 개선

이 문서는 2026-03-24 9개 에이전트 심층 분석의 종합 결과입니다.