Claude Code를 모든 프로젝트에 걸쳐 구동시키는 컨트롤 타워 제작기 — 인간과 AI가 가진 권한의 분배
요약
여러 프로젝트에서 병렬적으로 Claude Code를 사용할 때 발생하는 관리 문제를 해결하기 위해 'COMMAND DECK'이라는 로컬 대시보드를 개발했습니다. 이 도구는 모든 프로젝트의 상태와 진행 상황을 한눈에 파악하고, 인간이 판단과 지시에 집중할 수 있도록 설계되었습니다. 핵심은 AI에게 '실행(Execution)'을 위임하고, 인간에게 '판단(Judgment)'과 '공개(Release)'라는 명확한 권한 분배를 시각화하는 데 있습니다.
핵심 포인트
- AI의 역할을 '실행'으로 한정하고, 인간의 역할은 '판단'에 집중하도록 설계했습니다.
- 대시보드는 프로젝트 상태와 진행 상황을 한눈에 파악할 수 있게 합니다.
- 상태 표시를 최소화하여 사용자가 판단 피로도를 느끼지 않도록 했습니다.
- 돌이킬 수 없는 작업은 권한 대신 명확한 '규칙'으로 제한하는 것이 중요합니다.
Claude Code를 10개 가까운 프로젝트에서 병렬적으로 사용하게 되면서 한 가지 어려움을 겪었습니다. 어떤 터미널에서 무엇이 돌아가고 있고, 어떤 것이 나의 답변을 기다리고 있는지 알 수 없다는 것입니다.
그래서 모든 프로젝트의 Claude Code를 한 화면에서 파악하고, 그곳에서 지시도 내릴 수 있는 로컬 대시보드인 'COMMAND DECK'을 만들었습니다. 이 글에서는 만든 것 자체보다 '인간과 AI가 무엇을 어떻게 분담할지'를 화면에 어떻게 구현했는지에 초점을 맞춰 작성하겠습니다.
아직 완성 단계가 아닌 개발 중입니다. 잘 된 설계와 아직 부족한 부분 모두 솔직하게 적겠습니다.
전제: AI를 '부하 직원'으로 다루는 운영 체계
대시보드 이전에, 운영의 전제를 먼저 말씀드리겠습니다. 저는 Claude를 다음과 같은 역할 분담으로 구동하고 있습니다.
| 역할 | 담당 | 업무 내용 |
|---|---|---|
| CEO | 인간(나) | 방침 판단, 우선순위 결정, 공개 버튼 누르기 |
| COO | 메인 Claude | 실무 직접 실행. 집필・구현・분석・배포 |
| 조사부 | 서브 에이전트 | 기존 기사 전체 스캔 등, 대량의 읽기 작업 |
| 감사부 | 서브 에이전트 | COO의 결과물과 규칙의 불일치 감지 (수정은 하지 않음) |
핵심 포인트는 **AI에게 맡기는 것은 '실행'이고, 인간이 가지는 것은 '판단'과 '공개'**라는 선 긋기입니다. 이 선을 어디에 그릴지 정해두지 않으면, AI에게 위임하는 범위를 넓힐수록 불안감만 커집니다.
이 체계를 어떤 순서로 만들었는지는 'AI 조직은 조직도부터 만들면 실패한다'에 정리했습니다.
대시보드는 이 선 긋기를 '가시화'하여, 인간이 판단에 집중할 수 있도록 만든 도구입니다.
제작물: COMMAND DECK
화면은 크게 네 가지 요소로 구성되어 있습니다.
- 프로젝트 카드: 최근 30일 동안 Claude Code를 사용한 프로젝트들을 자동으로 나열하고, 각각의 상태를 표시합니다. -
- 지시 박스: 카드를 선택하고 지시를 작성하면, 해당 폴더에서 백그라운드 Claude Code가 구동됩니다. -
- 스트림: 최근에 진행된 대화 목록 (어떤 프로젝트에서 무엇이 돌아가고 있는지) -
- 대화 뷰: 대화를 별도의 창으로 열어, 나의 지시・Claude의 답변・사용된 도구만을 시간 순서대로 읽습니다.
기술적으로는 Next.js 앱이며, Claude Code의 CLI와 대화 로그를 읽을 뿐입니다. 이 대시보드 자체는 데이터베이스를 가지고 있지 않아, 상태를 전혀 저장하지 않습니다. 그 이유는 나중에 설명하겠습니다.
설계 1: 상태는 네 가지로만 제한하기
카드에 표시할 상태는 네 가지로 줄였습니다.
| 표시 | 의미 | 인간이 할 일 |
|---|---|---|
| 작업 중 | Claude가 구동 중 | |
| 무엇을 하거나 아무것도 하지 않기 | ||
| ... | ||
| 하나의 프로젝트에서 여러 대화가 진행되는 경우도 있습니다. 그럴 때는 카드에 '가장 신경 써야 하는 상태'를 표시하도록 했습니다. 우선순위는 '작업 중 > 답변 대기 > 완료 > 대기'입니다. |
처음에는 세부적인 상태(도구 실행 중, 사고 중 등)도 보여주려고 했지만, 포기했습니다. 인간이 대시보드를 보고 알고 싶은 것은 오직 '내가 움직여야 할 필요가 있는지'뿐이기 때문입니다. 상태를 늘릴수록 보는 사람의 판단 부담만 커져 피로해집니다.
설계 2: AI에게 맡기는 권한과 인간이 가진 권한
가장 고민했던 부분이 여기였습니다. 지시 박스에서 구동되는 Claude Code는 허용 모드를 auto로 설정했습니다. 매번 확인 다이얼로그로 멈추면, 외출 중이나 취침 중에 작업을 던져도 진행되지 않기 때문입니다.
대신, 돌이킬 수 없는 작업은 권한이 아니라 규칙으로 제한하기로 했습니다.
| 작업 | 누가 가질 것인가 | 어떻게 보장하는가 |
|---|---|---|
| 조사・분석・초안 작성 | AI | 자유롭게 해도 좋다 |
| ... | 지시문에 '공개하지 않음/초안까지만'이라고 적는다. 규칙 파일에도 명기 | |
| 결정 사항 기록 | AI가 작성, 인간이 결정 | '결정 대장'에 1결정에 1행으로 남긴다 |
규칙은 각 프로젝트의 CLAUDE.md와 메모리 파일에 작성되어 있으며, 어떤 대화의 Claude도 같은 것을 읽습니다. 즉, 대시보드는 권한을 관리하지 않고, 권한의 선 긋기는 프로젝트 측의 규칙이 담당하는 분담입니다.
설계 3: 대시보드는 상태를 가지지 않는다
COMMAND DECK에서 지시를 내리면 매번 깨끗하고 새로운 대화창이 열립니다. 이전 대화의 기억은 없습니다. 그럼에도 작업이 끊기지 않는 것은 인계 정보(引き継ぎ情報)를 프로젝트 측 파일에 두고 있기 때문입니다.
- '현재 진행 중인 작업'은 1개의 파일(
OPEN.md또는HANDOVER.md)이 유일한 원본이며, '인간이 결정한 것'은 날짜가 찍힌 결정 대장에 남깁니다. - 새로운 대화의 Claude는 처음에 이것들을 읽고 움직입니다.
대시보드 쪽에 상태를 두게 되면, 프로젝트 파일과 대시보드라는 두 곳에 상태가 생겨서 반드시 어느 한쪽이 오래되게 됩니다. 실제로 인계 파일의 제목과 본문이 불일치하여 끝난 작업을 '남은 작업'으로 보고하는 사고가 과거에 몇 번이나 있었습니다.
그래서 대시보드는 Claude Code의 CLI와 대화 로그를 읽기만 하도록 했습니다. 올바른 상태는 항상 프로젝트 쪽에 있다는 형태입니다.
설계 4: 로컬 전용이며, 시작 위치는 서버가 결정한다
브라우저에서 AI에게 작업을 던지는 도구이므로, 방어적인 설계를 단단하게 했습니다.
- 서버는
127.0.0.1에서만 대기합니다. 스마트폰에서도 열 수 없습니다. - API는Host와Origin이 로컬 요청만 통과시키도록 합니다 (다른 사이트에서 몰래 POST되는 것을 방지). - 시작 위치 폴더는 화면에서 받지 않습니다. 서버 측에 있는 프로젝트 목록에서 ID로 가져옵니다. - Claude Code로 '신뢰됨'으로 설정한 폴더에만 지시를 보낼 수 있습니다.
편의성 때문에 외부에서 접근할 수 있게 하고 싶어지지만, 지시를 던지는 화면 자체가 AI에게 들어가는 입구입니다. 외부에 노출하려면 인증 설계부터 다시 생각해야 하므로, 지금은 이 점을 감수하고 있습니다.
어떻게 사용할 계획인가
현재 기능(프로젝트를 선택하여 새로운 지시를 보내기 / 작동 여부 확인하기 / 대화 읽기)으로 가장 먼저 시도하는 사용법은 다음 3가지입니다.
- 아침 일괄 점검: 각 프로젝트에 '인계 파일을 읽고, 오늘 할 일과 막힌 것을 3줄로 보고해. 작업은 아직 하지 마'라고 순차적으로 보냅니다. 완료된 카드에서 대화를 열어 읽습니다. - 정형 작업 투입: 절차를 스킬화한 작업(분석 리포트, 서식 체크 등)은 지시 한 줄로 돌아가므로, 던지고 다른 일을 합니다. - 외출 전에 무거운 작업 투입: 전체 스캔 같은 시간이 오래 걸리는 조사를 던져놓고, 돌아와서 대화 뷰에서 결과를 읽습니다.
목표는 터미널을 여러 개 열었다 갔다 하지 않고 모든 프로젝트의 현황을 몇 분 만에 파악하는 것입니다. 실제로 얼마나 수고가 줄었는지는 당분간 운영해 본 후에 숫자로 적을 생각입니다.
아직 부족한 부분
개발 중이라 부족한 것도 명확합니다. 다음에 추가할 예정인 기능을 우선순위에 따라 나열합니다.
| 순 | 기능 | 부족하면 어떤 점이 불편한가 |
|---|---|---|
| 1 | 후속 지시 (완료된 대화에 대한 추가 지시) | '아까 거 이어서 고쳐줘'를 할 수 없어 결국 터미널로 돌아간다 |
| ... | ||
| 특히 1번이 없으면 '던져놓기' 이상의 사용법이 안 되므로, 여기서부터 손을 댈 것입니다. |
요약
- AI에게 여러 프로젝트를 맡기면, '어디서 무엇이 작동하고, 어느 것이 나를 기다리고 있는지'가 가장 먼저 보이지 않게 됩니다. - 대시보드의 상태는 '인간이 움직여야 하는지 여부'로 4가지에 한정합니다.
- 권한의 경계는 화면이 아니라 프로젝트 측 규칙에 두고, 인간은 판단과 공개만 담당합니다. - 대시보드 자체는 상태를 가지지 않고 읽기 전용으로 합니다. 상태의 원본은 한 곳에만 있습니다.
- 지시를 보낼 수 있는 화면은 AI에게 들어가는 입구이므로, 로컬 전용부터 시작합니다.
AI에게 맡기는 범위를 넓힐수록, 인간에게 필요한 것은 '모든 것을 보는 것'이 아니라 '내가 판단해야 할 부분만 보는 것'이라는 생각이 듭니다. 마찬가지로 Claude Code를 여러 개 돌리고 있는 분들의 참고가 되면 좋겠습니다.
공식 agent view(claude agents)와의 사용법 차이점이나, 상태의 구분 방법/확인 포인트까지 포함한 설계 전체는 'Claude Code로 여러 프로젝트 관리하기 | AI와 인간의 공동 관리 대시보드'에 정리했습니다.
글쓴이에 대하여: 웹 제작 및 SEO 툴 개발을 하는 프리랜서. CodeQuest.work에서 활동 중입니다.
Direbase(디레베이스) — 디렉터도 사용하는 SEO 진단 툴을 공개합니다.
토론

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기