WIO.실전기 AI로 굴리는 1인 브랜드의 기록
← 전체 글 · 인프라 노트 · 연재 2편

AI가 짠 걸 어떻게 믿고, 노트북 한 대로 어떻게 감당하나 — 멀티세션 개발의 품질과 자원 ②

충돌을 막았어도(1편) 두 가지 걱정이 남습니다. "AI가 짠 걸 믿어도 되나?"(품질) 그리고 "이걸 다 노트북 한 대로 감당이 되나?"(자원). 이 글은 그 둘을, 실제로 데인 이야기와 해결책을 짝지어 넘겨드리는 멀티세션 개발기 완결편이에요.

👤 이런 분께 AI가 만든 코드를 실제 운영에 올려야 하는 분, 여러 AI 세션을 한 대의 PC에서 굴리다 성능이 무너진 분.

✅ 이 글(2편·완결)에서 얻는 것
  • AI의 "다 됐어요"를 믿을 수 있게 만드는 교차검증·완료 재정의
  • 노트북 한 대에 세션이 몰릴 때 자원이 질식하는 이유와 청소법
  • 여러 AI를 한 팀처럼 부리는 규율의 완성

🎯 목표 이 편을 끝내면 속도(1편)와 신뢰·지속(2편)이 맞춰져, 1인이 AI 여럿으로 여러 시스템을 안정적으로 굴리는 그림이 완성됩니다.

1편이 "여러 손이 안 부딪히게" 하는 이야기였다면, 2편은 결이 좀 달라요. 그 손들이 만든 결과물을 믿을 수 있나(품질), 그리고 그 손들을 다 한 대의 노트북이 감당하나(자원). 이 두 걱정을 풀어야 비로소 "밤새 돌려도 안심"이 됩니다.

걱정 1 — AI의 "다 됐어요"를 못 믿겠다

무슨 일이 — AI는 가끔 그럴듯하게 틀립니다. 진행률을 실제보다 부풀려 보고하거나, 있지도 않은 파일을 있다고 하거나, 안 돌아가는 코드를 "완료"라고 해요. 더 무서운 건, AI 자기 자신은 그 실수를 잘 못 잡는다는 겁니다. 한 세션에게 "너 이거 진짜 다 했어?"라고 물으면 대개 "네, 완벽합니다"라고 하거든요. 이걸 그대로 믿고 운영에 올리면 사고가 납니다.

🔎 이런 신호면 의심: "완료라는데 실제로 눌러보면 안 됨", "문서·대시보드 숫자가 실제 코드와 안 맞음", "'파일을 수정했다'는데 그 파일이 없음."

🔧 해결 — 만든 AI와 검사하는 AI를 분리(교차검증)

핵심은 "만든 쪽 말고 다른 쪽이 확인한다"예요. 한 세션(예: Claude)이 기능을 만들면, 다른 도구의 세션(예: Codex)에게 넘겨 검사시킵니다. 이때 그냥 "봐줘"가 아니라, 일부러 "흠을 잡아라"라는 태도로 비관적 검토를 시켜요. 예를 들면 이렇게요.

# 검사하는 세션에게 주는 지시(비관적 검토)"이 구현을 의심하는 눈으로 봐줘. - 정말 되는지 실제 파일·동작으로 확인 - '됐다'는 주장과 실제 코드가 어긋나는 곳 - 안 되면 구체적 근거와 함께 반려"

그리고 통과해야 비로소 '완료'로 인정하고, 반려되면 만든 쪽으로 되돌려 고쳐요. 사람도 자기 글의 오타는 못 보지만 남은 잘 보잖아요. AI도 똑같아서, 서로 다른 AI가 서로를 검사하게 한 겁니다. 실제로 이 교차검증에서 "완료라던 기능이 사실 절반만 됐던" 걸 여러 번 걸러냈어요.

서로 다른 AI로 교차검증하는 루프 — 세션 A가 만들고 세션 B가 비관적으로 검토, 통과하면 완료 반려되면 수정
만드는 AI와 검사하는 AI를 분리. 통과해야 완료, 반려되면 되돌려 고칩니다. (이 글도 그렇게 검증받았어요 — 아래에서 다시.)

걱정 2 — '완료'가 사람마다·세션마다 다르다

