출근 전에 기획서가 완성되는 아침 - Claude Code 자율 에이전트 구축기

비개발자 TPM이 Claude Code를 자율 에이전트로 만들어 6개월간 2,000세션을 돌린 이야기
팀스파르타's avatar
Mar 20, 2026
출근 전에 기획서가 완성되는 아침 - Claude Code 자율 에이전트 구축기
💡
팀스파르타에서는 개발자든 비개발자든 AI를 실무에 녹여내는 실험이 끊이지 않아요. 이번에는 비개발자 출신 TPM이 Claude Code를 '자율 에이전트'로 진화시킨 이야기를 가져왔습니다.
출근 전에 기획서 초안이 완성되고, 텔레그램으로 "예/아니요"만 누르면 업무가 돌아가는 세계-어떻게 가능한지 낱낱이 풀어볼게요!

"저 대신 제 클로드가 부지런하면 안 될까요?"

이 질문 하나가 모든 것의 시작이었어요.
팀스파르타 인터널 솔루션 파트에서 TPM으로 일하고 있는 최웅준입니다. 웹 서비스, 자동화, 플러그인 개발까지 동시에 10개 프로젝트를 운영하고 있죠. 비개발자 출신이라 코드를 한 줄 한 줄 짜는 게 본업은 아닌데, 기획부터 리서치, 일정 관리, 개발, QA까지 혼자 감당해야 하는 일이 한두 개가 아니었어요.
💬
"예전엔 '기도 메타'였어요. Claude에 입력하고 결과를 바라는 방식이요."
대화가 길어지면 맥락을 까먹고, 작업이 끝나면 다시 처음부터 설명해야 하고, 여러 프로젝트를 넘나들면 앞뒤가 안 맞는 답이 돌아오고. 모델이 아무리 똑똑해져도 사용하는 방식이 바뀌지 않으면 생산성 향상에는 한계가 있었어요.
그래서 방향을 틀었어요. Claude를 '도구'가 아니라 '자율적으로 움직이는 팀원'으로 만들어보자.
지난 6개월, 1,847개 세션10개 이상의 프로젝트, 227,829줄의 코드 산출물을 쌓으며 찾은 방법을 공유합니다.
notion image

"기도 메타"에서 벗어나려면

기도 메타 (Before)
자율 에이전트 (After)
맥락
매번 처음부터 설명
CLAUDE.md 계층 구조로 자동 로딩
작업 방식
입력 -> 기다리기 -> 복붙
자동 실행 -> 승인만
멀티태스킹
탭 하나에서 순차 작업
3패널 동시 병렬 실행
결과물
운에 좌우
구조화된 일관된 품질
단순히 "잘 물어보기"로는 한계가 있더라고요. Claude를 진짜 부지런하게 만들려면 세 가지 축이 필요했어요.
  1. 똑똑하게 만들기 -- 맥락을 제대로 넣고, 유지하고, 기록하기
  1. 부지런하게 만들기 -- 자율적으로 움직이는 환경 구성
  1. 동시에 돌리기 -- 병렬 실행으로 생산성 곱하기

맥락을 다루는 기술

"맥락을 잘 넣고, 유지하고, 기록하는 것. 이 세 가지가 전부예요."

CLAUDE.md로 프로젝트 기억 심기

Claude Code는 프로젝트 루트의 CLAUDE.md 파일을 세션 시작 시 자동으로 읽어요. 전역(~/.claude/CLAUDE.md)과 프로젝트별(프로젝트/CLAUDE.md)로 계층화되어 있어서, 서버 인프라 같은 공통 지침은 전역에, 프로젝트 고유 스택이나 규칙은 프로젝트별 파일에 적어두면 돼요.
# ~/.claude/CLAUDE.md (전역) - 서버 인프라, DB 스키마, API 엔드포인트, 보안 규칙 # 프로젝트/CLAUDE.md (프로젝트별) - 스택: Next.js + Supabase - 코딩 규칙: 한국어 주석 필수 - 참조 파일: /docs/api-spec.md
추가로 ~/.claude/rules/ 디렉토리에 DB 스키마, API 레퍼런스 같은 상세 문서를 넣어두고, 필요할 때 @db-schema.md처럼 온디맨드로 로딩해요. 매번 전부 로딩하지 않으니 컨텍스트 윈도우를 절약할 수 있어요.

find-ref -- 오픈소스를 내 레퍼런스로

비개발자라 코드 품질 판단이 어려워서 만든 독자적인 해법이에요.
/find-ref라는 커스텀 스킬을 실행하면, Claude가 관련 오픈소스 저장소를 탐색해서 패턴별 장단점을 정리하고 추천까지 해줘요. 예를 들어 "RRF 하이브리드 검색 구현해야 해"라고 하면 관련 오픈소스 3건을 찾아 비교 분석해주는 식이에요. 바닥부터 짜는 게 아니라 검증된 패턴을 조립하는 방식이죠.

