Articles
Guide 14분

포착 → 회고 → 인사이트 루프 — 하루의 리듬이 시스템이 되는 과정

생각은 기록하지 않으면 사라진다. 형식 없이 던지고, 하루를 돌아보고, 시간이 패턴을 드러내는 4단계 순환 구조. 아침 브리핑부터 주간 회고까지의 실제 설계.

중급 포착 회고 캡처 루프 사고 시스템 Obsidian 브리핑
이 글을 읽으면
  • 배경: 하루에 떠오르는 생각 대부분은 기록하지 않으면 다음 날 사라져요. 이걸 어떻게 붙잡을지 고민한 경험
  • 핵심 인사이트: 형식을 최대한 가볍게 만들어야 기록이 계속된다는 걸 알게 됐어요. 부담이 되는 구조는 3일을 못 버텨요
  • 이런 분에게: AI 도구로 생각 정리를 해보고 싶은데, 매번 작심삼일로 끝나는 분. 또는 기록은 하는데 쌓이기만 하고 돌아보지 못하는 분

하루에 떠오르는 생각, 얼마나 기억하세요?

샤워하다가 좋은 아이디어가 떠올랐는데 수건 닦고 나면 까먹은 경험, 다들 있잖아요. 저도 그랬어요. 출퇴근길에 떠오른 생각, 점심 먹다가 든 의문, 자기 전에 스치는 반성 — 이런 것들이 하루에도 수십 개씩 왔다가 사라지더라고요.

메모 앱을 깔아보기도 하고, 노션에 데일리 템플릿을 만들어보기도 했어요. 근데 며칠 지나면 안 하게 돼요. 템플릿을 열고, 날짜를 적고, 카테고리를 고르고… 이 과정 자체가 귀찮아서요.

그래서 셀포지에서 만든 구조의 핵심은 딱 하나예요. 던지기만 하면 된다. 분류도, 정리도, 돌아보기도 전부 시스템이 알아서 해요. 이 글에서는 그 구조가 어떻게 설계되어 있고, 실제로 어떻게 돌아가는지 이야기해볼게요.

대화 규칙 설계가 궁금하시다면 이전 편 AI 사고 파트너의 대화 규칙 설계를 먼저 읽어보셔도 좋아요.

포착: 형식 없이 던지기

셀포지의 포착(캡처) 시스템은 텔레그램 메시지 하나로 시작해요. 생각이 떠오르면 설리반(AI 사고 파트너) 봇한테 메시지를 보내기만 하면 돼요. “이거 좋은 아이디어인 것 같은데” 하고 그냥 던지면, AI가 알아서 분류하고 옵시디언에 저장해요.

분류는 6가지예요:

  • 아이디어 — 아직 검증 안 된 새로운 생각
  • 질문 — 답을 모르거나 더 탐색하고 싶은 것
  • 레퍼런스 — 외부 자료, 링크, 인용
  • 일상 — 기분, 상태, 에너지에 관한 기록
  • 메모 — 단순 기록이나 리마인드용 (회고에서 제외돼요)
  • 대화 — 자유 대화 후 자동 저장되는 요약

카테고리를 직접 지정할 수도 있어요. /idea라고 앞에 붙이면 아이디어로 분류되고, /memo라고 붙이면 메모로 저장돼요. 근데 솔직히 대부분은 카테고리를 안 붙이고 그냥 보내요. AI가 내용을 보고 자동으로 판단하거든요.

여기서 재미있는 설계가 하나 있는데요. 저장 위치가 두 곳으로 갈려요.

  • 내 의견이 들어간 것 → 내 생각 창고 (Vault A)
  • 외부 자료 원본만 클립한 것 → 외부 자료 창고 (Vault B)

예를 들어 아티클 링크를 보내면서 “이 부분이 우리 프로젝트에 적용할 만하다”라고 한마디 붙이면, 그건 내 생각이 담긴 거니까 Vault A에 저장돼요. 같은 링크를 코멘트 없이 URL만 보내면 Vault B에 저장되고요. 왜 이렇게 나누냐면, 나중에 회고할 때 “내가 한 생각”과 “외부에서 가져온 것”을 구분하는 게 중요하거든요.

