혼자인데 팀처럼 — 컴퓨터 다섯 대를 한 함대로 묶어 일 시키는 법
나는 1인 개발자다. 그런데 어느 순간부터, 내가 자는 동안에도 다섯 대의 컴퓨터가 각자 일을 나눠 들고 움직이고 있었다. 이 글은 그 ‘함대’가 어떻게 한 팀처럼 일하게 됐는지에 대한 이야기다.
집과 작업실에 컴퓨터가 다섯 대 있다. 맥북, 맥미니, 그리고 데스크탑·노트북 몇 대. 예전 같으면 그냥 “여러 대 있네” 로 끝났을 텐데, 지금은 다르다. 각각이 AI 작업자 한 명씩이고, 다섯이 모여 하나의 함대(fleet) 처럼 움직인다. 한 명이 설계하고, 나머지가 동시에 손을 움직이고, 끝나면 다시 한곳으로 결과가 모인다.
신기한 건, 이걸 굴리는 사람은 여전히 나 혼자라는 점이다. 오늘은 그 “혼자인데 팀처럼” 을 가능하게 만든 장치들을 한 번 풀어서 적어 보려 한다. 코드 얘기는 최대한 걷어내고, 회사 조직에 비유해서.
한 명은 일하지 않는다 — 오케스트레이터
가장 먼저 정한 규칙은 의외로 “한 대는 일을 하지 마라” 였다. 본진(맥북)은 직접 코딩하지 않는다. 대신 들어온 일을 보고, “이건 누가 하면 좋을까” 를 판단해서 노는 기계에게 넘긴다. 끝나면 결과를 받아 검토하고 합친다.
회사로 치면 팀장이다. 팀장이 자기가 키보드를 잡고 밤새 코딩하면, 팀원 네 명은 논다. 그러면 다섯이 아니라 한 명짜리 회사다. 그래서 본진은 의식적으로 손을 뗀다. “이거 내가 하면 더 빠른데” 라는 유혹을 참는 것 이 핵심이다. 빠른 게 중요한 게 아니라, 다섯 대가 동시에 굴러가는 게 중요하니까.
같은 서류를 두 사람이 동시에 고치지 않게
여러 명이 동시에 일하면 꼭 사고가 난다. 두 사람이 같은 파일을 각자 고쳐서, 나중에 합칠 때 충돌이 나는 것이다. 그래서 기계마다 자기 이름표가 붙은 작업 공간 을 따로 쓰게 했다. 맥미니가 만드는 결과물에는 맥미니 표가, 노트북 것에는 노트북 표가 붙는다.
서로 다른 서랍에서 일하니 부딪힐 일이 없고, 다 끝난 뒤에 팀장(본진)이 하나씩 검토하며 본문서에 합친다. 사무실에서 “이 문서는 지금 내가 잡고 있어요” 라고 말해 두는 것과 똑같은 원리다. 단지 그 약속을 사람이 기억하는 대신, 시스템이 강제한다는 점이 다르다.
노는 사람이 알아서 일감을 집는다
일이 몰리면 팀장이 일일이 “너 이거, 너는 저거” 나눠 주는 것도 일이다. 그래서 일감 큐(queue) 를 뒀다. 처리할 일들을 한 줄로 쌓아 두면, 지금 손이 빈 기계가 알아서 맨 앞 일감을 집어 든다. 한 번 집은 일감은 잠깐 “내가 맡았음” 표시가 걸려서, 다른 기계가 중복으로 집지 않는다.
만약 일감을 집은 기계가 중간에 멈춰 버리면? 일정 시간이 지나면 그 일감은 자동으로 다시 큐로 돌아온다. 맡은 사람이 쓰러져도 일이 증발하지 않고, 다음 사람이 이어받는다. 식당 주방에서 주문표를 집어 요리하다, 한 명이 빠지면 다른 요리사가 그 표를 이어 잡는 것과 비슷하다.
보고는 반드시 한곳으로 모인다
각자 일하는 것만큼 중요한 게, 끝난 결과가 새지 않고 한곳으로 모이는 것 이다. 노트북이 일을 끝내면 그 결과가 자동으로 본진에게 전달되고, 동시에 내 폰에도 알림이 온다. 어느 한쪽 경로만 살아 있으면 “한 방향으로만 보이는” 비대칭이 생기는데, 그게 가장 헷갈리는 사고를 만든다. 그래서 보고는 늘 양쪽으로, 같은 내용이 거울처럼 두 번 가게 해 뒀다.
덕분에 나는 외출 중에 폰만 보고도 “지금 맥미니가 뭘 끝냈고, 노트북이 뭘 하고 있고” 를 안다. 다섯 대의 현황이 손바닥 안에 들어온다.
쓰러지면 알아서 일어난다
마지막은 자가 복구다. 24시간 돌아가는 기계 중 하나가 인터넷이 끊기거나 프로세스가 죽으면, 사람이 일일이 달려가 다시 켜는 대신 시스템이 스스로 되살린다. 챗봇 같은 장기 프로세스는 죽으면 자동으로 재시작되도록 묶여 있고, 메모리를 너무 많이 먹는 무거운 작업은 따로 격리해서 다른 일을 끌어내리지 않게 한다.
요점은, 사람의 손이 없어도 함대가 스스로 서 있는 상태 를 만드는 것이다. 내가 잠들어도 멈추지 않으려면, 넘어졌을 때 누가 일으켜 주길 기다리면 안 되니까.
그래서, 왜 이렇게까지
누군가는 물을 것이다. 혼자 쓰는데 이게 다 무슨 소용이냐고. 답은 단순하다. 1인 개발자의 진짜 한계는 아이디어가 아니라 손이 한 쌍뿐이라는 것 이다. 이 함대는 그 손을 다섯 쌍으로 늘려 주는 장치다. 내가 자는 8시간 동안에도 빌드가 돌고, 검토가 끝나고, 보고가 쌓인다.
물론 이 모든 장치는 한 번에 만들어지지 않았다. 사고가 날 때마다 한 겹씩 덧댄 것이다. 보고가 한쪽으로만 새서, 같은 일을 두 번 시킬 뻔해서, 한 대가 메모리를 다 먹어서 — 그런 사고 하나하나가 규칙이 됐고, 규칙이 인프라가 됐다. 함대는 설계도가 아니라 흉터의 누적에 가깝다.
그래도 지금은, 다섯 대가 제법 한 팀처럼 일한다. 혼자 시작한 일이 어느새 팀의 모양을 갖춘 걸 보면, 가끔은 좀 신기하다.
이 글은 5노드 AI 에이전트 함대의 자동·병렬 운영 인프라를 일반 독자용으로 풀어쓴 에피소드입니다. 개별 사고의 상세는 ep18·19·22·24·28·30 등에서 다뤘습니다.