생각의 유사도, 어떻게 추적할 것인가?
Habitus33는 메모카드(1줄 메모)의 의미적 유사도를 임베딩 기반 코사인 유사도와 문자열 기반 자카드 유사도로 추적한다. 여기에 시간대/요일 반복성과 주제 방향성까지 결합해, 사용자가 비슷한 생각을 연결하고 다음 아이디어로 확장하도록 돕는다.
책을 읽다 보면 낯선 문장을 밑줄 치고, 곁에 짧은 생각을 남깁니다. 며칠 뒤 비슷한 문장을 만나 또 메모를 쓰고, 그 다음 주엔 거의 같은 톤으로 다시 메모를 남깁니다. 우리는 때때로 같은 바다를 여러 번 건넙니다. 이 반복이 나쁜 건 아니지만, 반복을 자각하고 한 번 더 깊이 들어가 연결을 만들거나 다른 방향으로 틀어볼 수 있다면, 학습과 창작은 한층 단단해집니다. 그래서 Habitus33는 “생각의 유사도”를 추적합니다. 사용자가 떠올린 생각이 어디서 반복되고 어디서 갈라지는지, 어떻게 서로 이어지려 하는지를요.
Habitus33가 유사도를 읽는 방식은 단순합니다.
먼저, 메모카드(1줄 메모)를 벡터로 바꿉니다. 인간이 느끼는 “의미의 거리”를 숫자로 다룰 수 있게 만드는 과정입니다. 이렇게 만들어진 벡터들끼리는 코사인 유사도로 얼마나 가까운지 비교할 수 있습니다. 만약 임베딩을 만들 수 없는 상황이면(예: 키가 없거나 일시 실패), 텍스트 자체를 기준으로 단어 집합을 비교하는 자카드 유사도를 씁니다. 이건 안전한 폴백입니다. 덕분에 “의미적으로 비슷한” 메모든, “겉으로 비슷한” 메모든 놓치지 않습니다. 유사도는 시점과 리듬을 만나면서 더 정확해집니다. 같은 시간대, 같은 요일에 반복되는 패턴이 있는지 간단히 집계합니다. 밤 11시에만 떠오르는 생각들, 토요일 오후에 자주 돌아오는 주제들. 습관의 리듬을 안다는 건, 그 리듬을 살짝 조정해 더 멀리 나아갈 수 있다는 뜻이니까요. 동시에 Habitus33는 최근 메모들의 임베딩 흐름을 보고 “다음으로 이어질 가능성이 높은 태그(주제)”를 제안합니다. 지금 당신의 생각이 어디로 가는 중인지, 부드럽게 방향을 가리켜 주는 셈입니다.
여기까지 오면, “잘 보게 해주는 것”만으론 부족합니다. 그래서 유사도 신호는 인터랙션과 맞물립니다. 메모카드에는 세 가지 축이 있습니다. 생각을 보태는 인라인 쓰레드(생각추가), 의미를 또렷하게 하는 메모 진화(적은 이유·당시 상황·연상 지식·떠오른 장면), 바깥 지식과 묶는 지식연결(링크). 이 셋이 최소한으로 충족되면(각 1개 이상) 1차 마일스톤이 달성됩니다. 충분히 풍성해지면(각 4개 이상) 2차 마일스톤이 됩니다. 저장 직후 노트를 다시 불러와 마일스톤이 처음 도달했는지 확인하고, 그 순간에는 토스트로 알려줍니다. “좋아요! 비슷한 메모를 연결해볼까요?” “훌륭해요! 포커스드 노트로 묶어 보시겠어요?” 같은 메시지는 단지 칭찬이 아니라, 다음 행동으로 자연스럽게 이어지는 이정표입니다.
하루 사용 시나리오를 그려보겠습니다.
아침 출근길에 밑줄 친 문장을 메모합니다. 점심시간엔 그 메모에 한 줄 더 생각을 덧붙입니다(생각추가). 저녁에는 왜 중요한지, 그때 어디서 어떤 느낌이었는지 짧게 적습니다(기억강화). 끝으로 관련 영상을 하나 연결합니다(지식연결). 저장 버튼을 누르는 순간, 토스트가 위에서 내려옵니다. “좋아요! 비슷한 메모를 연결해볼까요?” 밤 10시. 또 한 번 토스트가 불을 켭니다. “이 시간대에 자주 반복하던 생각이에요. 다른 관점으로 확장해볼까요?” 그 옆엔 다음으로 이어질 가능성이 높은 주제 태그가 달려 있습니다. 그 태그로 이어지는 검색과 연결은, 당신의 생각 흐름을 다음 지점으로 미끄러지듯 옮겨줍니다.
왜 이 방식이 중요한가요?
첫째, 반복을 ‘나의 리듬’으로 이해하게 해 줍니다. 반복 자체가 나쁜 게 아니라, 반복을 의식하는 순간 선택지가 늘어납니다. 둘째, 비슷한 것들을 재빨리 붙여 지식 그래프를 촘촘히 만듭니다. 흩어진 섬들을 다리로 잇는 일은, 리콜과 통찰 모두를 크게 돕습니다. 셋째, 멈춤 없이 다음으로 나아가게 합니다. “지금 흐름이라면 이쪽이 맞아요”라는 방향 제안은 작은 보정이지만, 생각은 그 작은 보정으로 다른 바다를 만납니다.
조금만 더 깊이 들어가 보죠. 정확도는 임베딩 기반 코사인 유사도가 책임지고, 실패하더라도 자카드 유사도로 안전하게 폴백합니다. 실시간성을 위해 최근 메모군(최대 500개 정도)을 후보로 잡고 상위 몇 개만 정렬해 보여줍니다. 마일스톤은 서버가 모든 업데이트 경로에서 일관되게 계산합니다. 덕분에 사용자가 어떤 순서로 작업하든(생각추가 → 기억강화 → 지식연결이든, 그 반대든) 조건을 달성하는 즉시 토스트가 보장됩니다. 분석 API 호출은 로그인된 사용자에게만 이뤄집니다. 필요한 최소 정보로만 집계하며, 임베딩이 없을 때에도 폴백으로 경험이 끊기지 않도록 설계했습니다.
어떻게 쓰면 좋을까요?
우선 1차 마일스톤(생각추가 1, 기억강화 1, 지식연결 1)을 작은 목표로 두세요. 한 번의 순환만으로도 카드가 살아납니다. 토스트가 반복되는 시간대를 유심히 보면서, 같은 시간대에 비슷한 생각을 의도적으로 한 번 더 확장해 보세요. 방향 제안 태그는 곧바로 검색과 연결의 출발점이 됩니다. 링크 하나를 더 달아 보고, 반대 입장이나 다른 분야 사례로 가볍게 꺾어 보세요. 작은 가지가 큰 나뭇결을 만듭니다.
결국, 생각의 유사도를 추적한다는 것은 텍스트를 숫자로 바꾸는 기술이면서 동시에, 사람의 시간을 존중하는 길잡이입니다.
우리는 같은 것을 다시 생각하고, 비슷한 것을 조금씩 다르게 품으면서 자랍니다. 그 반복과 변주를 더 빨리 보고, 더 깊이 연결하고, 더 부드럽게 다음으로 넘어가도록. Habitus33는 당신의 흐름을 방해하지 않으면서 필요한 순간에만 가볍게 손을 들어 보입니다. “지금이 연결할 때예요.” “여기로 가 보면 어때요?” 그 작은 신호들이, 생각의 항로를 바꿉니다.
끝
.