그리고 메모(/memo)는 특별해요. 장 볼 리스트나 약속 시간 같은 단순 기록인데, 저장하고 나면 “리마인드 해줄까?”라고 물어봐요. “내일 아침”이라고 답하면 그때 다시 알려주죠. 대신 이런 단순 메모는 밤 회고에서 빠져요. 회고할 때 “달걀 사기”가 나오면 좀 이상하잖아요.

캡처 시스템은 capture-agent.md 에이전트 정의로 동작해요. 텔레그램 메시지가 도착하면 sullivan-channel.md의 라우팅 테이블이 먼저 판단하고, 캡처 대상이면 capture-agent로 넘겨요.

커맨드와 자동 분류

메시지 첫 토큰이 /xxx 형태면 카테고리 커맨드로 인식해요:

/idea  → 아이디어
/question → 질문
/ref   → 레퍼런스
/diary → 일상
/memo  → 메모 (회고에서 제외, 리마인드 제안)

커맨드가 없으면 AI가 자동 분류해요. 미정의 커맨드(/xxx)는 커스텀 카테고리가 돼요.

소스별 처리

입력 유형에 따라 처리 방식이 달라요:

  • 텍스트: 요약 + 분류
  • URL: WebFetch로 본문 추출(최대 3000자) → title + summary 생성
  • YouTube 링크: 페이지에서 제목 추출 → 제목 + URL로 저장
  • LinkedIn: Playwright + storage-state.json으로 본문 추출 (WebFetch 접근 불가)

Vault 분기 로직

판단 기준은 발화자가 누구인가예요:

내 의견 포함 → {VAULT}/Self/Raw/     (Vault A)
원본만       → {VAULT}/External/Raw/  (Vault B)

노트 frontmatter 형식:

---
type: capture
category: 아이디어 | 질문 | 레퍼런스 | 일상 | 메모 | 대화
date: YYYY-MM-DD HH:MM
source: text | url | youtube
tags: [키워드1, 키워드2, 키워드3]
---

메모 리마인드

/memo 저장 후 리마인드 제안 → 자연어 시간 응답(“내일 아침”, “3시간 후”) → CronCreate(recurring=false)로 일회성 크론 등록. 해당 시각에 텔레그램으로 원본 내용을 다시 전송해요.

캡처 분류와 Vault 분기

아침 브리핑: 3줄의 방향

매일 아침 8시에 설리반이 브리핑을 보내줘요. 딱 3줄이에요.

실제로 받은 브리핑 예시를 볼게요:

[오늘의 한 가지] 어제 캡처 3개가 전부 “세션이 끊어져도 살아남는 구조”로 수렴했어요 — CronCreate 파일 참조, init prompt 멀티에이전트, Linear 세팅. 흩어져 보이는 작업들이 하나의 줄기로 연결되고 있어요.

[오늘 집중할 것] 어제 회고에서 “공유회 아티클 구체화 타이밍”이라고 했었죠. 어제 정리한 소재들 중에서 첫 번째 글감을 하나 골라보는 것.

[오늘의 질문] 어제 정리한 것들 중에, 다른 사람한테 보여줬을 때 “이건 나도 해보고 싶다”고 느낄 만한 게 뭐예요?

커피 마시면서 이걸 읽는 데 1분이면 충분해요. 그런데 이 3줄이 하루의 방향을 잡아줘요. 어제 뭘 했는지 떠올리고, 오늘 뭘 하면 좋을지 감을 잡고, 하나의 질문을 품고 하루를 시작하는 거예요.

재미있는 건, 회고를 안 한 날이 3일 이상 이어지면 브리핑이 달라져요. “3일 연속 자기 전 체크인이 없었는데, 요즘 어떤 흐름이에요?” 이런 식으로요. 잔소리가 아니라 안부에 가까운 질문이에요. 이게 바보같이 들릴 수 있는데, 의외로 효과가 있더라고요. “아, 요즘 좀 놓고 있었구나” 하고 자각하게 돼요.

아침 브리핑은 morning-briefing.md 스킬로 정의되어 있고, 크론으로 매일 08:00에 트리거돼요.

데이터 읽기

vault에서 직접 읽어요:

  • {VAULT}/Self/Raw/에서 어제 날짜 패턴(YYYY-MM-DD_*.md)으로 Glob
  • type: capture → 어제 캡처
  • type: reflection → 어제 회고
  • 최근 7일간 type: reflection 파일 유무 확인 → 연속 회고 부재 감지

