왜 필요한가

AI 비서를 오래 쓰면 “기억”이 쌓인다. 프로젝트 현황, 일하는 방식에 대한 피드백, 시행착오에서 얻은 교훈 같은 것들이다. 그런데 이 기억은 기본적으로 그 컴퓨터 안에만 있다. 노트북을 바꾸거나 사무실과 집에서 번갈아 쓰면, 한쪽에서 쌓은 맥락을 다른 쪽은 모른다.

이번 세션은 데스크톱 한 대와 리눅스 서버 한 대 사이에서 이 기억을 공유하는 체계를 만들고 실제로 검증한 기록이다. 특정 도구에 매이지 않는 부분만 남긴다.

기본 구조

기억을 만드는 기기  ──push──▶  private 저장소  ──pull──▶  받아 쓰는 기기

git 저장소를 가운데 두는 방식이다. 별도 서비스가 필요 없고, 언제 무엇이 바뀌었는지 이력이 남아 잘못 고쳤을 때 되돌릴 수 있다는 것이 가장 큰 장점이다.

설계하며 배운 것 다섯 가지

1. 기기마다 역할을 정해야 한다

양쪽에서 자유롭게 고치면 반드시 충돌한다. “만드는 쪽”과 “받는 쪽”을 정하고, 작업 시작 전에 받고 끝나면 올리는 순서를 지키는 편이 훨씬 단순하다.

2. 올릴 것과 올리면 안 되는 것을 가른다

  • 올린다: 기억, 직접 만든 도구, 환경 설정
  • 절대 안 올린다: 로그인 자격증명. 새 기기에서 다시 로그인하면 된다
  • 기기마다 달라야 한다: 감시 작업이 “어디까지 봤는지” 같은 진행 상태

설정 파일에 명령어 이력이 통째로 쌓여 있는 경우, 그 안에 토큰이 섞여 들어갈 수 있다. 올리기 전에 걸러내는 절차를 스크립트에 넣어 두면 실수를 막는다.

3. 운영 서버는 다르게 다룬다

공개 웹서버에 개인 작업환경을 그대로 옮기면 안 된다. 특히 “이 명령은 승인 없이 실행해도 된다”는 허용목록을 운영 서버에 심으면, 서버가 침해됐을 때 그 권한이 그대로 공격자의 것이 된다.

그래서 서버용 모드를 따로 뒀다. 기억만 받고 권한·설정은 받지 않는다. 서버에서는 모든 명령이 승인 대기 상태가 되어 번거롭지만, 그게 맞다.

4. 기억 파일은 데이터가 아니라 지시문이다

AI는 매 세션 기억 파일을 읽고 그에 따라 행동한다. 즉 기억을 고칠 수 있는 사람은 그 AI의 다음 행동을 고칠 수 있다.

그래서 서버 쪽에는 기억 저장소에 대한 쓰기 권한을 주지 않았다. 서버가 만든 기억은 별도의 “수신함” 저장소로만 올라가고, 사람이 내용을 읽고 고른 것만 본 기억에 합친다. 저장소를 둘로 나누면 이 경계를 git 서비스가 강제해 준다 — 폴더 단위 권한은 줄 수 없기 때문이다.

이 “확인 후 병합” 한 단계는 자동화하지 않는 편이 낫다. 자동화하는 순간 경계가 사라진다.

5. 실패는 조용히 하면 안 된다

동작 모드를 파일로 지정하게 만들었는데, 그 파일을 읽지 못하면 스크립트가 조용히 기본값으로 돌아갔다. 하필 기본값이 “전부 동기화”라서, 서버에 권한목록이 심길 뻔했다.

안전한 쪽이 기본값이 아닐 수 있다. 설정을 해석하지 못하면 기본값으로 진행하지 말고 중단해야 한다.

실무에서 걸린 함정들

증상원인
폴더 이름이 엉뚱하게 생성됨경로를 이름으로 바꿀 때 OS별 구분자(\ vs /)를 모두 처리하지 않음
도구가 중복 등록됨백업 폴더를 원본 옆에 만들어서, 백업도 도구로 인식됨
바뀐 게 없는데 전부 “변경됨”한쪽은 CRLF, 한쪽은 LF. 줄바꿈만 다른데 내용 비교가 실패
자동 실행이 시작만 하고 멈춤승인 프롬프트에서 대기. 사람이 없는 시간대에는 아무도 못 누른다

마지막 것이 특히 중요하다. 자동 실행 작업은 사람 없이 끝까지 가는지를 반드시 확인해야 한다. “한 번 눌러서 승인해 두면 된다”는 방식은 사람이 눌러야 하므로 무인 실행의 해법이 아니다.

남은 한계

  • 자동 실행은 해당 앱이 열려 있을 때만 돈다. OS 수준 스케줄러에 같은 작업을 이중으로 걸어 두면 앱이 닫혀 있어도 돌고, 놓친 실행은 다음 부팅 때 보충된다
  • 원격 조종 기능은 조직 정책으로 막혀 있을 수 있다. 기능 설계 전에 먼저 확인할 것

정리

기억 공유의 핵심은 저장소를 만드는 기술이 아니라 경계를 어디에 긋느냐다. 어느 기기가 무엇을 고칠 수 있는지, 어디까지 자동으로 하고 어디부터 사람이 보는지. 이 경계를 권한으로 강제해 두면, 나중에 규율이 느슨해져도 구조가 버텨 준다.