세션 관리 원칙

  • 피처 단위 세션 분리: 하나의 기능을 하나의 세션에서 끝까지. claude --resume session_id로 어제 하던 작업을 오늘 그대로 이어감
  • 컨텍스트 70% 초과 시 /compact 실행: 넘치면 품질이 급격히 떨어지기 때문에, compact로 핵심 맥락만 압축 저장
  • 오류 발생 시 rewind로 롤백: 삽질 대신 특정 시점의 코드 + 대화 맥락으로 깔끔하게 되돌림
💡
플랜 피드백 꿀팁 Claude가 작성한 실행 계획(Plan)을 한 줄씩 읽고 주석으로 의견을 달아보세요. "이 부분은 A 방식으로", "여기는 빼줘" 같은 구체적 피드백을 주면 훨씬 정확한 결과를 얻을 수 있어요. 코드를 읽지 못해도 플랜은 읽을 수 있거든요. 업무 시간 중 90%는 이 리뷰에 쓰고 있어요.

잠자는 동안에도 일하는 환경

"자율성을 부여하면, 내가 자는 동안에도 Claude는 일하고 있어요."
여기서부터가 진짜 차별화 포인트예요. Claude Code의 하네스(Harness) — Hooks, Background 실행, Permissions, Cron 스케줄링 — 를 조합해 Claude가 스스로 판단하고 행동하는 환경을 구성했어요.
notion image

슬랙 멘션 → 자동 맥락 파악 → 답변 추천

슬랙에서 @태그가 발생하면 Claude가 즉시 해당 스레드의 맥락을 분석해요. 누가 무엇을 요청했는지, 긴급도는 어떤지, 관련 프로젝트 현황은 어떤지를 정리한 뒤 답변 초안까지 작성해서 텔레그램으로 보내줘요. 사용자는 추천된 답변을 확인하고 "승인/수정/거절"만 선택하면 됩니다.

출근 전 자동 기획서 생성

  1. 매일 아침 7시 30분, 크론 스케줄러가 캘린더, 어제 작업 내역, 밀린 할 일을 파악
  1. Claude가 관련 맥락을 불러와 "오늘 뭐 해줄까요?" 하고 텔레그램으로 작업 제안을 보냄
  1. 출근길 지하철에서 / 아니요 / 추가설명 버튼으로 30초 만에 승인
  1. 승인된 작업의 구현 플랜과 기획서 초안이 자동 생성됨
  1. 출근해서 터미널을 열면 초안이 이미 대기 중 — claude --resume으로 바로 이어서 수정

OpenClaw — Claude Code의 자율 실행 파이프라인

이 모든 자동화의 배관 역할을 하는 것이 OpenClaw이에요.
자택 미니 PC 서버에 설치한 에이전트 오케스트레이터로, Claude Code가 실제 코딩·분석·리서치를 담당하는 "실무자"라면 OpenClaw은 트리거·라우팅·스케줄링·외부 연동을 담당하는 "배관"이에요. 서로의 내부를 모르고, 정해진 인터페이스로 데이터만 주고받는 구조예요.

보안 설계

자율 에이전트에게 권한을 줄수록 보안은 더 중요해져요. 다섯 가지 원칙으로 설계했어요.
  • 네트워크 격리: OpenClaw은 localhost(127.0.0.1)에서만 동작. 외부에서 직접 접근 불가
  • 인증 게이트웨이: Caddy 리버스 프록시 + Bearer 토큰 인증. 토큰 없으면 401
  • 실행 권한 분리: OpenClaw이 직접 웹 검색·API 호출·코드 실행을 하지 않음. 데이터 라우팅만 담당
  • 시크릿 관리: 모든 토큰은 1Password(op:// 참조)로 관리. 코드와 설정 파일에 평문 토큰 0개
  • 침해 격리: 모듈이 분리되어 있어서 한쪽이 뚫려도 다른 쪽 데이터는 격리

한 명이 세 명처럼 일하는 법

"에이전트 하나를 잘 만들었다면, 동시에 여러 개를 돌리세요."
notion image
패널
역할
모드
왼쪽
리서치 / 코드 탐색
읽기 전용
오른쪽
코드 구현 / 수정
쓰기 전용
하단
로그 모니터링
모니터링 전용
.bashrccc() 함수를 만들어 프로젝트 이름만 입력하면 tmux 세션이 자동으로 열려요. cc second-brain을 치면 3패널 tmux 레이아웃이 뜨면서 Claude 3명이 동시에 소환되는 거죠.
cc() { case "$1" in second-brain) dir=~/data/second-brain ;; aistudy) dir=~/projects/aistudy ;; thread-*) dir=~/projects/$1 ;; esac tmux new-session -d "claude" # 리서치 tmux split-window -h "claude" # 코딩 tmux split-window -v "$log" # 모니터 }
두 에이전트가 동시에 같은 파일을 건드리면 충돌이 생기기 때문에, 읽기 전용 패널과 수정 패널을 물리적으로 분리한 게 핵심이에요. 1호에게 "이거 어떻게 돼있어?" 물어보면서 2호에게 "그러면 이렇게 고쳐" — 동시에 진행하는 거예요.
프로젝트 전환은 tmux 탭 전환이면 끝. 15개 이상의 프로젝트가 매핑되어 있고, 각 프로젝트별 Claude가 각자 맥락을 유지해요. iPad에서 SSH(Terminus)로 서버에 접속해 tmux attach하면 어디서든 동일한 환경을 쓸 수 있어요.