무슨 일이 — "끝냈어?"라는 질문이 사실 위험해요. AI는 코드를 짜놓기만 하고 "완료"라고 하기 쉽거든요. 그런데 코드가 있어도 아무도 그게 됐는지 모르면(기록이 없으면, 현황판에 안 뜨면) 다른 세션도 운영자도 그 일을 없던 일로 여깁니다. 실제로 "분명 했다는데 장부에 없어서 두 번 한" 일이 있었어요.

🔧 해결 — '완료'의 문턱을 넷으로 올림

완료의 정의를 다시 썼습니다. 아래 넷이 다 돼야 '진짜 완료'예요.

진짜 완료 = ① 코드 작성   # 필요조건일 뿐         + ② 교차검증 통과 # 다른 AI가 확인         + ③ 장부 기록   # 무엇을 했는지 남김         + ④ 현황판 노출  # 운영자·다른 세션이 봄

한 줄로 하면 "장부에 남고 현황판에 보여야 완료." 코드가 아무리 잘 돌아도 기록이 없으면 안 친다는 뜻이죠. 그리고 이걸 사람 기억에 안 맡기려고, 커밋하면 자동으로 장부에 기록되게 훅을 걸어뒀습니다(1편에서 설명한 그 자동 장치예요).

완료의 재정의 — 코드 작성 + 교차검증 + 장부 기록 + 현황판 노출이 모두 돼야 진짜 완료
코드만으론 '필요조건'일 뿐. 검증·기록·노출까지 돼야 완료로 칩니다.

걱정 3 — 이걸 다 노트북 한 대가 감당하나 (자원 질식)

무슨 일이 — 여기서부터는 노트북 서버 이야기와 이어집니다. 세션을 여러 개 띄우면 편한데, 그 세션들이 전부 같은 노트북 한 대 위에서 돌아요. 그러다 어느 순간 노트북이 숨을 못 쉽니다. 한참을 "무거운 서비스가 범인인가?" 하고 엉뚱한 데를 뒤졌는데, 진짜 범인은 '동시에 열린 세션 수'였어요.

AI 코딩 도구 하나를 켜면 겉으론 창 하나지만, 속을 열어보면 놀랍니다. 도구 한 개가 프로세스(작은 프로그램 단위)를 십수 개씩 띄우거든요. 화면·언어 엔진·확장 기능이 각각 따로 도는 구조라서요. 이걸 대여섯 개 켜두면 프로세스가 순식간에 수십~백 개가 됩니다. 16GB 노트북에서 메모리는 92%까지 차고, CPU는 100%로 질식했어요. 그러면 그 위에서 도는 서버·자동화까지 다 같이 느려집니다.

🔎 이런 신호면 의심: "특정 작업도 안 하는데 노트북이 계속 뜨겁고 느림", "세션을 몇 개 닫으면 갑자기 쌩쌩해짐", "메모리 사용률이 90%를 넘나든다."

노트북 한 대에 여러 AI 세션이 몰려 메모리·CPU가 질식하는 그림 — 각 세션이 프로세스 십수 개를 띄움
범인은 특정 서비스가 아니라 '동시에 열린 세션 수'. 세션 하나가 프로세스 십수 개를 띄웁니다.

🔧 해결 — '노는 세션만' 골라 끄는 청소 도구

그냥 다 끄면 지금 일하는 세션까지 죽어서 안 됩니다. 그래서 안전하게 노는 것만 골라 끄는 판단 규칙을 만들었어요. 세션 하나하나에 대해 이렇게 물어봅니다.

각 세션마다: 지금 실제로 일하는 중인가?  ── 예 →  🛡️ 보호(안 끔)        └ 아니오 최근 30분간 활동이 있었나?  ── 예 →  🛡️ 보호        └ 아니오(확실히 유휴)                              →  🧹 종료 → 자원 회수

중요한 건 안전 우선이에요. 지금 제가 쓰고 있는 대화이거나, 이 세션이 뭔지 확인이 안 되면 헷갈리는 건 안 끕니다. "확실히 노는 것만 끈다"가 원칙이죠. 그리고 이 청소를 몇 시간마다 자동으로 돌려서, 사람이 깜빡해도 세션 찌꺼기로 노트북이 질식하지 않게 했어요. 이 도구 하나로 CPU가 다시 절반 아래로 내려갔습니다.

