처음에는 그냥 노드였다
ATLAS의 첫 버전에는 타입이라는 게 아예 없었다.
노트 하나. 아이디어 하나. 회고 하나. 전부 같은 노드였다. 제목, 태그 몇 개, 내용, 링크. 그게 전부였다.
검색은 순수 문자열 매칭이었다. 뭔가를 찾으려면 내가 적었던 단어를 정확히 기억해야 했다.
노트가 백 개쯤을 넘어가자, 그 구조는 무너졌다.

그래프는 보기 좋았지만, 찾기는 어려웠다
노트를 서로 연결하자 그래프가 생겼다. 멋있었다.
그래프가 있으니까 찾는 건 쉽겠지. 그렇게 생각했다.
하지만 노트가 많아질수록 그래프는 미로가 됐다. 보는 용도지, 찾는 용도가 아니었다.

그래서 태그를 붙였다
일단 분류부터. Project, Study, Health.
노드에 라벨을 붙이기 시작했고, 한동안은 도움이 됐다.
그런데 이번엔 태그 자체가 불어나서, 관리할 수 없을 만큼 많아졌다.

그래서 태그 생성을 통제했다
처음에는 나든 AI든 아무나 그 자리에서, 글 쓰는 도중에 새 태그를 만들 수 있었다. 스프롤은 바로 거기서 나왔다. health, health-log, health-plan — 같은 걸 가리키는 태그가 세 개.
그래서 규칙을 바꿨다. 태그는 관리되는 집합이 됐다. 이제 노트에 태그를 달 때는 이미 있는 태그 중에서 고른다. 먼저 뭐가 있는지 확인한다. 진짜 새 태그를 만드는 건 글 쓰다 슬쩍 끼어드는 게 아니라, 따로 거치는 의도적인 단계다.
더미가 저절로 불어나는 건 멈췄다.

트리도 필요했다
사람은 스스로 인정하는 것보다 폴더를 좋아한다.
계층을 타고 내려가는 게 그래프를 헤매는 것보다 훨씬 편했다. 그래서 태그를 평면 목록으로 두지 않고 중첩시켰다.
personal → health → mental-health → adhd. 태그는 트리가 됐고, 이제 움직일 길이 두 개가 됐다. 그래프와 트리.

노드도 종류가 달라야 했다
모든 노드가 같은 무게일 순 없었다.
오늘 급하게 적어둔 것, 정리해 둔 참고자료, 여러 노트에서 뽑아낸 결론 — 이걸 전부 같은 종류로 취급하면 실제 차이가 뭉개졌다.
여러 구분을 실험해봤다. 결국 두 단계로 정리됐다. 큰 종류 하나, 그 아래 세부 종류 하나. 타입을 끝없이 늘리는 대신, 분류 축을 둘로 나눈 것이다.
(정확히 어떤 종류들이고 왜 그렇게 나뉘는지는, 따로 한 편이 필요한 이야기라 뒤에서 다룬다.)

AI에게도 자기 노트가 필요했다
이게 내가 제일 아끼는 부분이다.
나는 ATLAS를 검색 상자라고 생각한 적이 없다. 비서라고 생각했다.
비서는 내 정보만 외우지 않는다. 자기 일도 한다. 그래서 AI가 스스로 노드를 쓰기 시작했다. 눈에 띈 패턴, 교정받으며 얻은 교훈 같은 것들.
이게 왜 '기억'을 '학습'에 가까운 무언가로 바꾸는지는, 따로 한 편이 필요할 만큼 큰 얘기다. 나중에 다시 돌아온다.
"관련 있다"로는 부족했다
노드가 불어나자, 그냥 "관련 있음" 링크로는 부족해졌다.
단순히 관련이 아니라 — 이 결정이 저 계획을 뒷받침한다. 이 노트가 예전 걸 갱신한다. 이 아이디어가 저기서 파생됐다. 이 사실이 어떤 가정과 충돌한다.
그래서 관계에 방향과 의미가 생겼다. 지금은 관계 타입이 열 개쯤 되고, 상황이 생길 때마다 하나씩 늘어난다.

그리고, 지금도 계속 바뀌고 있다
ATLAS의 데이터 모델은 완성된 설계가 아니다. AI가 더 잘 이해할 구조를 지금도 실험하고 있다.
하지만 좋은 구조를 만드는 것과, AI가 그걸 매번 실제로 읽어 들이는 것은 서로 다른 문제였다. 470개가 넘는 노드와 1,200개가 넘는 관계를 매 대화마다 통째로 밀어 넣을 순 없으니까.
다음 편: load_memory는 왜 어려운가.