출력 규격

[오늘의 한 가지]
어제 포착된 것 중 주목할 것, 또는 포착 없음 질문

[오늘 집중할 것]
hminn-now.md의 상황·집중·고민 필드 기반 제안

[오늘의 질문]
어제 포착과 연결된 질문 하나

연속 미응답 감지

매일 아침 최근 7일의 type: reflection 파일 유무를 확인해요. 3일 이상 없으면 [오늘의 한 가지]에 반영:

3일 연속 자기 전 체크인이 없었는데, 요즘 어떤 흐름이에요?

파일 저장: {VAULT}/Self/Raw/YYYY-MM-DD_briefing.md, frontmatter type: briefing.

점심 체크인: 에너지 감지

점심때 설리반이 가볍게 안부를 물어와요. “점심 먹었어요?” 또는 “오전 어땠어요?” 정도의 가벼운 한마디에서 시작해요.

이게 전부예요. 인터뷰가 아니거든요. 잠깐 안부를 묻고, 대화 톤에서 에너지를 느끼는 거예요. 숫자로 “에너지 1~10 중에 몇이에요?”라고 묻지 않아요. 그냥 대화하다 보면 충분히 느껴지니까요.

에너지가 높으면 “오후도 이 흐름으로!” 하고, 보통이면 “가벼운 거 하나부터 시작해봐요” 하고, 낮으면 “좀 쉬어도 돼요” 하고 끝이에요. 억지로 방향을 제시하지 않아요.

2턴이면 끝나는 대화예요. 30초면 충분하고요. 이 짧은 체크인이 오후의 리듬을 만들어줘요.

점심 체크인은 reflection-guide.md의 모드 1로 정의돼요. 12~1시 크론으로 트리거되거나 직접 /lunch 커맨드로 시작할 수 있어요.

흐름 (2턴)

  1. 가볍게 안부 → “점심 먹었어요?” / “오전 어땠어요?”
  2. 답변에 반응 + 에너지 감지
  3. 오후 방향 한 줄:
    • 에너지 높음 → “오후도 이 흐름으로 가봐요!”
    • 보통 → “가벼운 거 하나부터 시작해봐요.”
    • 낮음 → “좀 쉬어도 돼요.” (억지 방향 제시 금지)

설계 원칙: 숫자를 직접 묻지 않아요. 대화 톤에서 충분히 감지할 수 있다는 전제예요. “에너지 몇이에요?”가 아니라 “오전 어땠어요?”로 자연스럽게 파악해요.

밤 회고: 맥락 기반 질문

밤 10시에 설리반이 회고를 시작해요. 근데 “오늘 뭐 했어요?”라고 바로 묻지 않아요. 먼저 오늘 제가 캡처한 것들을 전부 읽어요. 그다음에 그 내용을 바탕으로 질문을 던져요.

예를 들어 제가 그날 “공유회 콘텐츠 방향”이라는 아이디어를 캡처하고, “CronCreate 컨텍스트 최적화”라는 작업 기록을 남겼다면, 설리반은 이렇게 시작해요:

“오늘 공유회 콘텐츠 방향을 잡으면서 CronCreate 최적화까지 했네요. 꽤 다른 종류의 작업인데, 오늘 어떻게 흘러간 거예요?”

이런 질문에 제가 대답하면, 설리반이 한 번 더 깊이 들어가는 질문을 해요. 그러고 나서 리포트를 만들어요.

실제 회고 리포트를 보면 이런 형태예요:

[오늘 포착된 것]

  • 공유회 콘텐츠 방향 — 셀포지 PM 시행착오를 아티클로 발행하기로 결정
  • CronCreate 컨텍스트 최적화 — “추측 대신 실측”으로 분석, 프롬프트 2중 적재가 40% 차지한다는 걸 발견

[오늘의 발견] 오늘 한 일들에 하나의 줄기가 있다 — “세션이 끊어져도 살아남는 구조 만들기”. 시스템이 점점 단단해지고 있다.

[내일을 위해] 이슈 다 해결하고 시원하게 마무리한 하루. 공유회 아티클 방향이 구체화될 타이밍.

