피트니스 헬스장 회원 관리와 운동 프로그램 작성을 Claude Code로 단축하는 실전 절차
탈퇴 조짐 회원 관리와 운동 프로그램 작성을 Claude Code와 생성 AI로 단축. 프롬프트 템플릿·체크리스트·검증 스크립트가 포함된 실전 가이드.
금요일 밤 10시. 마지막 회원을 배웅하고 프런트 조명을 절반쯤 끈 뒤에도 저는 여전히 컴퓨터 앞에 앉아 있었습니다. 다음 주에 보낼 관리 연락이 아직 12명분 남아 있었거든요. A 회원은 지난달부터 방문이 줄었고, B 회원은 가입한 지 2주가 됐는데 예약이 한 번도 잡히지 않았습니다. 한 명씩 차트를 열어 지난번 프로그램을 확인하고, “요즘 별일 없으세요?” 같은 무난한 카카오톡을 칩니다. 이걸 매주 하다 보면 운동 지도보다 연락 작업이 더 긴 날이 흔하게 생깁니다.
게다가 관리 문구를 고민하는 사이 집중력이 끊겨서, 정작 중요한 “이 사람은 왜 발길이 뜸해졌는가”를 끝까지 생각하지 못한 채, 템플릿을 살짝 손본 메시지만 보내고 맙니다. 나중에 “결국 그 회원, 탈퇴했네”라고 깨닫습니다. 그 후회, 아마 헬스장을 운영하는 사람이라면 한 번쯤은 겪어봤을 겁니다.
저는 이 “연락 작업의 늪”을 Claude Code와 생성 AI에 꽤 많이 맡겼습니다. 완벽한 자동화는 아닙니다. 하지만 밑준비를 AI에 시키고 사람은 판단만 하는 형태로 바꿨더니, 매주의 사무 작업이 체감상 절반 이하로 줄었습니다. 오늘은 그 방법을, 복붙으로 쓸 수 있는 템플릿과 함께 정리해 둡니다.
핵심 요약
- 회원 관리는 “문장을 쓰는 시간”보다 “누구에게 무엇을 말할지 정하는 시간”이 본체입니다. AI에는 밑준비를 맡기고, 보낼지 말지 판단은 사람이 합니다.
- 탈퇴 조짐이 있는 회원 추출, 관리 문구 초안, 운동 프로그램 초안, 이 세 가지는 AI에 잘 맞습니다.
- 그대로 쓸 수 있는 프롬프트 템플릿과, 회원 데이터를 안전하게 다루기 위한 검증 스크립트를 넣어 뒀습니다.
- 개인정보는 실명·연락처를 AI에 넘기지 않는 설계로 합니다. 익명 ID만으로 돌립니다.
- 작은 헬스장이라도 주당 3~5시간의 사무 절감은 현실적인 선입니다.
먼저 독자상과 지금의 업무 흐름을 정리한다
이 글이 도움이 되는 건 예를 들어 이런 분입니다. 회원 50~300명 규모의 중소 헬스장이나 PT 스튜디오 오너, 또는 현장의 트레이너. 전담 사무 직원이 없거나, 있어도 1명. 모객은 그럭저럭 되는데 들어온 회원이 3개월 안에 조용히 떠나갑니다. 그 대책을 세우고 싶지만 매일의 지도로 손이 모자랍니다.
지금의 관리 업무를 분해하면 대체로 이 순서로 돌아갑니다.
- 방문 이력이나 예약 시스템을 열어 최근에 안 온 회원을 어림짐작으로 찾는다
- 그 사람의 차트·지난번 프로그램·목표를 떠올린다
- 카카오톡이나 전용 앱으로 관리 문구를 고민해서 보낸다
- 답장이 오면 다음 예약으로 이어간다
- 다음 주 운동 프로그램을 한 명씩 짠다
문제는 1에서 3이 “매번 처음부터 수작업”이라는 점입니다. 여기서 가장 자주 생기는 되돌림이 “안 온 사람을 놓친다”와 “프로그램을 짠 뒤에 회원의 컨디션·목표 변경을 듣고 다시 만든다” 두 가지입니다. 앞쪽은 매출에 직결되는데도 뒤로 밀리기 쉽습니다.
활용 사례 1: 탈퇴 조짐 회원을 매주 가려낸다
첫 수는 “누구를 관리해야 하는가”의 목록화입니다. 여기는 판단 재료를 기계적으로 나열하는 작업이라 AI에 잘 맞습니다.
예약 시스템에서 CSV를 내보낼 수 있다면, 방문일·가입일·최근 예약 유무를 익명 ID로 넘겨서 위험도 순으로 정렬하게 합니다. 실명은 넘기지 않습니다. 회원번호나 해시화한 ID만으로 충분합니다.
아래 체크리스트를 만족하는 회원을 “관리 필요”로 골라내게 합니다.
- 최근 14일간 방문 없음 (주 2회 가정 회원)
- 가입 30일 이내인데 방문 2회 이하
- 지난 관리 이후 답장도 방문도 없음
- 목표 달성 기한 1개월 전을 넘김
AI에 맡기는 건 여기까지. “이 사람에게 무엇을 말할까”, “애초에 연락할까”는 사람이 정합니다. 예를 들어 “지난주 부상 얘기를 들었으니 지금은 건드리지 말자” 같은 현장의 맥락은 데이터에 나오지 않습니다. 그 부분을 사람이 챙깁니다.
활용 사례 2: 관리 문구 초안을 회원별로 준비한다
목록이 만들어지면 다음은 문안입니다. 여기서 AI가 위력을 발휘합니다. 다만 보낼 문장을 그대로 자동 발송하지는 않습니다. 초안을 만들게 하고, 사람이 3초 만에 고친다. 이게 딱 적당한 균형이었습니다.
회원 유형별로 톤을 바꾼 초안을 나열하게 하면 훑어보는 속도가 빨라집니다.
| 회원 유형 | 상황 | 문안의 방향성 |
|---|---|---|
| 가입 직후·저빈도 | 2주간 방문 없음 | 불안을 줄인다. 다음번 작은 목표 제시 |
| 권태기 | 방문이 월 2회로 감소 | 성과 되돌아보기. 정체기 설명 |
| 목표 달성 임박 | 한 걸음 남음 | 달성 후의 다음 목표를 함께 그린다 |
| 오랜만 연락 | 1개월 이상 공백 | 탓하지 않는다. 재개의 문턱을 낮춘다 |
이 유형 구분을 프롬프트에 넣으면 AI가 문안을 단번에 나눠 씁니다.
활용 사례 3: 운동 프로그램 초안을 만든다
세 번째는 프로그램 작성입니다. 회원의 목표·현재 상태·쓸 수 있는 기구·지난번 부하를 넘기면, AI가 주 단위 초안을 돌려줍니다.
여기서 강조하고 싶은 건 AI가 내놓는 게 “초안”이라는 점입니다. 가동 범위 제한, 지병, 당일 컨디션, 자세 버릇. 이런 안전에 직결되는 부분은 반드시 트레이너가 덮어씁니다. AI에 맡기는 건 종목 조합·세트 수 기준·지난번에서의 점진 초안까지. 최종적으로 “이 사람에게 이 무게를 들게 해도 되는가”를 정하는 건 사람입니다.
사람이 반드시 판단하는 범위를 분명히 선 긋습니다.
- 기왕력·통증 부위와 관련된 종목의 가부
- 고중량·고강도를 허용할지 여부
- 당일 컨디션을 보고 프로그램 교체
- 식사·보충제 개별 조언 (의료에 가까운 영역은 특히 신중하게)
복붙으로 쓸 수 있는 프롬프트 템플릿
실제로 제가 쓰고 있는 템플릿입니다. 회원 데이터는 익명 ID만으로 하고, 실명이나 연락처는 넣지 않습니다.
당신은 중소 피트니스 헬스장의 관리 담당 어시스턴트입니다.
다음 회원 데이터(익명 ID·방문 이력·목표만)를 읽고,
1) 관리 필요 회원을 위험도 높은 순으로 정렬한다
2) 각 회원에게, 탓하지 않고 다음번의 작은 목표를 담은 카카오톡 초안을 1안씩 만든다
- 120자 이내, 이모지는 1개까지, 존댓말
- 가입 직후/권태기/오랜만, 중 어느 유형인지 명기
3) 트레이너가 확인해야 할 주의점을 1줄로 덧붙인다
출력은 표 형식. 실명·전화·주소는 출력하지 않는다.
데이터:
{여기에 익명 CSV를 붙여넣기}
프로그램용은 이쪽입니다.
당신은 퍼스널 트레이너의 보조역입니다.
회원의 목표·현재 상태·쓸 수 있는 기구·지난번 프로그램을 읽고,
이번 주 3회분 프로그램의 초안을 만들어 주세요.
- 종목명·기준 세트 수·지난번에서의 점진 안
- 안전상 트레이너가 확인해야 할 점을 매일 1줄로 명기
- 기왕력에 닿는 종목은 "확인 필요"라고 반드시 표시한다
출력은 표. 최종 판단은 트레이너가 한다는 전제로 작성한다.
회원 데이터:
{여기에 익명 데이터를 붙여넣기}
개인정보를 지키는 검증 스크립트
회원 데이터를 AI에 넘기기 전에, 실명·전화·이메일이 섞여 있지 않은지 기계로 검사합니다. 사람의 육안 확인은 반드시 새기 마련이라, 여기는 문지기를 둡니다. Node.js로 동작하는 작은 검증 스크립트입니다.
import { readFile } from "node:fs/promises";
// 넘기는 CSV에 개인정보가 섞여 있지 않은지 기계로 검사하는 문지기
const text = await readFile(process.argv[2] || "members.csv", "utf8");
const rules = [
{ name: "전화번호", re: /0\d{1,4}-?\d{1,4}-?\d{3,4}/g },
{ name: "이메일", re: /[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}/g },
{ name: "이름 컬럼", re: /(성명|이름|풀네임|name)\s*[::,]/gi },
];
let hit = 0;
for (const rule of rules) {
const found = text.match(rule.re);
if (found) {
hit += found.length;
console.log(`NG: ${rule.name}(으)로 보이는 값을 ${found.length}건 검출`);
}
}
if (hit === 0) {
console.log("OK: 개인정보로 보이는 값은 없습니다. 익명 ID 그대로 넘길 수 있습니다.");
process.exit(0);
} else {
console.log("--- AI에 넘기기 전에 해당 열을 삭제하세요 ---");
process.exit(1);
}
실행은 이것뿐입니다.
node check-pii.mjs members.csv
NG가 나오면 그 열을 지우고 나서 넘긴다. OK가 나올 때까지 AI에 넘기지 않는다, 라는 운용으로 하면 무심코 실명을 붙여넣는 사고가 사라집니다. Claude Code에 “이 스크립트를 폴더 안 CSV 전부에 돌려줘”라고 부탁하면, 내보낼 때마다 자동으로 걸 수 있습니다. 기본적인 시작법은 Claude Code 시작 가이드에, 프로젝트 고유의 규칙을 기억시키는 방법은 CLAUDE.md 베스트 프랙티스에 정리해 두었습니다.
도입 전과 후로 무엇이 달라졌나
숫자로 쓰면 와닿기 쉬우니, 제 손안의 어림셈을 둡니다. 회원 120명 규모의 헬스장에서 주간 관리에 쓰던 시간입니다.
| 작업 | 도입 전 | 도입 후 |
|---|---|---|
| 관리 필요 회원 가려내기 | 약 60분 | 약 10분 |
| 관리 문구 작성 (12명분) | 약 90분 | 약 25분 |
| 프로그램 초안 작성 (10명분) | 약 120분 | 약 40분 |
| 합계 (주당) | 약 4.5시간 | 약 1.25시간 |
주 3시간 남짓의 절감입니다. 시급 환산으로 월 1만~2만 원어치, 무엇보다 “지도에 머리를 쓸 수 있는 시간”이 돌아온 감각이 더 큽니다. 프롬프트 정밀도를 높이는 요령은 프롬프트 엔지니어링 응용이 참고가 됩니다. AI에 익숙하지 않은 분은 먼저 비엔지니어를 위한 Claude Code 입문부터 만져 보면 들어가기 쉬울 겁니다.
ROI 기준으로, 월 1만 원 안팎의 도구 비용이라면 관리 강화로 월에 회원 1명의 탈퇴를 막을 수 있으면 여유 있게 본전을 뽑습니다. 탈퇴율 숫자는 한국 통계청 공식 데이터처럼 공적 데이터도 참고하면서, 자기 매장의 실수치로 재는 것이 확실합니다.
자주 묻는 질문
Q. AI가 쓴 문장을 그대로 보내도 괜찮나요? 그만두는 게 좋습니다. 초안으로 쓰고, 보내기 전에 반드시 사람이 읽습니다. 회원의 이름이나 최근 있었던 일을 한마디 더하기만 해도 기계 같은 느낌은 사라집니다. 발송 자체를 자동화하지 않는 것이 신뢰를 깨지 않는 요령입니다.
Q. 회원의 이름이나 연락처를 AI에 넣어도 되나요? 넣지 마세요. 익명 ID와 방문 이력·목표만으로 돌릴 수 있습니다. 위의 검증 스크립트로 검사하고 나서 넘기는 운용으로 하면 사고는 거의 막힙니다.
Q. 컴퓨터에 서툴러도 쓸 수 있나요? Claude Code는 대화로 지시할 수 있습니다. CSV를 내보내고 프롬프트를 붙여넣는 데까지 할 수 있으면 충분합니다. 첫 작은 한 걸음을 떼는 절차는 입문 글에 있습니다.
Q. 프로그램의 안전성이 걱정됩니다. AI의 출력은 초안까지라고 딱 잘라 두세요. 무게 설정·기왕력에 닿는 종목은 반드시 트레이너가 덮어쓴다는 전제로 운용합니다. 선 긋기를 처음에 정해 두면, AI는 밑준비 담당으로 안전하게 쓸 수 있습니다.
Q. 어떤 작업부터 시작하면 좋나요? 관리 필요 회원 가려내기부터를 추천합니다. 실패해도 누구에게도 폐를 끼치지 않고, 효과가 바로 보이기 때문입니다. 익숙해지면 관리 문구, 마지막에 프로그램, 으로 넓혀 가면 무리가 없습니다.
실제로 시험해 본 결과
제가 확인한 건 “AI에 전부 맡기기”와 “밑준비만 맡기기” 중 어느 쪽이 현장에서 지속되는가였습니다. 결론부터 말하면, 지속된 건 후자였습니다.
처음엔 욕심을 내서 자동 발송까지 짰습니다. 하지만 어떤 회원에게 “지난주 컨디션 어떠세요?”라고 보냈더니, 그 사람은 전날 방문해서 최상이라고 보고한 상태였습니다. 데이터 가져오기가 하루 어긋나 있었던 거죠. 보내고 나서 새파랗게 질렸습니다. 그 뒤로 발송은 반드시 사람이 누르는 형태로 되돌렸습니다.
반대로 검증 스크립트와 가려내기는 대성공이었습니다. 실명 혼입 검사를 끼웠더니, 지금까지 몇 번 아찔했던 “회원 명부를 그대로 붙여넣을 뻔한” 사고가 0이 됐습니다. 관리 필요 가려내기도 감으로 찾던 때보다 놓침이 줄어서, 가입 1개월 이내 회원에 대한 첫 관리가 제때 이뤄지게 됐습니다. 회사 차원에서 본격적으로 운용에 올리고 싶다면, 현장에 맞춘 설계를 함께 다듬는 연수·상담도 활용할 수 있습니다. 우선 개인으로 시험해 보려면 교재나 무료 PDF를 이쪽에 두었습니다. AI는 마법이 아니지만, 밑준비를 맡기고 사람은 판단에 집중한다, 이 분담을 지키기만 해도 매주의 밤 10시는 꽤 일찍 퇴근할 수 있게 됐습니다.
무료 PDF: Claude Code 치트시트
이메일을 입력하면 명령, 리뷰 습관, 안전한 워크플로를 정리한 PDF를 받을 수 있습니다.
개인정보를 안전하게 관리하며 스팸을 보내지 않습니다.
작성자 소개
Masa
Claude Code 실무 워크플로와 팀 도입을 검증하는 엔지니어입니다.
관련 글
제작사가 Claude Code에 고객 사이트를 맡기기 전 권한 체크리스트
고객 사이트를 안전하게 AI로 수정하기 위한 에이전시용 권한과 검증 절차입니다.
SaaS 고객지원 버그 신고를 Claude Code로 재현 절차로 바꾸는 방법
모호한 문의를 재현 단계, 증거, 개발자 전달 메모로 정리하는 지원팀 워크플로입니다.
Obsidian 묵은 메모를 Claude Code 지시서로 바꾸는 10분 루틴
Obsidian에 쌓인 메모가 매번 쓸모없어지는 분께. 사실·결정·미확인으로 분류해 Claude Code가 그대로 움직일 지시서로 바꾸는 아침 10분의 형(型)을 소개합니다.