9월 10일부터 10월 10일까지 30일 동안, Claude Code의 정기 실행(스케줄링 태스크)에 개인 사업의 영업·제작·발신을 맡기는 실험을 했습니다. 매출 이야기는 아닙니다. 결과는 제안서 255건, 답장 3건, 계약 2건(합계 8,500엔), 상품 판매액 0엔입니다.
이 글에 적는 것은 시스템입니다. 사람이 자고 있어도 정기 실행이 계속 움직이고, 세상에 나갈 버튼만 사람이 누릅니다. 그 형태가 30일 동안 부서졌다 고쳐지기를 반복했습니다. 마지막에 작동했던 정기 실행은 14가지, 사람이 읽는 파일은 1개, 기록한 사고는 45건입니다. 숫자는 모두 실측이며, 기록이 없는 것은 '미기록'이라고 적습니다.
무엇을 맡겼나
정기 실행은 크게 4가지 업무로 나뉩니다.
| 업무 | 건수 | 내용 |
|---|
| 모집 수집 및 제안 초안 작성 | 4 | 매일 아침 전체 건 수집, 매시간 신규 순회, 30분 간격 메일 감시, 다음 날 아침 게시판 수정 |
| ... | | |
사람이 가진 것은 아침에 게시판(사람이 읽는 유일한 파일)을 위에서부터 읽고 [x] | | |
| 를 붙이는 것과, 밤에 일보에 숫자를 쓰는 것입니다. 전송·공개·지원·구매·로그인 버튼은 모두 사람이 누릅니다. AI는 직전 초안까지입니다. | | |
부품은 4가지
- 게시판: Markdown 파일 1개. 위에서 '첫 매출', '오늘 순서(사람)', '결정 사항(답장 주세요)', 'AI가 한 일', '⚠ 자동 처리 보고' 순서로 작성됩니다. 사람은 이 1개만 읽습니다 -
- 지시서: 정기 실행 1개당 Markdown 파일 1개. AI는 이것만 읽고 움직입니다. 짧을수록 좋습니다. 가장 짧은 것은 9줄입니다 -
- 장부: JSON Lines. 정기 실행이 '시작·종료·대기·실패'를 한 줄씩 적습니다. 30일 동안 3,151줄 -
- 건별 스토어: JSON Lines. 모은 모집 건 3,351개의 상태(보류·전송 완료·답장 있음·계약·입금)
지시서의 형식은 계기·읽을 것·쓸 것·절차·멈출 조건·하지 않을 것·장부의 1줄, 총 7개 절입니다. 효과적이었던 것은 '절차를, 멈춰도 결과물이 남는 순서로 배열'한 것입니다. 기사 2개를 작성하고 나서 2개 모두 공개하는 절차는 중간에 멈추면 2개 모두 초안 상태로 남습니다. 1개씩 '작성 → 검사 → 공개 → 기록'을 닫는 순서로 만든 후, 어중간한 상태에서 멈추는 일이 없어졌습니다.
막힌 부분
45건 중, 시스템과 관련된 것만 6가지만 적겠습니다.
'완료 여부'를 게시판 문구로 판정했던 경우
같은 동영상이 2번 업로드될 뻔한 적이 있습니다. 정기 실행이 '오늘 분은 완료했는지'를 게시판에 쓰인 글(전날의 줄이나 예정 지시)로 판단하고 있었기 때문입니다. 수동으로 먼저 게시한 날, 게시판에는 아직 '예정'이라고 쓰여 있어 정기 실행이 다시 하려고 했습니다.
수습 방법은 판정 근거를 '대상일 완료 기록(URL이 붙은 1줄)'만으로 한정하는 것이었습니다. 작은 Node 스크립트가 기록 파일에서 오늘 미완료 건만 todo로 반환합니다. 게시판 문구는 일절 보지 않습니다. '공백'과 '0'을 구분한다는 규칙도 여기서 생겼습니다. 일보의 '사람 개입 시간'이 0분인 날은 미기재로 간주하여, 밤 마무리 작업이 1분으로 멈춘 사고가 별도로 있었습니다.
뒷 탭에서는 동영상이 준비되지 않음
X에 영상 게시물이 '미디어 준비 중' 상태로 멈추는 사고가 3번 연속 발생했습니다. 심야에 접속하여 낮에 멈춥니다. 원인은, 게시하는 탭이 Chrome의 뒤쪽에 있을 경우, 동영상 사전 처리 작업이 시작되지 않았기 때문이었습니다. 낮에는 사람이 Chrome을 사용하므로, 탭이 뒤로 돌아갑니다.
브라우저를 자동 조작하는 업무는, 화면에 보이지 않는 전제(뒷 탭, 최초 허용 대기, 창 너비, 로그인 화면)와 현실이 다르면 입력한 글자가 깨지거나, 대화 상자가 열리지 않습니다. 규칙은 '전제와 다르다면, 아무것도 입력하지 않고 ⚠ 에 1줄을 써서 종료'입니다. 오게시보다 미게시가 더 저렴합니다. 결국 X와 Instagram의 브라우저 자동 게시물은 5주차에 중단했습니다. 규정 면에서도 위험하기 때문입니다(이 글도, Zenn에는 사람의 손으로 올리고 있습니다).
두 개의 AI가 같은 작업 트리를 병행했을 때
구현 담당과 심사 담당의 Claude Code를 같은 git 작업 트리에서 돌렸을 때, 심사 담당이 git status의 오염을 자신의 탓으로 오해하여 git restore를 입력했고, 구현 담당의 커밋되지 않은 변경 사항이 사라졌습니다.
이후로, 심사 담당은 git show와 git diff와 git log
사용하지 않고, 병행 작업은 다른 worktree에서 진행합니다. 또 하나는 어떤 정기 실행도 git add -A을 금지하고 명시 경로로 커밋합니다. 다른 정기 실행이 같은 트리에 중간 변경 사항을 가지고 있기 때문입니다.
가짜 테스트가 진짜 거절 방식을 따르지 않았다
테스트는 통과했지만, 전화번호의 맨 앞 0이 사라지고 동시 업데이트 시간에서 초가 빠졌습니다. 시험용 가짜 스프레드시트가 실제 '문자를 숫자로 변환하는' 동작을 하지 않았기 때문입니다. 다른 주에도 달력 ID가 초기값 그대로여서 보기 전용 사용자에게 편집 버튼이 나타나는 등, 8가지 항목이 실제 환경에서 발견되었습니다.
AI가 작성한 테스트는 AI가 상상한 상대방에게 통합니다. 진짜가 거절하는 것을 가짜도 거절하도록 유도하고, 실제 환경에서 한 바퀴 돌린 후에 내보냅니다. 이는 AI에 국한된 이야기는 아니지만, AI는 과정을 생략하는 제안을 잘하기 때문에, 절차서에 명시해 두지 않으면 건너뛰어집니다.
숫자를 맞춘 날일수록, 읽지 않았다
제안 초안을 하루에 50개 이상 만든 날, 113개가 모집 상세 내용을 읽지 않고 만들어졌습니다. '예산 100300만 엔' 건에 '21일, 285만 엔으로 대응 가능합니다'라고 적은 초안 지원 화면을 사람이 열어보니, 예산 1,0005,000엔의 상주 인력 모집이었습니다.
양을 맞추는 작업과, 하나하나 읽는 작업은 별개입니다. 22일차에 151개를 되돌아보자, 보낸 시점의 지원 건수 중앙값은 94건이었고, 금액은 예산 상한가 쪽에 치우쳐 있었습니다. 성공한 2건 모두 '게재 직후, 지원 10건 전후, 예산 1만 엔 이하'였습니다. 이 그룹으로 한정했을 때의 회신율은 8.8%였고, 발송 건수의 64%를 차지했던 '혼잡/대형' 그룹은 0/81이었습니다. 문제는 양보다 질에 있다는 것을 숫자가 나오면서 알게 되었습니다.
이용 상한으로 11개가 멈추고, 재개 작업도 멈췄다
28일차에는 주간 이용 상한에 도달했습니다. 중지할 순서는 정해져 있었기 때문에, 남길 5개를 골라 11개를 멈출 때까지는 절차대로였습니다. 다만, 재개용으로 등록했던 일회성 정기 실행이 첫 번째 명령어의 허가 대기 상태에서 작동하지 않아, 결국 사람이 수동으로 재개해야 했습니다.
새로 등록한 정기 실행은 처음 한 번을 사람이 지켜보는 시간에 돌립니다. '절차서를 작성하면 동시에 등록하고, 보고서 작업으로 손을 멈추지 않는다'는 규칙과 맞물려, 등록하는 방식이 멈추는 이유의 절반이었습니다.
30일 동안 남은 규칙들
- '공백(空)'과 '0'을 구분한다
- 가짜 테스트는 진짜 거절 방식을 따르고, 실제 환경에서 한 바퀴 돌린 후에 내보낸다
- 문장의 대체는 단락 전체가 아니라, 첫 문장만 (같은 단락에 다른 약속이 들어있을 경우)
- 양을 맞추는 작업과, 하나하나 읽는 작업은 별개의 업무로 한다
- 화면에 표시되지 않는 전제와 다르다면, 아무것도 입력하지 않고 멈춘다
- 시각(時刻)과 사실은 추정으로 작성하지 않고,
date<br>그리고 git log<br>그리고 원본 파일로 확인한다 - 절차서를 작성하면 동시에 등록한다
- 멈추는 이유를 '규약/권한 판별/이용 상한'의 세 가지로 나누고, 각각의 중지 방법을 미리 정한다
매출 0엔인 30일을 '실패'라고 부를지는 무엇을 측정하느냐에 달려 있습니다. 측정했던 것은, 사람이 자는 동안 AI가 멈추지 않고 움직이는 시간과, 사람이 누르는 장치가 지켜진 횟수였습니다. 이 두 가지는 30일이 끝날 무렵에는 갖춰졌습니다. 판매하는 쪽의 설계는 5주차에 모든 채널을 감사하여 재구성하고 있습니다. 이는 또 다른 글에 쓰겠습니다.
일괄적으로 사용하고 싶은 분께
여기에 적은 판/지시서/장부 양식과, 사고 30건 목록, 초안(판의 골격, 지시서 양식, 일일 보고서 양식, 보내기 전 자체 점검)을 한 권에 모은 절차서를 note에서 판매하고 있습니다. ¥1,980, 구매 시 일회성입니다. https://note.com/suminawa/n/nfd9557fc4a61
같은 시스템을 자사 업무에 구축하는 상담(정기 실행 설계, 승인 범위 설정, 사고 기록 양식)은 https://suminawa.dev/contact 에서 문의 바랍니다.
Discussion