[오늘의 발견]이 핵심이에요. 하루 동안 흩어져 있던 활동들 사이에서 연결고리를 찾아주거든요. 본인은 그냥 이것저것 했다고 생각했는데, 리포트를 보면 “아, 오늘 한 것들이 전부 한 방향이었구나” 하고 깨닫게 돼요.

여기서 중요한 원칙이 하나 있어요. 리포트는 ‘발견’이지 ‘처방’이 아니에요. “이런 패턴이 보입니다”까지만 말하고, “그러니까 이렇게 하세요”라고는 안 해요. 어떻게 할지는 본인이 결정하는 거예요.

참, 메모(/memo)로 저장한 건 회고에서 빠져요. “오후 3시 미팅” 같은 단순 기록이 회고 맥락을 흐리니까요.

밤 회고는 reflection-guide.md의 모드 2예요. 밤 크론으로 트리거되거나 /night 커맨드로 시작해요.

파일 읽기

{VAULT}/Self/Raw/에서 오늘 날짜 파일 Glob
→ type: capture → 오늘의 캡처
→ type: briefing → 오늘의 브리핑
→ category: 메모 → 회고 컨텍스트에서 제외

대화 흐름 (2턴)

  1. 캡처를 읽고 맥락 기반 첫 질문
  2. 답변 수신
  3. 답변 + 캡처 기반 심화 질문 (내일을 위한 질문)
  4. 두 번째 답변 수신
  5. 리포트 생성 + 출력

리포트 형식

[오늘 포착된 것]
캡처 요약. 시제 구분 — 미래 계획은 "예정된 것", 오늘 경험은 "한 것"

[오늘의 발견]
대화와 캡처에서 보이는 연결고리, 패턴, 흥미로운 지점

[내일을 위해]
흐민이 말한 방향 + Sullivan이 포착한 것

캡처가 없는 날은 [오늘 포착된 것]을 생략하고 대화에서 나온 것에 집중해요. 연결고리가 안 보이면 억지로 만들지 않고, 대화에서 눈에 띄었던 것을 짚어요.

파일 저장: {VAULT}/Self/Raw/YYYY-MM-DD_reflection.md

---
type: reflection
date: YYYY-MM-DD
status: completed
captures_count: N
---

응답 없이 세션 종료된 경우

파일을 생성하지 않아요. Raw/에 해당 날짜의 type: reflection 파일이 없는 것 자체가 “회고 없음”의 신호예요. 다음 날 아침 브리핑이 이걸 감지해요.

주간 회고: 패턴 발견

일요일에 한 주를 돌아봐요. 7일치 캡처와 회고를 전부 읽고 리포트를 만드는 건데, 여기서 진짜 재미있는 일이 벌어져요.

실제 주간 회고 일부를 보여드릴게요:

[이번 주 포착된 것들] 내 생각 8개, 외부 레퍼런스 8개. 내 생각은 거의 전부 시스템 설계/아키텍처.

[에너지 흐름] 높았던 순간: 수~목. “추측 대신 실측”으로 병목을 찾아낸 순간, 데드라인 + 체계적 계획이 리듬을 만들어서 몰입과 재미를 느낀 순간. 낮았던 순간: 월요일 — 병원 일정에 정신없었지만 빈 시간을 잘 활용.

[설리번의 관찰] 내 생각 8개 중 시스템 인프라가 7개, 콘텐츠 방향이 1개. 7개 모두에 “레슨런” 섹션이 있다 — 단순 작업 기록이 아니라 매번 원리를 추출하고 있었다는 뜻. “만드는 사람”이 아니라 “만들면서 배우는 사람”의 리듬.

[설리번의 관찰]이 핵심이에요. 일주일 동안 쌓인 데이터에서 패턴을 찾아주는 건데, 여기에 판단이 없어요. “좋다” “나쁘다”가 아니라 “이런 게 보인다”까지만 말해요.

위 예시에서 “내 생각 8개 중 시스템 인프라가 7개”라는 관찰은 판단이 아니에요. “인프라에 더 치중했다”도 아니고, “콘텐츠를 소홀히 했다”도 아니에요. 그냥 숫자를 보여줄 뿐이에요. 이걸 어떻게 해석할지는 본인의 몫이에요.

