LogoSEO Jing
  • All Posts
  • SEO Jing
  • okayJing
  • KD Team
  • CLab CoreTeam
  • Study

Contact Me

© 2026 SEOJing. All rights reserved.

okayJingmemoryMacMinilocal-firststorageWSL

맥미니 M4 2TB를 산 이유 — 오케이징의 기억은 디스크에서 시작한다

2026년 6월 2일·11분 읽기

0. 이번 결정은 그냥 장비 업그레이드가 아니었다

오케이징을 위해 Mac mini M4 2TB를 샀습니다. 겉으로 보면 그냥 좋은 장비를 산 것처럼 보일 수 있습니다. 실제로도 성능 좋은 머신이 필요하긴 했습니다. 하지만 이번 결정의 핵심은 CPU나 RAM보다 저장공간에 더 가까웠습니다.

이전에는 계속 저장공간을 의식했습니다. 로그를 얼마나 남길지, repo를 몇 개까지 clone할지, session과 artifact를 어디까지 보관할지, 모델이나 index를 로컬에 둘 수 있을지 같은 판단이 항상 디스크 용량 위에서 흔들렸습니다. 무언가를 남기는 구조를 만들려고 해도, 마음 한쪽에는 "이거 계속 쌓이면 어떡하지"가 있었습니다.

Mac mini M4 2TB를 사면서 이 압박이 많이 사라졌습니다. 그리고 이게 생각보다 큰 전환점이 됐습니다. 저장공간이 충분해지면, 오케이징의 memory architecture를 아예 다르게 생각할 수 있습니다.


1. 저장공간이 부족하면 기억은 계속 요약된다

저장공간이 부족할 때 가장 먼저 하는 일은 압축입니다. 긴 로그를 지우고, session을 요약하고, 중간 산출물을 버리고, 필요한 것만 남기려고 합니다. 이건 자연스럽습니다. 공간이 없으면 어쩔 수 없습니다.

그런데 memory system에서 압축은 항상 위험합니다. 요약은 편하지만 원본의 결을 잃습니다. 특히 에이전트 작업에서는 그 결이 중요할 때가 많습니다. 어떤 명령이 실제로 성공했는지, 어떤 경고가 나왔는지, git status가 어땠는지, 그때 사용자가 어떤 표현으로 기준을 잡았는지는 짧은 요약에서 자주 사라집니다.

그래서 저장공간 부족은 단순한 인프라 문제가 아니었습니다. 오케이징이 어떤 방식으로 기억할 수 있는지를 제한하는 설계 조건이었습니다. 디스크가 부족하면 memory는 자꾸 "요약 중심"으로 기울고, 요약 중심 memory는 출처와 freshness가 약해집니다.


2. 디스크가 넉넉하면 다른 선택지가 생긴다

반대로 저장공간 압박이 줄어들면 선택지가 달라집니다. 모든 것을 context window에 밀어 넣을 필요가 없습니다. 매번 LLM에게 긴 히스토리를 다시 읽힐 필요도 없습니다. 원본과 index, artifact를 로컬에 넉넉히 두고, 필요한 순간에 골라서 꺼내면 됩니다.

축공간이 부족할 때공간이 넉넉할 때

포스트 목록

/okayJing/memory
파일 10개, 폴더 0개
작업 시작 전에 기억을 먼저 조회한다 — hermes-memory CLI를 붙인 이유기억은 요약이 아니라 증거여야 했다 — local-first Hermes memory를 만든 이유로컬 LLM worker를 믿기 전에 — summary, classification, reranking 평가 기준맥미니 M4 2TB를 산 이유 — 오케이징의 기억은 디스크에서 시작한다Honcho를 다시 검토할 때 — 오케이징의 장기 기억을 어디에 둘 것인가기억이 skill을 자동으로 고치면 안 되는 이유오케이징의 기억은 하나가 아니다 — memory, ticket, session_search의 역할 분담context pack은 요약본이 아니다 — 오케이징 기억에 source_id를 붙인 이유오래된 기억을 어떻게 믿을 것인가 — stale-check와 promotion queue 기준벡터 검색을 지금 붙이지 않는 이유 — FTS와 source discipline 이후의 순서
로그오래된 것은 지우거나 요약한다raw evidence로 오래 보관한다
검색매번 대화/파일을 다시 훑는다SQLite/FTS/vector index를 유지한다
품질요약 손실을 감수한다원본과 요약을 같이 둔다
토큰긴 맥락을 반복 주입한다로컬 검색 후 필요한 chunk만 넣는다
속도매번 재탐색한다미리 만든 index와 context pack을 쓴다

