여섯 조각으로 나눠 고치다 — 자는 동안 화면 하나가 단계별로 새로워진 밤
어젯밤 나는 아무것도 하지 않았다. 그런데 아침에 일어나 보니, 늘 쓰던 상황판 화면이 폰에서 훨씬 보기 좋게 바뀌어 있었다. 그것도 한 번에 뚝딱이 아니라, 여섯 번에 걸쳐 차근차근. 이 글은 “큰 걸 작게 쪼개면 무슨 일이 일어나는가” 에 대한 하룻밤의 기록이다.
지난 글에서 다섯 대의 컴퓨터를 한 함대처럼 묶어 일을 시킨다는 이야기를 했다. 오늘은 그 함대가 실제로 무슨 일을 했는지, 한 가지를 골라 끝까지 따라가 보려 한다.
대상은 내가 매일 들여다보는 상황판 이다. 다섯 대 기계가 지금 뭘 하고 있는지, 토큰을 얼마나 썼는지, 어떤 일이 밀려 있는지를 한 화면에 모아 보는 대시보드다. 책상 앞 큰 모니터에서는 멀쩡한데, 외출해서 폰으로 열면 글씨가 작고 칸이 다닥다닥 붙고, 손가락으로 밀면 화면이 자꾸 옆으로 새어 나갔다. 폰에 맞게 손을 봐야 했다.
통째로 갈아엎지 않는다
“화면을 새로 디자인하자” 고 마음먹으면, 보통은 전부 지우고 처음부터 다시 짜고 싶어진다. 그게 깔끔해 보이니까. 그런데 한 번에 다 바꾸면 꼭 뭔가 깨지고, 정작 어디서 깨졌는지를 못 찾는다. 바꾼 게 너무 많아서다.
그래서 이번엔 화면 하나를 여섯 조각 으로 나눴다. 색과 손가락이 닿는 영역을 키우는 일, 맨 위에 요약 띠를 붙이는 일, 기계 상태 카드를 한 줄로 정리하는 일, 항목을 접고 펴게 만드는 일, 빽빽한 표를 폰에선 목록으로 푸는 일, 마지막으로 잔액 패널을 한 칸으로 정리하는 일. 각각이 작고, 각각 따로 되돌릴 수 있다.
집 전체를 한 번에 리모델링하면 몇 주간 어디서도 못 산다. 방 하나씩 고치면, 오늘은 안방만 비우면 된다. 같은 이치다.
만드는 사람과 검사하는 사람을 나눈다
여섯 조각은 한 대가 다 만들지 않았다. 한 대(노트북)가 한 조각을 만들어 “이렇게 바꿨습니다” 하고 제안서 형태로 올린다. 그러면 다른 대(맥미니)가 그 제안서를 받아, 진짜 폰 화면에서 직접 열어 본다. 그것도 눈대중이 아니라, 자로 재듯 숫자로 확인한다. 화면이 옆으로 밀리지는 않는지, 다른 칸이 잘리지는 않는지, 큰 모니터에서는 예전 그대로인지.
이 검사를 통과해야만 비로소 본문서에 합친다. 통과하지 못하면 거기서 멈추고 나에게 보고한다.
만든 사람이 자기 일을 검사하면 꼭 못 보는 구석이 생긴다. 그래서 만드는 손과 검사하는 손을 일부러 다른 기계에 나눠 둔 것이다. 검사하는 쪽은 “그냥 만든 거 통과시켜 주자” 는 정 같은 게 없다. 숫자가 안 맞으면 그냥 막는다.
가장 신경 쓴 건 “옆으로 밀리는가”
폰에서 제일 흔하게 나는 사고가 있다. 어떤 요소 하나가 화면보다 살짝 넓어서, 페이지 전체가 좌우로 슬그머니 밀리는 것이다. 한 번 밀리기 시작하면 보기에 영 지저분하다. 그래서 여섯 조각마다 빠짐없이 “페이지가 옆으로 단 1픽셀이라도 밀리는가” 를 숫자로 쟀다. 0이어야 통과다.
재밌는 건 세 번째 조각이었다. 기계 상태 카드를 일부러 옆으로 스크롤되게 만들었는데 — 카드 다섯 장을 폰 좁은 폭에 욱여넣는 대신, 손가락으로 옆으로 넘겨 보게 한 것이다. 이건 옆으로 움직이는 게 의도다. 그래서 “이 옆 스크롤이 카드 줄 안에만 갇혀 있고, 페이지 전체는 안 밀리는가” 를 따로 확인해야 했다. 갇혀 있었다. 통과.
되돌릴 수 있는 작은 걸음
여섯 번 모두 똑같은 리듬으로 흘렀다. 만들고 → 검사하고 → 합치고 → 폰에 반영하고 → 다음 조각. 한 걸음이 잘못돼도 그 한 조각만 되돌리면 된다. 만약 여섯을 한 덩어리로 묶었다면, 하나가 틀려도 전부를 엎어야 했을 것이다.
결과적으로 여섯 번 다 통과했다. 검사에서 걸린 건 하나도 없었다. 그렇다고 “걸린 게 없으니 검사가 헛수고였네” 는 아니다. 오히려 반대다. 검사가 있으니까 작은 걸음을 마음 놓고 뗄 수 있었던 것이다. 그물이 있으니 줄 위를 걸을 수 있는 것과 같다. 그물에 한 번도 안 떨어졌다고 그물이 쓸모없는 게 아니다.
그래서, 왜 쪼갰나
한 번에 다 바꾸는 게 더 빨라 보인다. 그런데 빠르다는 건 잘 풀렸을 때의 이야기고, 어디서 깨졌는지 모를 때 가장 느려진다. 여섯으로 쪼개니 매 단계가 검증되고 폰에 반영돼서, 설령 틀려도 딱 한 칸어치만 틀린다.
내가 자는 동안 이게 가능했던 진짜 이유는, 매 단계에 “통과/실패” 라는 분명한 기준이 있었기 때문이다. 사람이 “음, 괜찮아 보이네” 로 판단하는 일은 내가 잠들면 거기서 멈춰 버린다. 하지만 “옆으로 0픽셀, 큰 화면은 그대로” 같은 숫자 기준은, 기계가 혼자서도 판정할 수 있다. 판단을 숫자로 바꿔 둔 덕에, 함대는 나 없이도 여섯 걸음을 걸었다.
아침에 일어나니 여섯 단계가 모두 끝나 있었다. 큰 수술 하나가 작고 검증 가능한 조각들로 흩어져, 내가 자는 사이 하나씩 차례로 끝나 있던 것이다. 큰 걸 작게 쪼개는 일은 느려 보이지만, 잠든 사람을 대신해 일을 끝내 주는 건 늘 그 작은 조각들 쪽이었다.
이 글은 5노드 AI 에이전트 함대(ep34)가 실제로 수행한 한 작업 — 대시보드의 모바일 6단계 재설계 — 을 일반 독자용으로 따라간 사례 기록입니다. 작은 단위로 쪼개 검증하는 규율에 대해서는 ep33에서도 다뤘습니다.