주간 회고에는 [다음 주 한 가지]라는 섹션이 있는데, 이건 설리반이 혼자 정하지 않아요. 방향 2개를 제안하고 “이 중에 더 당기는 게 있어, 아니면 다른 방향이 보여?”라고 물어봐요. 답을 듣고 나서야 확정해요.

주간 회고는 reflection-guide.md 모드 3 + weekly-report.md 스킬로 동작해요. 주 1회 크론(일요일) 또는 /weekly 커맨드로 트리거돼요.

데이터

{VAULT}/Self/Raw/에서 최근 7일 날짜 패턴으로 Glob
→ type: capture → 캡처
→ type: reflection → 회고
→ category: 메모 → 제외

리포트 섹션

[이번 주 포착된 것들]
분류별 묶음 요약. 아이디어 N개, 질문 N개, 레퍼런스 N개...

[에너지 흐름]
높았던 순간 + 낮았던 순간. 패턴 없으면 솔직히 "이번 주 감정 포착이 적었어"

[이번 주 발견]
반복 키워드, 연결된 생각, 같은 질문이 다른 형태로 나타난 것. 없으면 생략

[설리번의 관찰]
패턴 관찰. 판단·해석 금지. "보이는 것"만.

[다음 주 한 가지]
대화형 — 2개 이내 방향 제안 → 질문 → 답변 → 확정

[흐민에게 묻는 질문]
이번 주 패턴과 연결된 질문 하나. "자면서 씹을 질문"

[설리번의 관찰] 설계 원칙

좋은 관찰:

  • “이번 주 포착된 것 중 구직 관련은 1개, 설계 관련은 7개야.”
  • “3주 연속 같은 질문이 다른 형태로 올라오고 있어.”

나쁜 관찰:

  • “구직에 더 집중해야 할 것 같아.” (처방적)
  • “잘하고 있어.” (판단)

파일 저장: {VAULT}/Self/Raw/YYYY-MM-DD_weekly-reflection.md, frontmatter type: weekly-reflection.

하루의 루프

지금까지의 구조를 한눈에 보면 이런 순환이에요:

하루의 루프

하루가 이렇게 돌아요:

  1. 포착 — 하루 중 아무 때나. 생각이 떠오르면 텔레그램으로 던지기
  2. 아침 브리핑 (08:00) — 어제 포착한 것 + 오늘 방향 + 질문 하나. 3줄
  3. 점심 체크인 (13:00) — 가벼운 안부. 에너지 감지. 2턴
  4. 밤 회고 (22:00) — 오늘 캡처 기반 대화 → 리포트
  5. 주간 회고 (일요일) — 7일치 패턴 발견 → 다음 주 방향

밤 회고에서 나온 [내일을 위해]가 다음 날 아침 브리핑의 재료가 되고, 주간 회고에서 나온 패턴이 다음 주 포착의 감도를 높여줘요. 시간이 지나면 지날수록 루프가 정교해지는 구조예요.

크론 스케줄

시간트리거스킬
08:00sullivan-아침브리핑morning-briefing.md
12:00~13:00sullivan-점심체크인reflection-guide.md 모드 1
22:00sullivan-자기전회고reflection-guide.md 모드 2
일요일sullivan-주간회고reflection-guide.md 모드 3 + weekly-report.md

크론은 CronCreate로 등록하며, 7일 만료 제약이 있어요. sullivan-channel.md의 세션 시작 시 크론 점검(6개 작업 확인 + 누락 시 재등록)으로 자가 치유해요.

데이터 흐름

포착 (텔레그램)
  ↓ capture-agent → Self/Raw/ 또는 External/Raw/

아침 브리핑 (08:00)
  ↓ 어제 캡처 + 어제 회고 읽기 → briefing 파일 생성

점심 체크인 (13:00)
  ↓ 2턴 대화, 파일 미생성

밤 회고 (22:00)
  ↓ 오늘 캡처 + 브리핑 읽기 → 대화 → reflection 파일 생성

주간 회고 (일요일)
  ↓ 7일치 캡처 + 회고 읽기 → 대화 → weekly-reflection 파일 생성

다음 날 아침 브리핑이 이 모든 것을 참조

모든 파일은 {VAULT}/Self/Raw/에 flat 저장하고, frontmatter의 type 필드로 구분해요.

실제 데이터로 보는 루프