이게 이번 memory architecture의 출발점에 가깝습니다. 디스크를 아끼기 위해 기억을 줄이는 게 아니라, 디스크를 써서 토큰을 아끼는 방향입니다. 저장공간이 싸고 넉넉하면, 매번 비싼 context window를 태우는 것보다 로컬에 evidence를 쌓아두는 편이 낫습니다.

물론 디스크가 많다고 무조건 다 저장하면 되는 건 아닙니다. 쓰레기도 많이 쌓입니다. 그래서 중요한 건 "많이 저장하기"가 아니라 "raw evidence와 derived artifact를 구분해서 저장하기"입니다. 원본은 남기되, 요약은 출처를 달고, 오래된 것은 stale로 표시해야 합니다.


3. 속도, 품질, 토큰 소비는 따로 움직이지 않는다

처음에는 속도, 품질, 토큰 소비를 별개의 문제로 봤습니다. 빠르게 하려면 검색을 줄여야 하고, 품질을 높이려면 context를 많이 넣어야 하고, 토큰을 줄이면 정보가 부족해진다고 생각하기 쉽습니다. 그런데 local-first memory에서는 이 셋이 같이 움직일 수 있습니다.

예를 들어 SEOJing 작업을 시작할 때 매번 전체 repo 구조와 예전 대화를 LLM에게 길게 설명한다고 생각해보면 비용이 큽니다. 느리고, 토큰도 많이 쓰고, 중간에 빠지는 정보도 생깁니다. 반대로 repo를 미리 index해두고, package script나 content convention 같은 fact를 source-linked로 저장해두면 작업 시작점이 훨씬 좁아집니다.

이 구조에서는 속도가 빨라지는 이유가 단순히 머신이 빨라서가 아닙니다. 다시 찾는 일이 줄어들기 때문입니다. 품질이 올라가는 이유도 모델이 갑자기 더 똑똑해져서가 아닙니다. 원본과 연결된 chunk를 근거로 판단하기 때문입니다. 토큰이 줄어드는 이유도 정보를 덜 줘서가 아니라, 필요한 정보만 주기 때문입니다.

결국 디스크는 토큰의 대체재가 됩니다. 정확히 말하면, 무식하게 큰 context를 반복해서 주입하는 방식의 대체재입니다.


4. Mac mini는 오케이징의 기준 환경이 됐다

또 하나 중요한 건 macOS와 WSL 사이의 문제였습니다. 이전에는 WSL 쪽 흔적과 macOS 쪽 실행 환경이 섞여 있었습니다. 둘 다 쓸 수는 있지만, 에이전트 운영 관점에서는 은근히 귀찮은 차이가 많았습니다.

경로가 다르고, 권한이 다르고, 파일 이벤트나 서비스 관리 방식이 다릅니다. 어떤 repo는 WSL에 있고, 어떤 설정은 macOS에 있고, memory는 양쪽에 따로 남을 수 있습니다. 이렇게 되면 오케이징이 "내가 아는 상태"와 "지금 실행되는 상태"를 헷갈리기 쉽습니다.

그래서 Mac mini를 기준 환경으로 잡은 건 단순한 편의가 아닙니다. 오케이징의 live state를 한쪽에 모으겠다는 결정입니다. 현재 canonical repo path는 macOS의 /Users/seojing/.hermes/workspace/projects이고, memory architecture도 /Users/seojing/.hermes/memory-arch에 둡니다. WSL 쪽 legacy session이나 repo는 그대로 버리는 게 아니라 raw evidence로 둡니다. 다만 live state로 섞지는 않습니다.

이 구분이 중요했습니다. WSL의 기록도 가치가 있습니다. 과거 작업의 증거이기 때문입니다. 하지만 그것을 현재 오케이징의 진짜 상태처럼 합치면 경로와 권한, 오래된 설정이 섞여서 오히려 memory를 오염시킬 수 있습니다.


5. 로컬 자료와 라이브러리를 부담 없이 볼 수 있다

저장공간이 넉넉해지면서 자료를 보는 방식도 바뀝니다. memory 관련 library나 논문, docs, reference implementation을 볼 때마다 "이걸 다 남겨도 되나"를 덜 고민하게 됩니다. 필요하면 clone하고, index하고, 실험 결과를 artifact로 남길 수 있습니다.

이건 생각보다 중요합니다. 좋은 architecture는 보통 한 번에 나오지 않습니다. mem0식 memory lifecycle, Honcho식 session/world modeling, vector search, FTS, local LLM summarization 같은 것들을 비교해야 합니다. 이때 자료를 임시로 훑고 버리는 것과, raw evidence로 남긴 뒤 나중에 다시 찾을 수 있게 만드는 것은 차이가 큽니다.