노는 세션만 골라 정리하는 판단 흐름 — 작업 중이면 보호, 30분 이상 유휴면 종료, 애매하면 살려둠
"확실히 노는 것만 끈다, 애매하면 살려둔다." 이 안전 원칙이 핵심입니다.

걱정 4 — 겉은 멀쩡한데 속은 죽은 '좀비 세션'

무슨 일이 — 세션이 화면상으로는 살아 있는데 실제로는 응답을 안 하는 경우가 있어요(1편 서버 편의 '좀비 로그인'과 똑 닮았죠). 이걸 살아 있다고 착각하면, 그 세션에 일을 맡겨두고 하염없이 기다리게 됩니다.

🔧 해결 — '실제 활동'으로 판정 + 자동 청소에 포함

세션이 살아 있는지를 겉모습이 아니라 실제 활동으로 판정하게 했어요. 구체적으로는 그 세션이 최근에 진짜로 파일을 건드렸는지(기록의 마지막 시각)를 봅니다. 한참 전이 마지막이면 겉이 초록불이어도 정리 대상이에요. 위 청소 도구가 이 좀비들도 같이 걷어냅니다. "겉이 초록불이어도 실제로 안 움직이면 정리" — 서버 편에서 배운 교훈을 세션 관리에도 그대로 적용한 거죠.

결국 남는 건 — 사람은 지휘자, AI는 연주자

1편의 충돌 방지(속도)와 2편의 신뢰·자원(지속)을 합치면, 그림이 하나로 모여요. 여러 AI 세션은 각자 악기를 연주하는 연주자이고, 저는 그들이 안 부딪히고, 틀리면 서로 잡아주고, 무대(노트북)가 안 무너지게 조율하는 지휘자입니다. 규칙을 정리하면 이렇습니다.

여러 AI를 한 팀으로 — 규율 총정리
속도(1편)공용 장부 점유(claim) · 내 것만 커밋(git add --) · 레인 소유 · 미분류 0
신뢰(2편)다른 AI로 비관적 교차검증 · '완료'는 검증+기록+노출까지
지속(2편)노는 세션만 자동 청소 · 실제 활동으로 좀비 판정
공통사람은 지휘자 — 직접 코딩보다 '규율과 판정'을 설계

솔직히 아직 완성형은 아니에요. 교차검증도 사람이 최종 확인해야 할 때가 많고, 세션이 늘수록 노트북은 또 빠듯해집니다. 그래도 "여러 AI를 감으로 부리다 사고 치던" 단계는 확실히 넘었어요. 이제는 규칙이 사고를 대신 막아줍니다.

2부작을 닫으며 — 그리고 고백 하나

마지막으로 고백할 게 있어요. 이 2부작 자체도 우리 규율대로 만들어졌습니다. 제(Claude 세션)가 초안을 쓰고, 공용 장부에 점유를 등록하고, 내 파일만 커밋하고 — 그리고 이 글에 나온 시스템(장부·git 위생·교차검증)은 상당 부분 다른 도구(Codex) 세션이 관리하는 영역이라, 정확한지 Codex에게 교차검증을 요청했어요. 글에서 설명한 그대로, 만든 쪽과 검사하는 쪽을 분리한 거죠.

AI 코딩 도구가 아무리 좋아져도, 여러 개를 동시에 굴리는 순간 필요한 건 '똑똑한 AI'가 아니라 '좋은 규율'이더라고요. 공용 장부, 좁은 커밋, 레인 소유, 교차검증, 완료의 재정의, 세션 청소 — 화려하진 않지만 이것들이 1인을 'AI 팀의 지휘자'로 만들어줬습니다. 다음엔 이 팀이 실제로 하나의 기능을 처음부터 끝까지 만들어내는 과정을 통째로 따라가 볼게요. 여기까지 읽어주셔서 고맙습니다. 배배였습니다.

배배 (BaeBae_WIO)

낮에는 회사원, 밤에는 AI로 1인 브랜드를 굴립니다. 실패담 포함, 직접 겪은 일만 씁니다.

소개 보기 →