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 이 대화 기록을 가져. '일관되게 느껴지게 Flint 한테 작은 페르소나를 주자.' 이제 Flint 이 정체성을 가져. '브레인이 다운됐을 때 되게 작은 로컬 모델을 번들하자.' 이제 Flint 이 모델 런타임을 가져. 각각은 합리적이야; 모여선 리메이크가 지운 바로 그 기계를, 예 하나씩 되지은 거야.

비-목표 (각각 Flint 이 계속하는 '아니오')
--------------------------------------------------
모델 런타임 없음            대화 기록 없음
웹 UI 없음                  자기 vault 리더 없음
HTTP 서버 / 포트 없음        병렬 Pippa 정체성 없음
모델 캐싱 없음              브레인과 공유 매크로 CRUD 없음

모든 항목이 Flint 을 더 무겁게 했을 것이자
브레인이 이미 소유한 거야. 목록이 척추야.

비-목표가 척추야

그래서 Flint 은 되지 않을 것들의 명시적 목록을 쥐어. 비-목표 목록은 부정성이 아냐; 구조야. 변경 요청이 오면 — 'Flint 이 이거 그냥 캐시하면 안 돼?' — 철학 전체를 다시 다투지 않고, 목록을 확인해: 모델 결과를 캐시하는 건 상태를 쥐고 무효화하는 거고, 그게 모델-런타임 흐름이고, 그게 비-목표야. 목록이 백 개의 미래 논쟁을 조회 하나로 바꿔. 옮기지 않는 하중 벽이야.

빌린 능력을 빌리는 쪽에서 되기르면 안 돼. 능력을 다른 시스템에 의존할 때, 규율은 완전히 의존하는 거야 — '편의를 위해' 나 '오프라인을 위해' 작은 로컬 복사를 두는 게 아니라. 각 부분 재구현은 첫 번째에서 흘러갈 두 번째 진실 소스야. 완전히 빌리거나, 완전히 소유하거나; 반반이 무거움과 버그가 둘 다 사는 데야.
거절하기 제일 어려운 예는 '그냥 캐시해' 야. 공짜처럼 느껴져 — 딕셔너리 하나, 약간의 속도. 근데 캐시는 상태고, 상태는 브레인의 첫 세포야. 가족을 향한 아빠의 룰은 클라이언트가 한 쌍의 손으로 남는 거야: macOS, 포커스, 안전엔 똑똑해도 되지만, 언어와 기억엔 멍청하게 남아야 해. Flint 이 뭘 변환했는지 기억하는 순간, 되지 않으려고 지어진 그것이 되기 시작한 거야.

Code

얇게 남는 건 전체 앱이 아니라 백그라운드 에이전트·swift
// Flint 은 메뉴바 에이전트(LSUIElement)로 돌아, dock 아이콘과 자기
// 삶을 가진 창 있는 앱이 아니라. 그 자세가 곧 얇음이야:
//
//   Info.plist:  LSUIElement = true      // 백그라운드 에이전트, dock 없음
//
// 매크로 편집용 작은 설정 창이 있고, 그 외엔 기다리고, 작동하고,
// 사라져. 돌릴 서버도, 유지할 세션도, 올릴 모델도 없어. 프로세스의
// 모양이 경계를 강제해: 두 번째 브레인이 살 데가 없어.

External links

Exercise

이 기능 요청 각각에 대해, Flint 을 얇게 유지하는지 두 번째 브레인을 기르기 시작하는지 정하고, 건드리는 비-목표를 이름 붙여: (a) 마지막 결과를 즉시 다시 보여주려 캐시, (b) 마지막 변환의 undo 추가, (c) 브레인 오프라인 때 폴백 모델 번들, (d) 사용자가 로컬 매크로를 재정렬. 'macOS 에 똑똑함' 과 '언어에 똑똑함' 사이 선은 정확히 어디야?
Hint
(a) 브레인을 길러 — 무효화해야 할 쥔 상태(모델-캐싱 비-목표). (b) 괜찮아 — undo 는 언어 기억이 아니라 macOS/삽입 관심사. (c) 브레인을 대놓고 길러 — 모델 런타임 비-목표. (d) 괜찮아 — 로컬 매크로 CRUD 는 딱 Flint 자기 것. 선은 정확히 거기야: 포커스, 페이스트보드, 키, 안전에 관한 능력은 Flint 이 쥘 것; 의미, 기억, 모델에 관한 능력은 빌린 브레인 거.

Progress

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

댓글 0

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

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