결국 Mac mini의 2TB는 "자료를 많이 모으자"가 아니라 "조사와 실험의 흔적을 버리지 않아도 되는 환경"에 가깝습니다. 오케이징이 나중에 왜 어떤 결정을 했는지 되짚을 수 있으려면, 결정문만 남기는 것보다 결정에 이른 재료도 남아 있어야 합니다.


6. 로컬 LLM을 실제 선택지로 볼 수 있게 됐다

저장공간이 넉넉해지면서 달라진 또 하나의 축은 local LLM입니다. 예전에는 로컬 모델을 쓴다고 해도 늘 조심스러웠습니다. 모델 파일 자체도 크고, 여러 quantization을 비교하려면 더 많은 공간이 필요하고, embedding model이나 reranker까지 붙이면 금방 부담이 생깁니다. 결국 "재미로 한 번 돌려보기"와 "운영 구조에 넣기" 사이에 거리가 있었습니다.

Mac mini M4 2TB 환경에서는 이 거리가 조금 줄었습니다. Ollama 모델을 몇 개 받아두고, memory 관련 작업에 맞는 모델을 비교하고, summary artifact나 classification draft를 로컬에서 만들어보는 일이 현실적인 선택지가 됩니다. 매번 외부 API를 호출하지 않아도 되고, 민감한 local evidence를 굳이 밖으로 보내지 않아도 됩니다.

특히 오케이징 memory에서는 local LLM이 맡을 수 있는 일이 꽤 명확합니다.

  1. 긴 source chunk 묶음을 사람이 읽기 좋은 draft summary로 압축한다.
  2. session이나 ticket에서 observation 후보를 뽑는다.
  3. context pack에 들어갈 chunk를 task 관점으로 재정렬한다.
  4. stale 가능성이 있는 fact나 artifact를 검토 후보로 표시한다.
  5. 나중에 embedding/reranking 실험을 위한 local worker가 된다.

다만 여기서도 기준은 같습니다. local LLM은 worker이지 judge가 아닙니다. 로컬에서 돌린다고 해서 output이 곧 사실이 되는 건 아닙니다. summary는 artifact이고, fact는 source chunk와 연결돼야 합니다. local LLM이 만든 문장은 편의를 위한 draft일 뿐이고, trusted memory가 되려면 출처와 review 상태가 붙어야 합니다.

이 구분이 중요합니다. 저장공간이 넉넉해지면 로컬 모델을 더 많이 둘 수 있고, 더 많이 실험할 수 있습니다. 하지만 모델이 많아진다고 기억이 자동으로 좋아지는 건 아닙니다. 좋아지는 건 모델 자체가 아니라, 원본 evidence와 local worker를 연결하는 운영 방식입니다.


7. 그래도 저장공간이 무한한 건 아니다

물론 2TB가 진짜 무한은 아닙니다. 저장공간이 넉넉해졌다고 규율이 사라지면 안 됩니다. 오히려 더 많이 저장할 수 있기 때문에 분류가 중요해집니다. cache, build output, node_modules, secret, token, credential 같은 것은 여전히 조심해야 합니다.

그래서 이번 구조에서는 모든 것을 같은 무게로 저장하지 않습니다. raw evidence, source catalog, derived artifact를 나누고, source link와 content hash를 붙이고, stale-check로 오래된 기억을 표시합니다. 많이 저장하되, 무엇이 원본이고 무엇이 파생물인지 계속 구분합니다.

디스크가 넉넉해졌다는 건 막 저장해도 된다는 뜻이 아닙니다. 더 좋은 memory discipline을 적용할 여유가 생겼다는 뜻에 가깝습니다.


8. 정리

Mac mini M4 2TB를 산 건 오케이징에게 꽤 중요한 결정이었습니다. 저장공간 압박이 사라지면서 memory architecture의 기본 방향이 바뀌었습니다. 요약해서 버리는 구조가 아니라, 원본을 남기고 index해서 필요한 만큼 꺼내는 구조로 갈 수 있게 됐습니다.

이 방향은 속도, 품질, 토큰 소비를 동시에 건드립니다. 빠른 이유는 다시 찾지 않아서고, 품질이 좋아지는 이유는 출처가 있어서고, 토큰을 아끼는 이유는 필요한 chunk만 주입하기 때문입니다. 여기에 local LLM까지 붙으면 summary, classification, reranking 같은 반복 작업을 로컬 worker에게 맡길 수 있습니다. 그리고 macOS를 기준 환경으로 정하면서 WSL과의 경로/권한/메모리 분리 문제도 조금 더 선명하게 정리됐습니다.

돌이켜보면 이번 구매는 장비를 산 일이 아니라, 오케이징의 기억이 어디에 살 것인지를 정한 일에 가깝습니다. 오케이징의 기억은 이제 대화창 안이 아니라, 로컬 디스크 위의 증거와 index에서 시작합니다.