면책 사항
본 기사의 내용은 개인적인 견해이며, 소속 기업의 공식적인 의견이나 방침을 대표하는 것이 아닙니다.
또한, 본 기사의 내용은 순전히 개인적인 취미 및 학습 범위 내에서 진행된 것입니다.
본 기사에서 소개하는 시도는 업무와는 분리된 개인의 로컬 환경 및 프라이빗 리포지토리에서 실행되었습니다.
내용에 정확성을 기했지만, 오류나 부적절한 설명이 포함되어 있을 수 있습니다. 발견하신 점이 있다면 지적해 주시면 감사하겠습니다.
2026년 10월에 사내 스터디를 통해 '인생의 모든 것을 AI에 입력하기'라는 주제로 발표했습니다.
본 기사는 기본적으로 사내 스터디를 시청한 동료들을 위한 보충 자료이며, 발표 자료에서는 생략했던 구체적인 파일 구성이나 코드, 리포지토리 구조 등의 일부를 공유하는 것입니다.
동시에 외부 독자분들께도 단독 기술 기사로 유용할 수 있도록, 먼저 발표에서 전달된 콘셉트와 시도의 개요를 정리한 후 구체적인 구현 설명을 이어가겠습니다.
다만 전제 조건으로 회사의 업무 정보나 기밀 정보는 일절 가져오지 않고, 프로필이나 생활 습관, 취미, 매일의 일기, 수면 및 운동 데이터 등 개인 사생활 영역에 한정하여 Google Antigravity 데스크톱 앱상의 로컬 리포지토리에 정보를 집약하고 있습니다.
먼저 스터디에서 발표했던 시도의 배경과 도달점, 그리고 직면했던 과제들에 대해 핵심만 요약하겠습니다.
YouTube 채널 '느슨한 컴퓨터 과학 라디오'의 제234회 '개인 정보를 보호하는 시대는 끝났습니다.'에서 호리모토 미(堀元見) 씨가 개인 정보를 숨기지 않고 인생 전체를 AI에게 맡기는 시도에 대해 이야기했습니다.
이에 영감을 받아, 자신 자신의 모든 개인 데이터를 AI에 입력함으로써 자신에 관한 모든 배경 지식을 가지고 극도로 개인화된 답변을 하는 AI 에이전트를 구축하는 실험적인 시도에 착수했습니다.
세상에는 이미 많은 퍼스널 AI 관련 서비스가 존재하지만, 생활이나 개인의 모든 정보를 포괄적으로 AI에 입력한다는 접근 방식을 깊게 파고들어 실행하고 있는 서비스는 많지 않다고 느꼈습니다.
특히, 과거의 정보를 수작업으로 망라하여 작성하는 것이 아니라, 일상생활 속에서 입력 부하를 극단적으로 낮추고 자동 수집이나 구조화를 통해 자연스럽게 정보를 입력할 수 있는 경로를 정비하는 점이 본 기사에서 소개하는 시도의 조금 독특한 포인트일 수도 있다고 생각합니다.
약 2개월 반 동안 운영하면서 리포지토리는 8개 카테고리, 145개의 파일, 총 글자수로 약 62만 자로 성장했습니다.
일상 속에서 축적을 계속한 결과, 현재는 주로 다음 두 가지가 실현되었습니다.
- 전제 설명을 생략한 고정밀 제안: 식사 취향, 생활 동선, 소유 기재, 가족 구성 등을 바탕으로 지시할 때마다 전제 조건을 나열하지 않아도 핵심을 찌르는 답변이 돌아옵니다.
- 낙서 한 줄로부터의 툴 자동 연동: 채팅에 '내일 10시에 OO로 간다'라고 한 줄만 적으면, 캘린더 등록, Todoist 작업 생성, 필요에 따른 Discord 알림 등이 자율적으로 실행됩니다.
자신이 살아온 인생 전체의 정보를 한 번에 작성하는 것은 현실적이지 않고 누락도 발생할 것이라 생각하여, 떠오른 타이밍에 순차적으로 자신에 관한 정보를 입력할 수 있는 환경을 구축했습니다.
구체적으로는 매일 일기처럼 AI에게 '현재' 정보를 입력하거나, 일상의 모든 작업을 AI와 함께 수행하는(이는 호리모토 씨도 실천했던 내용) 습관을 들였습니다. 그 과정에서 과거의 맥락을 고려하지 않으면 AI가 의미를 파악하기 어려울 때, 곁다리로 과거의 사건이나 자신의 취향/가치관도 보충 설명으로 입력함으로써, 순차적으로 자신에 관한 (주로 과거의) 정보가 축적되는 것입니다.
하지만 매일 정보를 계속 입력하는 과정에서 초기부터 중기까지 다음 두 가지 벽에 직면했습니다.
- 데이터 비대화와 AI의 길 잃음: 정보량이 늘어남에 따라 신구 데이터가 뒤섞여, 몇 주 전 끝난 작업과 현재 최우선 과제를 혼동하여 어긋난 답변을 하기도 했습니다.
- 규칙의 스파게티화: AI의 실수를 막기 위해 지시서에 금지 사항을 계속 추가한 결과, 규칙 파일이 장대해져 중요한 기본 원칙을 놓치게 되었습니다.
스터디에서는 발표 시간상의 이유로 이러한 과제들에 대한 접근 방식의 골자만을 소개했습니다.
이후에는 실제로 리포지토리 내에서 구동하고 있는 디렉터리 구성, 스킬 정의(SKILL.md), 자동화 배치(batch), 정적 린트 스크립트 등의 구현 상세를 설명하겠습니다.
‘인생의 모든 것을 입력한다’고 해도, 단순히 하나의 텍스트 파일에 일기를 계속 적는다는 의미가 아닙니다.
본 시스템에서는 일상적인 미정리 행동 로그(Journal), 구조화하여 남기는 지식(Knowledge나 Identity 등), AI의 행동 규칙(.agents) 세 가지로 역할을 분리하여 관리하고 있습니다.
Life/
├── 01_Identity/ # 가치관, 프로필, 식사 및 수면 선호도, 고정 리피트 종목
├── 02_Relations/ # 가족이나 지인과의 관계성, 선물・연락 로그
...
전체 데이터 흐름은 아래 그림과 같습니다.
【입력 계층】
스마트폰 실시간 기록 / 사진 생체 데이터(Garmin) SNS 게시물(Bluesky)
│ │ │
...
각 레이어의 역할과 저장소는 다음과 같습니다.
| 레이어 | 저장소 | 주요 역할 및 데이터 흐름 |
|---|
| 입력 계층 | 스마트폰・외부 연동 | 외출 중 실시간 기록, 사진, 생체 데이터(Garmin), SNS 게시물(Bluesky) 수집 |
| 단기 기억/배치 계층 | 08_Journal/ , active_context.md | |
| 당일 미정리 로그의 임시 축적 및 현재 최우선 과제(500~1000자) 유지 | | |
| 장기 기억 계층 | 01_Identity/ ~ 07_Finance/ | |
| 야간 배치 처리를 통해 일기에서 승격・영구화된 확정 사실이나 지식 보관 | | |
| 실행/제어 계층 | .agents/rules/ , .agents/skills/ | |
| 상시 규칙, 단기 기억, 약 40개의 절차서(SKILL.md)를 통한 도구의 자율 실행 | | |
이러한 구조 덕분에 일상의 잡다한 기록을 수용하면서도, 과거의 중요한 지식이 묻히지 않고 AI가 활용할 수 있는 기반을 만들고 있습니다.
이후에는 일상적인 입력 부하를 낮추는 메커니즘과 앞서 언급된 ‘데이터 비대화’, ‘규칙 스파게티화’에 대한 구체적인 대책을 소개하겠습니다.
외출 중 스마트폰으로 한 줄 일기나 사진을 보낼 때마다, 매번 AI가 각 카테고리의 정본 파일을 판단하여 덮어쓰도록 하면 파일의 읽기/쓰기에 시간이 걸려 응답이 느려집니다.
또한, 그 자리에서의 일시적인 사건이나 감상까지 정본 파일에 섞여 들어가서 나중에 되돌아봤을 때 노이즈가 증가하는 문제도 있었습니다.
그래서 캐시 제어에서 Write-Back 방식(AI는 그렇게 말하지만 저는 이 방식을 몰랐습니다. 뜻밖의 배움이었습니다)을 따라 기록 처리를 주간과 야간 두 단계로 나누었습니다.
- 주간 (실시간 기록): 당일 일기 파일(
08_Journal/YYYY-MM-DD.md)에 추기 및 Git 커밋만 즉시 실행하여 짧은 응답으로 빠르게 턴을 반환합니다. - 야간 (정시 배치 처리): 매일 밤 10시 30분 자동 배치를 통해 그날 하루의 로그를 되돌아보고, 앞으로도 남겨야 할 확정 사실이나 진척 사항만 각 카테고리 정본 파일로 전기(轉記)합니다.
주간 기록을 담당하는 journal-report 스킬은 다음과 같이 정의되어 있습니다.
---
name: journal-report
description: 일상 보고나 외출 중 실시간 기록(단문・사진+한마디・음성 입력)을 받아, 최소한의 대기 시간으로 당일 Journal에 즉시 추기하는 스킬(정본 구조화・전기는 야간 배치로 위임).
...
이 스킬을 사용해 주간에 일어난 사건이나 느낀 점 등을 그 자리에서 무심하게 실시간 기록만 해도, 일상의 경험이나 자신의 취미/선호도/가치관 등이 반영된 정보가 축적됩니다.
그리고 매일 밤 10시 30분이 되면 Antigravity의 Automations 기능으로 다음 프롬프트가 자동으로 실행되어 주간 로그에서 장기 기억으로 분류 작업이 진행됩니다.
매일 밤 Journal 지식 승격(Write-Back), active_context.md 정리, 그리고 규칙 건전성 체크를 실행해 주세요.
【실행 절차】
1. 정보 수집:
...
앞서 설명했듯이, 운영을 지속하면서 ‘데이터 비대화로 인한 AI의 길 잃음’과 ‘규칙 스파게티화’가 과제가 되었습니다.
이에 대해 취한 세 가지 대책을 소개합니다.
신구 정보 혼재로 인한 AI의 길 잃음을 막기 위해, 인간의 뇌가 수면 중에 기억을 정리하듯이 단기 기억과 장기 기억을 분리했습니다.
매번 답변 시 반드시 로드되는 .agents/rules/active_context.md
을 단기 기억(Short-term memory)의 저장소로 사용하며, 여기에는 현재 진행 중인 관심사만을 1000자 이내로 기재합니다.
---
trigger: always_on
description: 사용자 최신 상황 및 최우선 과제 (단기 기억)
...
앞서 언급된 야간 배치(nightly batch)를 통해 완료된 업무나 오래된 주제는 매일 밤 자동으로 삭제됩니다.
상시 로드되는 단기 기억을 1000자로 제한함으로써, AI가 과거의 종료된 작업에 끌려가는 현상을 막았습니다.
입력 과정을 진행하면서, AI에게 피드백(critique)을 제공하는 과정에서 자신의 암묵적인 전제(tacit assumption)를 규칙화해 나가는 장면이 많았습니다.
AI에게 지적 사항을 그때그때 문서에 추가하다 보니, 파일이 금방 비대해지거나 구조화되지 않은 지나치게 세부적인 규칙의 나열이 되어버립니다.
이에 따라 읽는 빈도와 목적에 맞춰 .agents/ 내의 파일을 3개의 계층으로 분리했습니다.
| 계층 | 배치 위치 | 읽는 타이밍 | 저장 내용 및 역할 |
|---|
| 제1층: 상시/조건 규칙 | GEMINI.md, .agents/rules/ | 상시 및 조건 일치 시 | 매 턴 필수적으로 읽어야 하는 원칙을 3개 파일로 제한하고, 나머지는 검색이나 이메일 발생 시에만 참조합니다. |
| 제2층: 작업별 스킬군 | .agents/skills/ (약 40개) | 해당 작업 시에만 | 절차서 SKILL.md와 실행용 Python 스크립트를 함께 보관하여, 필요한 작업이 있을 때만 로드합니다. |
| 제3층: 실패 사례 아카이브 | 06_History/, 99_Archives/ | 규칙 개정 시에만 | 과거에 발생했던 구체적인 실수 경위나 배경을 아카이브로 분리하여, 평소의 컨텍스트 과부하를 방지합니다. |
더 나아가, 규칙을 개정할 때 전용 스킬(.agents/skills/manage-agent-rules/SKILL.md)을 만들고, 구체적인 실패 에피소드는 제3층 아카이브로 격리하며, 제1층의 규칙 파일에는 추상화된 원칙만을 작성하도록 철저히 관리하고 있습니다.
3단계 분리를 결정했음에도 불구하고, 운영을 지속하다 보면 자꾸 규칙 파일에 줄을 추가하게 되는 경향이 생깁니다.
이에 따라 규칙 파일의 글자 수 상한선이나 금지 표현의 과도한 증가를 기계적으로 체크하는 Python 스크립트(lint_rules.py)를 작성하여 야간 배치에 통합했습니다.
# .agents/skills/refactor-agent-rules/scripts/lint_rules.py (발췌)
# 기준값 설정
MAX_LINES_PER_RULE = 80
...
이 스크립트는 파일당 80줄, 전체적으로는 400줄이라는 상한선 체크 외에도, 파일 내 금지 또는 부정적인 표현이 전체의 25%를 초과할 경우 경고를 발생시킵니다.
경고가 발생하면, AI 스스로 개별 금지 사항을 정리하고 어떤 기준으로 판단하는지에 대한 긍정형 원칙으로 재작성하여 Git에 커밋합니다.
이를 통해 사람이 수동으로 규칙을 검토할 필요 없이도, 상시 로드되는 규칙군이 간결하게 유지될 수 있게 되었습니다.
참고로, '~해서는 안 된다'와 같은 부정/금지 표현을 억제하는 것은 이른바 '북극곰 현상(Polar Bear Effect)' (위키피디아적으로는 '반어 과정 이론')이 머릿속 한구석에 있었기 때문입니다.
자세한 내용은 상기 링크를 읽어보시면 좋겠지만, 간단히 말하자면 '북극곰을 생각하지 마!'라고 금지하면 오히려 금지되기 전보다 북극곰을 더 의식하게 된다는 관찰 결과입니다. (북극곰일 필연성은 없으며, 일정 수준의 인지도가 있는 임의의 단어로 성립하는 것 같습니다.) 이를 인용하여 '사람의 행동을 효율적으로 유도하고 싶을 때는 금지 사항을 나열하기보다 최대한 긍정적인 표현으로 하는 것이 좋다'고 이야기되는 경우가 많습니다.
이 '북극곰 현상'의 타당성이나 AI에도 이 논리가 적용될 수 있는지 여부는 별개로, AI가 잘못하거나 원치 않는 행동을 했을 때 변명거리로 AI가 이 북극곰 현상적인 논리를 자주 끌어왔기 때문에, 일단 그 주장을 믿고 이러한 운영 방식을 취하게 되었습니다.
엄격하게 대조하여 비교한 것은 아니므로 효과의 정도는 확실하지 않지만, 체감상으로는 일정 수준의 효과를 발휘하는 것 같습니다.
이번에는 사내 스터디 모임에서 발표했던 노력에 대한 보충 자료로, 전체 리포지토리 구성과 2단계 기록 방식, 단기 기억 분리, 규칙의 3단계 분리와 자동 체크 메커니즘을 소개했습니다.
사람이 매번 수작업으로 정리하지 않아도, 일상생활 속에서 자연스럽게 정보를 입력할 수 있는 경로를 구축하고, 자동으로 정리되는 시스템을 만드는 것이 AI를 장기적으로 육성하는 데 중요하다고 생각합니다.
마지막으로, 본 기사의 내용은 개인 환경에서의 시행착오 기록이며, 기술된 내용에 부정확한 점이나 더 나은 접근 방식이 있을 가능성이 있습니다.
만약 눈에 띄는 점이나 의견 등이 있으시면, 댓글란에서 지적해 주시면 감사하겠습니다.