기존엔 텔레그램에 자작 Claude 원격 프로그램(cc-telegram, 봇 채팅으로 Claude 세션을 원격 제어하던 사이드 프로젝트)을 사용하다 체계적인 관리를 위해 Asana 기반으로 방법을 바꾸고 한 달 정도 지남.
텔레그램 방식은 작업 단위 추적, 스레드별 히스토리 검색, 동시 진행 중인 작업 시각화, 리뷰 단계 분리가 어려웠음. 칸반보드로 옮기니 이 네 가지가 한 번에 해결돼서 현재 사용 중인 방법을 공유함.
다른 칸반보드 앱도 MCP나 CLI, API 등으로 관리가 가능하면 비슷한 구성으로 옮길 수 있을 듯.
우리 팀 같은 경우 디자인/FE 쪽은 AI 최적화가 아직 힘들어서 사람 손으로 진행함. 클로드의 디자인 생성 기능, 구글 Stitch, pencil.dev 등 여러 툴을 테스트해봤는데, 시각 일관성·디자인 토큰 매핑·세부 마감 측면에서 자동화 파이프라인에 그대로 끼우긴 부족함. 방법을 아예 바꿔야 자동화가 가능해질 것 같아서, 아직은 시기상조인 듯.
전체 흐름 한눈에 보기
[Human] 기획 todo
↓ (담당자=AI 지정)
[AI] 기획 진행중
↓
[Human] 기획 리뷰 ←→ [AI] 수정 루프
↓
[Human] 디자인 todo → [Human] 디자인 진행중 → [Human] 디자인 리뷰
↓
[Human] 개발 todo
↓ (담당자=AI 지정)
[AI] 개발 진행중
↓
[Human] 개발 리뷰 ←→ [AI] 수정 루프
↓
완료 / 보류
핵심은 두 가지임.
- AI 전용 Asana 계정을 담당자로 지정하면 크론봇이 그 티켓을 자동으로 픽업함. 담당자가 사람으로 돌아오는 순간 AI는 손을 뗌.
- 휴먼 리뷰 단계를 워크플로우 안에 명시적으로 박아둠. 자동화는 todo→진행중 구간만, 리뷰 게이트는 항상 사람이 닫음.
슬랙 설정
알림 용도가 전부라서 앱 만들고 필요한 권한 생성해서 토큰 받으면 끝.
- 섹션 이동, 리뷰어 호출, 배포 완료 같은 이벤트만 슬랙 채널로 푸시
- 모바일에서 즉시 확인용으로만 사용 (작성/수정은 항상 Asana에서)
Asana 설정
- 칸반보드를 기본으로 사용
- AI 계정과 사람 계정 분리 — 권한 분리, 감사 로그 분리, 책임 추적 모두를 위해 가장 중요한 항목
- 사용자 지정 필드(Custom Field) 로 우선순위 필드 추가
- 사용자 지정 필드로 기획 리뷰어 / 디자인 리뷰어 / 개발 리뷰어를 사용자 타입 필드로 지정
참고: Asana의 사용자 지정 필드는 Starter 이상 유료 플랜 기능임. 무료(Personal) 플랜이면 태그(Tab+T)로 우선순위를, 설명란 상단 컨벤션이나 멘션으로 리뷰어를 대체할 수 있음. 또한 Personal 플랜은 협업 인원수 제한이 있어 AI 전용 좌석을 추가하면 한도에 먼저 닿을 수 있음 — 플랜 비용을 미리 확인할 것.
섹션 설정
총 11개 섹션으로 나눴음. 필요에 따라 줄여도 됨. 핵심은 휴먼 리뷰 게이트와 진행 중 작업의 자동 루프.
1) 기획 todo [인간]
- 사람이 설명을 최대한 자세히 작성
- 모든 내용 기입 후 담당자를 AI로 지정
- 크론봇이 내용 확인 후 보강 필요/사용자 결정 필요 항목을 댓글로 남기고 기획 리뷰어 멘션
2) 기획 진행중 [AI]
- 크론봇이 기획 todo 중 본인 담당으로 지정된 티켓을 읽어 자동으로 진행중으로 이동
- 리서치 — Claude·Codex·Gemini를 병렬로 호출해 각자 답을 받고 교차 검증
- 역할은 느슨하게 분담: Claude는 추론·초안, Codex는 구현 가능성·코드 영향도, Gemini는 외부 자료 리서치·대안 검토
- 세 결과 중 충돌이 있으면 댓글로 정리해 사람 판단을 요청
- 계획 수립 — Claude가 작성하고 Codex·Gemini가 리뷰
- 크론봇이 확정된 계획을 하위 태스크로 잘게 분해해 작성
3) 기획 리뷰 [인간]
- AI 기획 완료 시 자동으로 이 섹션으로 이동 + 리뷰어 멘션
- 사람이 내용을 검토하고 수정 필요 시 댓글에 상세히 적은 뒤 다시 AI 호출
- 수정 완료 시 하위 태스크 생성자(=AI 계정)를 다시 멘션해 재작업 — 최종 합의까지 반복
- 최종 통과 시 리뷰어가 디자인 todo 또는 개발 todo로 카드 이동
4) 디자인 todo [인간]
- 사람 진행
5) 디자인 진행중 [인간]
- 사람 진행
6) 디자인 리뷰 [인간]
- 사람 진행
- 완료 시 개발 todo로 카드 이동
7) 개발 todo [인간]
- 기획 리뷰 또는 디자인 리뷰가 완료된 카드가 흘러옴
- 크론봇이 내용 확인 후 보강/결정 필요 사항을 댓글로 남기고 개발 리뷰어 멘션
8) 개발 진행중 [AI]
- 크론봇이 본인 담당 티켓을 자동 픽업
- 구현 — Claude Code가 메인, Codex/Gemini는 코드 리뷰 보조
- 작업 단위는 가능한 한 작게 — PR 단위로 분리해 하위 티켓 생성
- 테스트 코드 작성과 통과 확인까지 AI가 수행
- 진행 상황은 댓글로 자동 업데이트(커밋 해시, PR 링크 등)
- 테스트/빌드 실패 또는 PR 충돌이 일정 횟수 이상 반복되면 자동으로 보류 또는 사람 호출 (재시도 한도와 호출 조건은 별도 규칙으로 정해둠)
9) 개발 리뷰 [인간]
- AI 개발 완료 시 자동으로 이 섹션으로 이동 + 리뷰어 멘션
- 사람이 코드를 검토하고 수정 필요 시 하위 태스크로 상세히 작성해 AI에게 배정
- 수정 완료 시 하위 태스크 생성자를 다시 멘션 — 최종 합의까지 반복
- 최종 통과 시 리뷰어가 카드를 완료로 이동
10) 완료 [인간/Auto]
- 모든 리뷰가 끝나고 배포까지 완료된 카드들이 모이는 섹션
- 주기적으로 아카이브해 보드 정리
11) 보류 [Any]
- 우선순위가 밀리거나 외부 의존성으로 진행이 막힌 카드
- 어느 단계에서든 이동 가능
- 보류 사유는 댓글에 명시
- 재개 시 원래 있던 섹션으로 되돌림
크론봇 설정
크론봇은 자체 개발한 백그라운드 스케줄러 프로그램임. Asana MCP를 직접 호출해 본인 담당 티켓을 폴링하고, 필요할 때 Claude/Codex/Gemini CLI를 spawn 하는 얇은 데몬.
티켓 관리 방식
- 빠른 응답을 위해 Claude Code를 거치지 않고 크론봇 자체가 Asana MCP에 직접 붙어 티켓을 관리(읽기/쓰기 도구 모두 사용)
- Asana MCP 엔드포인트:
https://mcp.asana.com/v2/mcp(Streamable HTTP, v2)- 구버전 SSE 엔드포인트는 별개이며 종료 일정이 공지돼 있으니 v2를 사용할 것
- 게시 시점에 공식 문서로 한 번 더 확인 권장: https://developers.asana.com/docs/using-asanas-mcp-server
- 권한 분리를 위해 AI 전용 Asana 계정을 따로 발급받아 OAuth 연동
- 토큰은 OS 키체인 또는 암호화된 secret store에 보관
- AI 계정의 프로젝트 접근 범위를 최소한으로(필요한 보드만) 좁힘
- 크론봇 프롬프트에 "본인 담당으로 지정된 태스크만 읽는다"를 명시
- 태스크를 읽을 때 함께 가져오는 항목들:
- 제목, 설명, 하위 태스크 전체
- 댓글 스레드(리뷰어 피드백 반영용)
- 첨부 파일(기획서, 레퍼런스 등)
- 사용자 지정 필드(기획/디자인/개발 리뷰어 정보)
- 현재 섹션(어느 단계인지 파악)
- 한 번에 여러 티켓 처리 시 우선순위 필드 기준으로 정렬
- 해야 할 일 / 하고 있는 일 큐는 JSON으로 관리(동시 실행 방지)
- 키는
task_gid, 값은{owner_pid, started_at, heartbeat_at} - lockfile + 원자적 rename으로 write
- heartbeat이 일정 시간 끊긴 항목은 stale로 보고 재진입
- 키는
크론 동작 방식
- 크론봇은 watchdog 모드로 상시 동작
- 티켓 확인 폴링 주기는 1분
- Asana API/MCP rate limit 이슈가 있으니 변경분 위주 조회 + 429 응답 시 Retry-After/exponential backoff 처리 권장
- 진행 중 티켓의 세션 활성 여부를 확인 — 죽었거나 미완료 종료라면 동일 티켓에 대해 재진입 루프 진행
프로젝트별 크론봇 설정
- 프로젝트 디렉터리에서 크론봇을 실행하고 Asana 프로젝트명을 입력
- 해당 프로젝트의
.cronbot/폴더에 설정이 저장됨
처음에는 크론봇 안에 실행 하네스(에이전트, 스킬 등등)까지 묶어 두었다가, 프로젝트별로 분리하는 게 낫다고 판단해 떼어냄. 성격이 다른 여러 프로젝트에 공용 하네스를 강제하면 결국 어딘가에서 깨짐. 유명한 오케스트레이션 툴들도 아직 이 부분을 깔끔하게 해결한 것은 못 봤음.
한 달 써본 장점
- 사람이 일하던 칸반 흐름을 그대로 유지하면서 전체 프로젝트가 굴러감 — 새 사람이 합류해도 보드만 보면 됨
- 작업 히스토리가 댓글·하위 태스크·필드 변경 로그로 체계적으로 남아 사후 분석이 쉬움
- 세션이 중단되거나 미완료 종료돼도 크론봇 watchdog이 다시 집어 듦 — 별도의 루프 보조 플러그인(예: 자체 ralph-loop류 무한 루프 도우미) 없이도 복구가 됨
한 달 써본 단점 / 한계
- 모바일 Asana 앱은 티켓 관리(특히 사용자 지정 필드 편집, 하위 태스크 정렬)가 다소 아쉬움 — 댓글 확인은 무난
- 기획 작성 시 그냥 한글로 코딩하는 느낌이 남
- 디자인/FE 단계는 여전히 사람 의존 — 전체 사이클의 병목이 이쪽으로 이동함
- 직접 코딩할때보다 확실히 AI 피로감이 더 많이 올라감
위 내용을 참고해 설정하면 좀 더 체계적인 오케스트레이션 관리가 가능함. 크론봇은 좀 더 다듬어서 따로 공유 드릴 예정.
'TIP > AI' 카테고리의 다른 글
| [Claude] Agents View - 여러 에이전트를 관리하는 기능 추가 (0) | 2026.05.13 |
|---|---|
| [Claude Code] Codex 플러그인 ~리뷰머신~ (1) | 2026.04.21 |
| [Codex] Mac에서 권한 허가 없이 실행 (0) | 2026.04.21 |
| Claude Cowork Dispatch — 폰으로 집 컴퓨터에 일 시키는 기능 (1) | 2026.04.14 |
| Figma 대체 오픈소스? OpenPencil 가이드 (1) | 2026.03.26 |