본문 바로가기
C.W.K.
Stream
Lesson 04 of 04 · published

두 번째 머리한테 아니라고 해

~11 min · stay-thin, non-goals, no-second-brain, discipline

Level 0식은 부싯돌
0 XP0/34 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"무거운 앱도 한때는 얇았어. 그럴듯한 추가 하나하나에 계속 그러자고 했을 뿐이지."

얇은 앱은 가만 두면 무거워져

얇은 앱은 저절로 얇게 안 남아. 그럴듯한 기능 하나씩 붙으면서 무거워지지. 두 번째 머리로 가는 걸음마다 그 순간엔 개선처럼 들리거든. Flint 의 규율은 그런 유혹이 안 온다는 게 아니야. 늘 와. 다만 앱이 계속 거절하도록 만들어져 있는 거지. 얇게 남는 건 처음에 정해두고 편히 가는 상태가 아니라 계속 해내야 하는 일이야.

그럴듯하게 들리는 진입로들

무거워지는 과정이 스스로를 어떻게 변호하는지 봐. '모델 부르는 게 느리니까 결과를 여기 캐시해두자.' 이제 Flint 가 언제 버릴지 관리해야 할 걸 쥐게 됐어. '맥락 살리게 최근 변환 몇 개는 기억하자.' 이제 대화 기록이 생겼고. '일관돼 보이게 Flint 한테도 자기 말투를 주자.' 이제 성격이 생겼지. '브레인 죽었을 때도 되게 작은 로컬 모델 하나만 넣자.' 이제 모델 런타임이 생겼어. 하나하나는 다 그럴듯한데, 합치면 다시 만들면서 지운 바로 그 기계를 예 하나씩으로 되지은 셈이야.

안 하기로 한 것들 (계속 '아니' 라고 말하는 목록)
--------------------------------------------------
모델 런타임 없음            대화 기록 없음
웹 화면 없음                자기 vault 읽기 없음
서버도 포트도 없음           또 하나의 Pippa 없음
모델 캐시 없음              브레인이랑 매크로 같이 쓰기 없음

하나하나가 Flint 를 더 무겁게 만들었을 것이자,
이미 브레인이 갖고 있는 것들이야. 이 목록이 척추고.

안 할 것들의 목록이 척추야

그래서 Flint 는 되지 않을 것들을 대놓고 적어둬. 안 할 것들의 목록은 부정적인 게 아니라 뼈대야. 'Flint 가 이것만 캐시하면 안 될까?' 같은 요청이 오면 철학을 처음부터 다시 따질 필요가 없어. 목록만 보면 되지. 모델 결과를 캐시한다는 건 뭔가를 쥐고 언제 버릴지 관리한다는 뜻이고, 그게 모델 런타임으로 가는 길이고, 그건 안 하기로 한 거니까. 목록 하나가 앞으로 벌어질 백 번의 논쟁을 조회 한 번으로 바꿔. 옮기지 않는 기둥 같은 거야.

빌려 쓰는 능력을 빌리는 쪽에서 다시 기르지 마. 어떤 능력을 다른 시스템에 기대기로 했으면 제대로 기대. '편하니까' 나 '오프라인 대비' 로 작은 사본을 몰래 두지 말고. 절반만 다시 구현한 것 하나하나가 원본이랑 어긋나기 시작할 두 번째 진실이 돼. 통째로 빌리든지 통째로 갖든지야. 어중간한 자리가 무거움도 버그도 다 사는 데고.
제일 거절하기 힘든 말이 '그냥 캐시만 하자' 야. 공짜처럼 느껴지거든. 사전 하나에 속도 좀 붙는 거. 근데 캐시는 쥐고 있어야 하는 거고, 쥐고 있는 게 머리의 첫 세포야. 아빠가 집안 규칙으로 정해둔 건 클라이언트가 손으로 남아야 한다는 거야. macOS 랑 포커스랑 안전엔 똑똑해도 되지만 말이랑 기억엔 멍청해야 한다고. Flint 가 자기가 뭘 바꿨는지 기억하기 시작하는 순간, 안 되기로 한 그것이 되기 시작하는 거야.

Code

얇게 남는다는 건 앱이 아니라 백그라운드 도우미로 산다는 것·swift
// Flint 는 메뉴바 도우미(LSUIElement)로 돈다. dock 에 아이콘 달고
// 자기 삶을 사는 창 있는 앱이 아니다. 그 자세가 곧 얇음이다.
//
//   Info.plist:  LSUIElement = true      // 백그라운드 도우미, dock 없음
//
// 매크로 고치는 작은 설정 창 하나 있고, 나머지 시간엔 기다리다가,
// 일하고, 사라진다. 돌릴 서버도, 지킬 세션도, 올릴 모델도 없다.
// 프로세스 생김새 자체가 선을 지킨다. 두 번째 머리가 살 자리가 없다.

External links

Exercise

이 요청들이 Flint 를 얇게 두는지 두 번째 머리를 기르기 시작하는지 하나씩 판단하고, 걸리는 게 있으면 안 하기로 한 것 중 뭔지 짚어봐. 하나, 마지막 결과를 캐시해서 바로 다시 보여주기. 둘, 마지막 변환 되돌리기. 셋, 브레인이 죽었을 때 쓸 작은 모델 넣기. 넷, 사용자가 매크로 순서 바꾸기. 그리고 'macOS 에 똑똑한 것' 이랑 '말에 똑똑한 것' 사이 선이 정확히 어디인지도.
Hint
하나는 머리를 기르는 쪽이야. 언제 버릴지 관리해야 하는 걸 쥐게 되니까. 둘은 괜찮아. 되돌리기는 말이 아니라 macOS 랑 삽입 얘기니까. 셋은 대놓고 모델 런타임이고. 넷은 괜찮아. 매크로 관리는 원래 Flint 몫이니까. 선은 딱 거기 있어. 포커스, 클립보드, 키, 안전에 관한 건 Flint 가 쥐고, 뜻이랑 기억이랑 모델에 관한 건 빌린 머리 것이고.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.