실제로 이 루프가 어떻게 돌아가는지, 며칠치 데이터를 따라가볼게요.

4월 23일 캡처 — 하루 동안 3개를 포착했어요:

  • 공유회 콘텐츠 방향: 셀포지 PM 시행착오를 아티클로 발행하기로 결정
  • CronCreate 컨텍스트 최적화: “추측 대신 실측”으로 분석해서 24.4% 절감
  • Init Prompt 멀티에이전트 패턴 정리

4월 23일 밤 회고 — 설리반이 이 캡처들을 읽고 연결고리를 찾았어요:

[오늘의 발견] 오늘 한 일들에 하나의 줄기가 있다 — “세션이 끊어져도 살아남는 구조 만들기”. CronCreate 파일 참조, init prompt 패턴, Linear 세팅 전부 세션 의존성을 줄이는 방향.

본인은 서로 다른 작업을 했다고 생각했는데, 회고를 통해 “아, 전부 같은 줄기였구나”를 발견한 거예요.

4월 24일 아침 브리핑 — 전날 회고가 다음 날 브리핑으로 이어졌어요:

[오늘의 한 가지] 어제 캡처 3개가 전부 “세션이 끊어져도 살아남는 구조”로 수렴했어요.

[오늘의 질문] 어제 정리한 것들 중에, 다른 사람한테 보여줬을 때 “이건 나도 해보고 싶다”고 느낄 만한 게 뭐예요?

그리고 그 주 일요일 주간 회고에서 이 패턴이 더 넓은 맥락으로 올라왔어요:

[이번 주 발견] 캡처에 하나의 줄기 — “세션이 끊어져도 살아남는 구조 만들기.” CronCreate 파일 참조, init prompt 패턴, Linear 세팅, 텔레그램 env 브릿지, race condition 수정. 전부 영속성과 안정성을 향한 작업.

하루의 발견이 한 주의 패턴으로 올라가는 거예요. 이게 루프의 힘이에요. 하나하나는 그냥 메모인데, 시간이 쌓이면 방향이 보이기 시작해요.

핵심 원칙

이 시스템을 설계하면서 가장 중요하게 여긴 원칙이 두 가지 있어요.

첫째, 경량함이 지속성을 만들어요.

부담이 되는 구조는 3일을 못 버텨요. 노션에 데일리 템플릿을 만들었다가 포기한 경험이 있다면 아시죠. 그래서 포착은 “텔레그램에 한 줄 보내기”로 줄였고, 아침 브리핑은 “3줄 읽기”로 줄였고, 점심 체크인은 “2턴 대화”로 줄였어요.

형식을 가볍게 만들수록 오래 계속할 수 있어요. 완벽한 구조보다 매일 돌아가는 구조가 더 가치 있어요.

둘째, 리포트는 ‘발견’이지 ‘처방’이 아니에요.

설리반의 역할은 “이런 패턴이 보여요”까지예요. “그러니까 이렇게 하세요”는 설리반의 영역이 아니에요. 주간 회고의 [설리번의 관찰]이 판단 없이 보이는 것만 말하는 이유가 이거예요.

이건 시스템 설계 원칙에서 온 거예요 — “AI는 해석하지 않는다, 드러낸다.” 연결과 패턴을 표면화하되, 의미 부여는 본인의 몫이에요. AI가 “이건 좋은 신호야”라고 판단하기 시작하면, 그건 더 이상 내 생각이 아니라 AI의 생각이 되니까요.


이 루프는 완벽하지 않아요. 금토에 회고를 빼먹기도 하고, 캡처가 하나도 없는 날도 있어요. 그런데 괜찮아요. 빈 날이 있다는 것 자체가 데이터거든요. 다음 주 아침 브리핑이 “이번 주 후반에 포착이 없었는데요”라고 알려주면, 그게 또 하나의 발견이 돼요.

비슷한 구조를 만들어보고 싶다면, 크게 시작하지 않아도 돼요. 아침에 AI한테 “어제 뭐 했는지 정리해줘” 한마디 보내는 것부터 시작해보세요. 그 한마디가 루프의 시작이에요.

이 루프가 매일 자동으로 돌아가려면 세션이 죽어도 다시 살아나는 구조가 필요해요. 다음 편 영속성 체인으로 세션 안정성 확보에서 이야기할게요.