"양쪽 다 '매크로' 라는 게 있어. 그 같은 이름이 함정이지, 합칠 이유가 아니라."
닮아 보이는 두 목록
Flint 는 매크로 목록을 자기 파일에 갖고 있어. 이름, 프롬프트 틀, 단축키, vault 를 쓸지 말지. 빌린 브레인도 자기 화면들을 위한 동작 목록을 따로 갖고 있고. 둘이 같은 물건처럼 보이는데, 바로 그 닮은 데가 얽힘이 슬쩍 끼어들려는 자리야. '둘 다 매크로 목록인데 왜 같이 안 써? 아니면 맞춰두든가, 아니면 한쪽이 번호로 부르든가.' 답은, 둘이 주인이 다르고 같이 만지는 순간 다시 만든 게 무의미해진다는 거야.
다시 만들면서 없앤 그 얽힘
옛 도구는 클라이언트 동작이랑 서버 동작이 한 덩어리로 엉켜 있었어. 하나를 바꾸면 다른 쪽을 따져봐야 했고. 그걸 떼어놓는 게 다시 만들기의 목표였지 우연이 아니야. 그래서 Flint 목록이랑 브레인 목록은 설계부터 딴 살림이야. Flint 는 자기 프롬프트를 만들어 보내고(지난 레슨의 apply-free 계약이 이걸 가능하게 해줘), 브레인 쪽 매크로를 번호로 절대 안 불러. 두 목록이 각자 알아서 늘고 줄고 바뀔 수 있는 거지.
FLINT 의 목록 (이 컴퓨터) 브레인의 목록 (자기 것)
---------------------- -------------------------
주인은 Flint 주인은 브레인
자유 프롬프트로 만들어 보냄 브레인 자기 화면들이 씀
마음대로 바뀜 마음대로 바뀜
\ /
\___ 번호를 절대 안 나눔 ____/
맞춰두지도 않음
번호로 부르지도 않음
어느 쪽도 상대를 안 쥐어
따로 산다는 건 어느 쪽으로도 지시가 안 간다는 뜻이야. Flint 가 브레인 매크로를 관리하지 않고, 브레인이 Flint 한테 매크로를 밀어넣지도 않아. Flint 매크로를 고쳐도 브레인은 그대로고, 브레인 목록을 갈아엎어도 Flint 는 알지도 못하고. 그게 이득 전부야. 두 사람이, 또는 두 시점의 나 자신이, 서로 밟을 게 없으니까 각자 목록을 마음대로 손볼 수 있어.