이렇게 달라졌어요

notion image

사례 1: 매일 아침 30분 절약

Before: 아침에 출근해서 슬랙·노션·구글드라이브를 돌아다니며 맥락 파악 — 매일 45분 웜업 After: 출근하면 터미널에 기획서와 구현 플랜이 이미 대기 중 — 웜업 5분, 출근하면 바로 실행 단계 돌입

사례 2: /find-ref로 오픈소스 레퍼런스 조립

"하이브리드 검색 구현해야 해"라고 입력하면 /find-ref 스킬이 관련 오픈소스를 탐색해 패턴 분석과 비교 추천까지 자동으로 수행해요. 이전에는 GitHub을 직접 돌아다니며 반나절 걸리던 리서치가 몇 분이면 끝나요.

사례 3: 6개월간의 변화

  • 1,847개 세션, 10개+ 프로젝트, 227,829줄 코드 산출물
  • 기획에 집중하는 구조로 전환 — 실행은 Claude, 판단은 나
  • "기도 메타"에서 탈출해 구조화된 일관된 품질의 산출물 확보

나도 시작하고 싶다면

Step 1: CLAUDE.md부터 만들기

프로젝트 루트에 CLAUDE.md 파일을 만들고 프로젝트 개요, 기술 스택, 규칙을 적어두세요. 이것만으로도 매번 설명하는 시간이 사라져요.

Step 2: 공식 문서 먼저 읽기

"Claude Docs 공식 문서 학습이 가장 큰 도움이 됐어요."
훅, 스킬, 커미션 같은 고급 기능은 공식 문서에 가장 정확하게 설명되어 있어요.

Step 3: 플랜에 주석 달기

코드를 못 읽어도 괜찮아요. Claude가 제시하는 실행 계획(Plan)을 읽고 한 줄씩 피드백하는 것부터 시작하세요. "이 부분은 A 방식으로", "여기는 빼줘" 같은 주석이 결과물 품질을 결정해요.

Step 4: 훅 하나 만들어보기

"세션 끝나면 자동으로 제목 붙여줘" 같은 간단한 훅부터 시도해보세요. Claude Code의 Hooks는 세션 시작(SessionStart), 종료(Stop), 도구 사용 후(PostToolUse) 등 다양한 이벤트에 반응할 수 있어요. 자율성의 시작점이에요.

주의사항

  1. 컨텍스트 70% 넘으면 무조건 /compact: 넘치면 품질이 급격히 떨어져요. 대규모 작업 전에도 사전 실행 권장.
  1. 오류 나면 rewind로 롤백 후 새로 시작: 삽질보다 특정 시점으로 되돌리는 게 빠릅니다. 잘못된 방향으로 계속 밀고 가지 마세요.
  1. 병렬 실행 시 파일 충돌 주의: 읽기 전용 패널과 수정 패널을 물리적으로 분리하세요. 두 에이전트가 같은 파일을 동시에 수정하면 꼬여요.
  1. 자동화 ≠ 방치: AI가 짜주는 코드의 품질은 내가 플랜을 읽는 시간에 비례해요. 리뷰 없이 승인만 누르면 품질이 떨어져요.

마치며

컨텍스트 관리 -> 자율성 부여 -> 다중 병렬 실행. 이 세 단계를 밟으면 AI와 일하는 방식 자체가 달라져요.
모델이 아무리 똑똑해져도 사용하는 방식이 바뀌지 않으면 생산성 향상은 제한적이에요. 하지만 Hooks, Skills, Background 실행으로 하네스를 구성하면 같은 모델로도 생산성 격차가 크게 벌어지죠. 저는 Hooks 약 6~7개, Skills 약 3개를 운용하고 있어요.
"기도 메타"에서 벗어나는 건 어렵지 않아요. CLAUDE.md 하나 만드는 것부터 시작해보세요.
💡
"사내 AI 세미나에서 더 깊은 이야기를 나눠요" 팀스파르타에서는 매주 수요일 AI 세미나를 열고 있어요. 실무에서 AI를 활용하는 생생한 사례를 직접 듣고 질문할 수 있는 자리예요.

글: 인터널 솔루션 파트 TPM 최웅준
정리: AI테크
 
 
 
Share article

팀스파르타 팀블로그