진짜 AI 인재 선별을 위한,
새로운 형태의 채용 잡보드

무엇을 문제로 봤고, 어떻게 판단했는지, AI로 어떻게 수행했는지 — 이 모두가 담긴 새로운 이력서와 문제 정의서를 받으세요.

아래로 ↓

지금의 이력서는,
사람을 가려내지 못합니다.

글도, 경력도, 다 그럴듯합니다.
뽑을 이유도, 떨어뜨릴 이유도 안 보입니다.

성과 문장이
증명을 잃었습니다.

AI가 실행을 대체하면서, 무엇을 만들었는지가 더는 그 사람의 능력을 증명해주지 않게 되었습니다.

누구나 인상적인 산출물을 만들 수 있게 되면, 결과물은 더 이상 역량의 증거가 아니다. 그저 출발점일 뿐이다.

— Samer El Hajjar, 싱가포르국립대 경영대 · AACSB Insights, 2026
이력서에서 발췌

이 성과를 이루기 위해 필요했던 것

예전

    지금

    AI 에이전트와 함께,
    누구나 쉽게 할 수 있다.

    문장은 그대로입니다.
    그 문장이 증명하던 것이 사라졌습니다.

    서류에서 거르지 못하면,
    채용 비용은 폭발적으로 증가합니다.

    1. 01
      안 봐도 될 면접을 봅니다

      서류가 걸렀어야 할 사람을, 면접관의 시간이 거릅니다.

    2. 02
      좋은 사람을 놓칩니다

      설명할 수 없는 탈락 속에 찾던 사람이 있습니다.

    3. 03
      AI 역량은 마지막에야 한 명씩 확인합니다

      불러서 옆에 앉아 직접 시켜보는 방법뿐입니다.

    AI 시대의 이력서는
    바뀌어야 합니다.

    '무엇을 만들었는지'는 기본값입니다.
    그 위의 두 가지가, 인재를 가릅니다.

    “어떤 질문을 던질지 알아내는 것이, 답을 알아내는 것보다 중요해진다”

    — Sam Altman, OpenAI · Re:Thinking, 2025

    “이제 ‘재능’은 풍부하고 쌉니다. 희소한 것은 무엇을 요구할지 아는 것”

    — Ethan Mollick, Wharton · One Useful Thing, 2026

    “AI와 일하는 법 — 질문을 정말 잘하는 사람이 되는 것과 같다”

    — Jensen Huang, NVIDIA · Huge Conversations, 2025

    그래서 '문제 정의서'를
    만들었습니다.

    한 일을 나열하는 대신, 판단 단위로 적습니다.
    판단마다 세 가지가 보입니다.

    1. 01
      현상에서 무엇을 문제로 정의했는가

      같은 상황을 보고도 사람마다 다른 문제를 정의합니다. 눈에 보이는 현상이 아니라, 그 현상에서 무엇을 진짜 문제로 봤는지를 적습니다.

    2. 02
      그 문제를 어떻게 풀기로 했는가

      해결책과 그것을 택한 이유를 적습니다. 함께 검토했다가 기각한 다른 방안, 무엇을 기준으로 골랐는지도 함께 적습니다.

    3. 03
      그 판단이 실제로 어떻게 실행됐는가

      이 부분은 지원자가 쓰지 않습니다. AI 에이전트와 일한 기록이 그대로 붙습니다. 「원문」을 열면 당시의 대화를 그대로 볼 수 있습니다.

    문제 정의서 — 예시판단 1건 · 기록 3건

    문제 — 지원자가 씁니다

    모놀리식 구조의 의존성 결합으로, 단순한 화면 변경에도 전체 시스템 테스트가 강제되는 상황이 반복됐다. 배포 한 건에 평균 사흘이 걸렸고, 급한 수정일수록 검증을 건너뛰는 일이 잦아졌다.

    팀의 요구는 '배포를 더 빠르게'였다. 그러나 속도를 올려도 같은 병목이 다시 나타난다. 그래서 이를 배포 지연이라는 현상이 아니라 도메인 경계의 부재로 인한 확장성 병목으로 정의했다.

    판단 — 지원자가 씁니다

    프론트엔드와 백엔드의 점진적 분리를 택했다. 단일 저장소를 유지한 채 모듈 경계만 세우는 안도 검토했으나, 배포 단위가 여전히 묶여 있어 병목이 남는다고 보고 기각했다.

    기준은 독립적인 배포 파이프라인 확보였다. 한쪽의 변경이 다른 쪽 배포를 막지 않는 상태를 끝으로 보고, 전환 범위는 신규 화면 경로로 한정했다.

    실행 기록 — 지원자가 쓰지 않습니다

    분리 대상 레이어 식별 및 의존성 전수 추출

    10:14

    인증 프록시 미들웨어 설계 논의 및 초안 작성

    10:28

    배포 파이프라인 분리 구축

    11:42원문

    — 새 저장소에 배포가 독립적으로 돌게 만들어줘. 무중단 배포가 기준이야.

    Claude Code — 배포 워크플로우를 분리해 구성했습니다. 환경 변수 주입과 롤백 경로도 함께 넣었습니다.

    이러한 이력서를
    Diffin에서 받아보세요.

    1. 01
      문제 정의가 보입니다

      무엇을 진짜 문제로 정했고, 어떤 대안을 왜 기각했는지 — 판단의 원문 그대로.

    2. 02
      AI 활용이 보입니다

      에이전트에게 무엇을 맡기고 어떻게 검증했는지, 실제 세션 기록으로.

    3. 03
      서류에서 검증합니다

      기록은 편집되지 않고, 당시 대화 원문까지 열립니다. 마지막에야 하던 확인이 첫 단계로 옵니다.

    실행 기록은 지원자가 쓰지 않습니다.
    Claude Code 같은 AI 에이전트와 실제로 일한 세션에서 그대로 가져옵니다.

    스크롤로 전체 이력을 — 「원문」을 누르면 당시 대화까지

    받은 이력서 · 5건
    최다일Diffin 창업자

    실제 이력 — 본인의 AI 업무 기록에서 그대로 가져왔습니다

    기록 1,200여 건 · 세션 원문 대조 완료

    기존 이력 — LinkedIn에서 그대로지원자가 가져옵니다
    경력·학력 — 기존 이력서 LinkedIn 프로필 연동
    경력LinkedIn 프로필 연동 예정 — 실제 경력이 그대로 표시됩니다
    학력연동 예정
    기본 정보연동 예정

    기존 이력은 편집 없이 그대로 가져와 아래 문제정의서의 기단이 됩니다. AI 이전의 경력도 함께 읽히도록.

    문제정의서 — Diffin 창업판단 카드 5장 · AI 업무 기록 연결 · 2026
    AI 인재 채용 시장 리서치 — 시장 공백의 위치를 가려내다 작업 4 · 기록 15건

    문제 — 지원자가 씁니다

    채용 시장에서 AI 인재에 대한 수요는 뚜렷해지고 있었다. 채용 공고에 'AI 활용 능력'이 요구 조건으로 명시되기 시작했으나, 이를 확인할 수단은 존재하지 않았다.

    수요는 분명한 반면, 그 수요가 해소되는 시장은 형성되어 있지 않았다. 시장 어딘가에 공백이 존재한다는 의미였다. 관건은 공백의 위치였다.

    가능성은 두 가지였다. 채용자 측 — 확인하고자 해도 열람할 창구가 없는 경우. 지원자 측 — 무엇을 준비해 제시해야 하는지 알 수 없는 경우. 어느 쪽이 비어 있는지에 따라 만들어야 할 제품이 달라진다.

    현상은 확인되었으나 원인은 규명되지 않은 상태였다. 원인을 모른 채 제품을 고도화할 경우 방향 전체가 어긋날 수 있다고 판단했다. 이에 제품 고도화를 중단하고, 원인 조사를 우선하기로 결정했다.

    판단 — 지원자가 씁니다

    조사는 두 가설의 검증으로 설계했다. 채용자 측 가설은 '열람 가능한 창구가 존재하는가', 지원자 측 가설은 '준비하여 제시할 수단이 존재하는가'로 구체화했다. 이 기준으로 시장을 세 영역 — 업무 기록 도구, AI 채용 스크리닝 도구, 기존 잡보드 — 으로 나누어 조사했다.

    채용자 측의 공백이 먼저 확인되었다. 스크리닝 도구는 기존 이력서의 심사 속도를 높일 뿐, AI 역량 자체를 보여주지 않는다. 잡보드의 'AI 역량' 항목은 지원자가 스스로 부여하는 태그에 불과하다. 근거 없이 누구나 붙일 수 있는 표기는 채용자에게 판별 근거가 되지 못한다. 열람할 창구가 부재했다.

    지원자 측 역시 비어 있었다. 업무 기록 도구는 다수 존재했으나, 모두 개인의 기록 축적 단계에 멈춰 있었다. 그 기록을 채용에 제출 가능한 형태로 전환해 주는 서비스는 없었다. 준비할 수단이 부재했다.

    두 가설 중 하나가 아니라 양측 모두 비어 있었으며, 원인은 하나로 수렴했다. 채용자와 지원자 사이에 '검증 가능한 기록'이라는 매개가 존재하지 않는다. 지원자는 제시할 방법이 없어 준비하지 못하고, 채용자는 열람할 대상이 없어 확인하지 못한다. 서로가 서로의 공백을 유지시키는 구조였다.

    이 진단으로 제품의 요건이 도출되었다. 지원자의 기록을, 채용자가 검증할 수 있는 형태로 연결하는 것. 무엇을 구축할지는 다음 판단으로 넘겼다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    AI 채용 시장 동향 분야별 심층 조사 기록 2건 · 2026-06-22

    AI 채용 시장 동향을 분야별(자율형 리크루터·소싱·면접·스킬 검증·한국 시장)로 조사

    06-22 10:24원문

    — 지금 ai를 활용해서 채용 시장을 변화시키고자하는 스타트업들이 있나? 이력서 첨삭같은거 말고 더 다양한 분야로

    Claude Code — Tezi, Alex, Juicebox 등 실제 스타트업 예시와 펀딩 규모를 포함한 시장 현황 검색 및 정리

    자율형 AI 리크루터 시장 심층 — 25개 소스에서 109개 주장 추출·교차검증 리포트

    06-22 10:32원문

    — 자동화 AI 리트루터 시장을 더 깊게 조사해줘봐

    Claude Code — 멀티소스 fan-out, 주장 추출, 교차검증을 통한 deep-research 진행

    한국 AI 채용 시장 역량 검증 현황 조사 기록 6건 · 발췌 5 · 2026-06-23

    한국 시장 6개 각도 조사 — 수요 실재·직접 경쟁자 부재·평가 권력의 기업 결집 확인

    06-23 11:54원문

    — 좋아 그러면 지금 작성된걸 기반으로 한국의 시장 조사를 해보자

    Claude Code — 한국 시장 조사 완료 및 '수요 실재/경쟁자 거의 없음/평가 권력 이동' 결론 제시

    면접 질문 빈도·후보자 준비 동향 조사 — 수요가 과장이 아닌 실재임을 확인

    06-23 13:20원문

    — 실제 채용에서 ai 관련된 역량을 많이 물어보는지 — 1. 면접 과정에서 이런 질문이 많은지 2. 피채용자가 이 부분을 요즘 준비하고 있는지

    Claude Code — 조사 완료 및 과장이 아닌 실재 수요, LinkedIn의 AI 스킬 인증 출시 발견

    글로벌 채용 시장 규모($642B)·HR테크 섹터 분류·YC 채택률 조사

    06-24 00:17원문

    — 전체 채용 시장 규모 + yc 인큐베이팅 채용 관련 아이템 채택률 — 어떤 섹터들이 있고 어떤게 요즘 뜨는지 자료 조사 해줘

    Claude Code — 전체 채용 시장 규모, YC 채용 아이템 채택률, 섹터 지형, 트렌드를 deep-research로 조사 시작

    잡보드 시장 규모 조사 — '잡보드 소프트웨어'($3.8~4.8B)와 '잡광고 지출'이 다른 시장임을 구분

    06-24 00:46원문

    — 응 진행해줘 딥 리서치까진 아니어도 좋으니까 적당하게 조사해줘

    Claude Code — 잡보드 시장 규모 조사 및 소프트웨어 시장과 광고 시장의 구분 설명

    채용 시장을 채용자 측·피채용자 측으로 나눠 섹터 정밀 분류

    06-24 00:47원문

    — 아냐 리서치를 다시 해보자 — 0. 채용 시장의 섹터 세밀하고 정확하게 나눠봐 1. 우선 이걸 피채용자 시장, 채용자 시장으로 나눠봐

    Claude Code — 채용 시장을 피채용자/채용자로 나누어 섹터를 정밀 분류하는 deep-research 시작

    피채용자 AI 커리어 서비스 경쟁 분석 기록 4건 · 2026-06-22~23

    피채용자 측 AI 서비스 전수 조사 — 자동 지원·면접 준비·커리어 관리 영역 확인

    06-22 10:44원문

    — ai 피채용자 입장에서의 서비스는 이력서 첨삭 밖에 없는거야?

    Claude Code — Jobright, AIApply, Careerflow, Teal 등 후보자 사이드 서비스 조사

    Careerflow·Teal의 커리어 코칭 메커니즘 분해

    06-22 10:47원문

    — Careerflow, Teal — 이력서·LinkedIn·지원 추적·커리어 코칭을 하나로. 이거 서비스 더 분석해줘봐 어떻게 코칭을 해주는건지

    Claude Code — Careerflow와 Teal 웹사이트 접속 및 제품 메커니즘 상세 분석

    YC 채용 기업 분류 — 채용자 측 63개사 : 피채용자 측 13개사, 약 5:1 집중 확인

    06-24 01:26원문

    — YC 선정 기업 (채용 파트)도 채용 피채용으로 나눠서 22년도부터 쭉 봐줘

    Claude Code — YC 배치별 채용 관련 기업을 채용자/피채용자로 분류하여 비율 분석

    YC 피채용자 측 6개사 상세 — 잡매칭·자동지원뿐, 성과기록·AI역량 증명 계열의 부재 확인

    06-24 01:31원문

    — 피채용자 서비스 6개 좀 더 자세히 설명해서 추가하고 노션 문서로 줘

    Claude Code — YC 피채용자 측 6개사를 상세 조사하여 성과기록·AI역량 증명이 빠져 있음 확인

    자동 work-history 캡처 경쟁자 3개사 비교 분석 기록 3건 · 발췌 2 · 2026-06-22

    1군 3개사 비교 분석 — 수집 소스·출력·활성 상태 정리

    06-22 12:01원문

    — 직접 경쟁자 조사 결과 — 1군, 진짜 직접 경쟁자 (자동 캡처 → 경력기록) … [조사 결과를 재투입해 비교표 요청]

    Claude Code — 경쟁자 비교표 작성 및 슬랙 공유 형식 변환

    1군 3개사 제품 페이지 심층 분석 — 타깃·수집 소스·출력 형태·결정적 약점

    06-22 12:03원문

    — 1군 경쟁자 더 깊게 분석해줘봐

    Claude Code — BragBook, BragDoc, BragDuck 웹사이트 직접 fetch 및 제품 상세 분석

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    AI 인재 측정 수단 확정 — Agent와의 대화 로그 작업 6 · 기록 38건

    문제 — 지원자가 씁니다

    시장 리서치를 통해, 채용자와 지원자 사이에 '검증 가능한 기록'이라는 매개가 없다는 것을 확인했다. 이 공백을 메우는 것이 제품의 방향이 되었다.

    당시 채용자가 AI 역량을 확인할 수단은 역량 시험과 면접 실무 과제, 두 가지뿐이었다. 지원자는 일회성 시험 대비 외에 무엇을 준비해야 할지 알 수 없고, 채용자는 시험장의 수행만으로 일상에서 AI와 일하는 능력을 판별할 수 없다. 확인이 면접에 와서야 가능하니, 서류에서 후보를 가려내는 일은 애초에 불가능했다.

    요건은 명확해졌다. 이력서에 AI 역량이 담기려면 실제 AI와 일한 대화 로그가 담겨야 하고, 로그가 증거가 되려면 그것을 읽어내는 지표가 있어야 한다.

    판단 — 지원자가 씁니다

    AI 활용 역량은 대화 로그 그 자체에 이미 드러나 있다고 판단했다.

    일을 맡기는 문장, 어긋난 결과를 알아채는 개입, 검수를 거쳐 내보내는 마무리 — 역량을 구성하는 행동이 세션 안에 그대로 남는다. 그리고 수천 턴의 일상 로그는 시험과 달리 통째로 연출할 수 없다. 연출이 불가능하면서 일상 업무와 분리되지 않는 판정의 원천은 대화 로그뿐이었다.

    이 명제를 가설로 두지 않기 위해, 로그에서 역량을 실제로 읽어내는 측정 체계를 직접 구축했다. 그 결과가 역량 4축 판정 체계다.

    • 위임 — 어떤 크기의 일을, 어디까지 AI에게 맡기는가. 맡기는 순간의 발화로 판정한다
    • 지시 — 맡긴 일을 명확한 기준과 제약으로 시키는가. 지시문의 구조로 판정한다
    • 분별 — AI의 결과가 어긋났을 때 알아채고 바로잡는가. 개입의 순간으로 판정한다
    • 책임 — 결과물을 검수를 거쳐 밖으로 내보내는가. 내보내는 순간으로 판정한다

    판정에는 두 원칙을 두었다. 사람이 주도한 행동만 계수한다 — AI가 알아서 한 일은 그 사람의 역량이 아니다. 모든 판정은 당시 발화를 인용해야 한다 — 인용하지 못하는 판정은 폐기한다.

    이로써 '로그에서 읽힌다'는 것은 가설이 아니라 작동하는 체계가 되었다. 구현 대상은 대화 로그에서 AI Fluency를 읽어내는 시스템으로 확정했다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    'AI를 잘 쓴다'의 본질 정의 기록 1건 · 2026-06-26

    본질 확정 — 능력 있지만 틀릴 수 있는 AI를 지휘·검증하며 오류에 휘둘리지 않는 역량

    06-26 16:15원문

    — 그럼 개인이 AI를 잘써서 업무를 한다는게 뭐야? 이것부터 정의를 해보자

    Claude Code — 능력 있지만 틀릴 수 있는 AI를 지휘하고 검증하면서 오류에 휘둘리지 않는 역량으로 정의 확정

    역량 4축(D1~D4) 확정 — 위임·지시·분별·책임 기록 2건 · 발췌 1 · 2026-07-27

    4축 확정 — 위임·지시·분별·책임. 분별은 추론도전·출력검증 2개 하위 관점으로 세분화

    07-27 16:52원문

    — 좋아 portrait 4차원 이거 더 얘기를 해보자

    — A로 가자, 책임은 portrait 안에 diligenceFacts로

    Claude Code — 4차원을 위임·지시·분별·책임으로 확정 — 분별은 2개 sub-facet, 책임은 외부화 근거(diligenceFacts)로 구현

    D1·D2 축별 구체화 — 위임의 분모·크기·판별 신호 기록 3건 · 발췌 2 · 2026-07-20

    D1(작업 위임) 세부화 — '위임의 분모·위임 크기·위임 프레임'의 3겹 의미로 분해

    07-20 21:46원문

    — A D1 세부화해서 봐보자 — 1. 작업 위임은 어떤걸 측정하고 뭘 보여주는거야?

    Claude Code — D1 딥분석: 타석 단위 역할·분모 위치·위임 크기/프레임 신호 분해

    D2(선제 명세) 구체화 — '의도적 위임 vs 던져놓고 고치기'의 판별 신호 3개로 분해

    07-20 21:56원문

    — 이제 D2 동일하게 분석해줘봐

    Claude Code — D2를 의도적 위임의 판별 신호로 분석, 3개 서브시그널로 분해

    지시·책임 측정 축 세밀화 및 판정 흐름 체계화 기록 27건 · 발췌 5 · 2026-07-22

    측정 축 간 겹침 진단 — 지시가 기존 분류 2개의 재명명일 뿐임을 규명

    07-22 16:41원문

    — 이제 지시 부분 아이디에이션해보자 지금 우리가 측정하는거랑 겹치는게 너무 많은데 지시를 더 세분화하거나 바꾸는게 좋지 않아? 아니면 위임 분별을 수정 더하거나

    Claude Code — 지시와 분별의 측정 겹침 진단 — 지시가 t1 6분류 중 2개의 재명명임을 규명

    첫 턴 논리 오류 지적 — 위임 시점에는 검증 요구·방향 전환이 존재할 수 없음

    07-22 17:08원문

    — 근데 위임에서 넘기기 전에 검증 요구나 방향 전환이란게 있어? 첫 턴인거잖아

    Claude Code — framing 단계에 반응형 분류 적용 불가 진단 — 해당 필드 서버·프론트에서 제거

    책임 측정 단위의 보편화 — 개발자 전용에서 전 직군의 '외부화 이벤트'로

    07-22 17:26원문

    — 근데 너무 개발자 위주야 다른 직군까지 포괄할 수 있는 책임의 측정 단위가 있을까?

    Claude Code — 책임 측정을 외부화 이벤트(배포·push·merge·문서 공유)의 보편 단위로 설계

    판정 근거의 세밀화 — 메타 지시(표 요청·진행 확인)를 실질 검수에서 분리

    07-22 18:30원문

    — "모든 근거 표로 보여줘" 이런건 유의미한 책임의 근거가 아니지 않아? 이제 위임 ~ 책임까지 정말 유의미한 근거들을 리즈닝할 수 있게 규칙을 세밀화해야할 것 같아

    Claude Code — 메타 지시를 실질 검수에서 분리하는 세밀화 규칙 적용, 재판정 실행

    측정 명세 전면 개정 — 4축 시점모델·실질 게이트·외부화 앵커 반영

    07-22 18:48원문

    — METRICS-SPEC도 4축으로 맞춰줘

    Claude Code — METRICS-SPEC v0.6 전면 개정 — 4축 시점모델, 실질 검수 게이트, 책임 외부화 앵커 반영

    D1~D4 실측 및 재현성 검증 기록 3건 · 발췌 1 · 2026-07-20

    4축 전체 실측 — 재현성 2회 바이트 동일 검증, D1 69개 에피소드·D2 선제명세율 21.7%

    07-20 22:09원문

    — D3, D4까지 세부 노션에 정리해주고 — D1 ~ 4까지 다시 miner 기준으로 돌려줘. 방금 D1, D2 돌리면서 한계점으로 나온것들 더 발전시켜주고

    Claude Code — v0.2 분석기로 D1~D4 재실행 — 재현성 2회 바이트 동일, D1 69개 에피소드·D2 선제명세율 21.7% 실측

    검증 지표 전 직군 확장 및 인적 귀속 원칙 확정 기록 2건 · 2026-07-20

    검증 지표를 개발 중심에서 전 직군으로 확장 — 실행 검증과 발화 검증의 2계층 분리

    07-21 01:39원문

    — 검증에 대해 완전히 고도화해봐 전 직군 다 커버할 수 있게

    Claude Code — 검증 v0.4 설계 확정 및 구현, 2계층 검증 시스템 적용

    인적 귀속 원칙 확정 — 사람이 주도한 행동만 지표에 포함, AI 자율 수행 제외

    07-21 02:49원문

    — 개인의 역량을 분석하고 파악할 땐 ai가 알아서한게 아니라 내가 시킨것들만 잡혀야지

    Claude Code — 개인 역량 지표 = 사람 주도 검증만 포함, AI 자율 검증 제외 원칙 확정

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    AI 인재상 재정의 — 문제 정의 능력과 AI 실행 역량 작업 7 · 기록 15건

    문제 — 지원자가 씁니다

    측정 체계를 만들고 나니 질문이 하나 남았다. 우리의 지표는 'AI를 얼마나 능숙하게 다루는가'를 보여준다. 그런데 기업이 채용에서 확인하고 싶은 것이 정말 그것인가.

    채용자의 관점에서 보면 간극이 있었다. AI가 실행을 대체할수록 '시키면 잘 만든다'는 것은 누구에게나 가능한 값이 되어 간다. 기업이 뽑고 싶은 사람은 AI를 잘 다루는 사람이 아니라, AI로 일을 해내는 사람이다. 실행 능숙도를 중심에 둔 인재상으로는 이 둘이 구분되지 않았다.

    'AI 인재'가 무엇인지부터 다시 정의해야 했다. 정의가 바뀌면 측정도, 이력서의 구조도 함께 바뀌는 문제였다.

    판단 — 지원자가 씁니다

    기업이 'AI 역량'이라는 말로 실제로 보고 싶어 하는 것을 두 층으로 재정의했다.

    첫째 층은 암묵지다. 무엇이 진짜 문제인지 정의하는 능력, 그리고 결과를 검증하고 개선하는 능력 — 경험 속에서 그 사람 안에 쌓여야만 나오는, 시켜서 되지 않는 것들이다. 둘째 층은 그 암묵지를 AI에게 위임하여 실행으로 옮기는 역량이다. 실행 그 자체는 기본값으로 내려가고, 이 두 층이 인재를 가른다.

    재정의에 맞춰 서비스를 개편했다. 이력서의 단위를 '판단 카드'로 바꿨다. 채용자가 카드 한 장에서 읽는 것은 세 가지다 — 지원자가 무엇을 문제로 정의했는지, 어떤 대안을 왜 기각하고 무엇을 택했는지, 그리고 그 판단을 AI에게 위임해 실행한 세션 기록까지. 암묵지가 앞에, 실행 증거가 뒤에 — 채용자가 확인하고 싶은 순서 그대로다.

    인재상은 이렇게 바뀌었다. 'AI를 능숙하게 다루는 사람'이 아니라 — 문제를 스스로 정의하고, 해결을 판단하며, 그 실행을 AI에게 위임해 끝까지 해내는 사람.

    이 인재상이 보이도록 세 가지 변화를 구현했다.

    • 이력서와 로그의 분리 — 자동으로 쌓인 작업 이력 화면은 '로그'로 내리고, 사람이 판단을 직접 쓴 카드만 '이력서'로 부르기로 했다
    • 판단의 자동 추론 금지 — 판단을 AI가 대신 추론해 채우는 방식을 실측으로 비교한 뒤 금지했다. 그럴듯하게 쓰지만 사실과 어긋난다 — 암묵지는 본인만 쓸 수 있다
    • 실행 기록의 선별 연결 — 카드마다 그 판단을 실행한 세션 기록만 골라 붙이고, 열람하면 당시 대화 원문까지 열리게 했다

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    AI 생성 이력서 부풀리기 문제 및 증명 플랫폼 선례 검증 기록 3건 · 2026-06-24

    부풀리기 문제의 현실성 검증 — 구직자 70% AI 활용, 지원 +45%, 스크리닝 비용 급증

    06-24 01:54원문

    — 피채용자가 AI로 이력서를 부풀리는 것이 문제가 되고 있다는 근거 — 문제가 진짜 맞아? 근거는? 그럼 나온 솔루션은?

    Claude Code — 지원 폭증(구직자 70%가 AI 활용, LinkedIn 지원 +45%), 부적격 지원자 비율 증가, 스크리닝 비용 급증을 다층 검증

    기존 이력서의 기능 상실 근거 수집 — 고용주 41% 이력서 우선 채용 이탈, HR 리더 67% 채용 지연 보고

    06-24 02:43원문

    — 현재의 이력서와 보조 자료들로는, 바뀐 AI 업무 시스템에서 개인이 어떠한 생산성을 가지는지 그 무엇도 보여주지 못한다 … (당시 작성하던 논지문의 일부)

    Claude Code — 강력한 근거 다수 확인 — 고용주 41%가 이력서 우선 채용에서 이탈 중, HR 리더 67%가 AI 생성 지원서로 인한 채용 지연 보고

    증명 플랫폼의 역사 패턴 조사 — 새 역량이 나타나면 그것을 객관화하는 플랫폼이 나타난다

    06-24 14:54원문

    — 채용 시장 역사에서 새 역량이 나타났을 때 그걸 증명하는 플랫폼 패턴 — 모델 A 더 다양하게 조사해줘

    Claude Code — 직군별 포트폴리오 플랫폼 지도 완성 — Behance(디자인), Kaggle(데이터), Hugging Face(ML): 전문 영역마다 작업을 객관화하는 플랫폼이 채용 신호가 됨

    AI 역량의 본질 정의 및 레버리지 프레임워크 기록 2건 · 2026-07-05~08

    AI 역량의 본질 정의 — 기술 스킬이 아니라 관리·판단 스킬

    07-05 00:30원문

    — ai 역량이란 뭘까

    Claude Code — '능력 있지만 못 믿을 협력자를 부려서, 혼자서는 못 할 일을 내 판단을 유지한 채 해내는 능력' — 기술 스킬이 아닌 관리·판단 스킬(확장 × 판단)

    생산성의 구체화 — 레버리지 사다리 4단계(가속·위임·오케스트레이션·자동화)

    07-08 17:41원문

    — AI로 생산성이 높게 일한다를 구체화하면 어떤 것들이 있을까?

    Claude Code — 레버리지 사다리 프레임워크 제시 (L1 가속 ~ L4 자동화)

    AI 협업 암묵지의 정체 규명 기록 3건 · 발췌 2 · 2026-07-18

    암묵지의 정체 정의 — 사람이 AI와 일하며 흘리는 교정·제약·거부·결정

    07-18 18:36원문

    — 관점을 바꿔서 암묵지를 밝혀내고 정리하는 역할로의 우리 구조는 어때?

    Claude Code — 암묵지의 정체를 정의 — 사람이 AI와 일하며 흘리는 교정·제약·거부·결정들

    자기 가설 기각 — 로그에 올라온 것은 명시지, 진짜 암묵지는 '판단의 발자국'으로만 남는다

    07-18 18:51원문

    — 아냐 너 말대로 ai로 올라온거 자체가 암묵지가 아닌게 맞는거같아

    Claude Code — 타이핑된 것은 언어화된 명시지 — 진정한 암묵지는 판단의 발자국으로만 남음을 정리

    기업 채용자 정보 요구사항 7개 질문 재구성 기록 3건 · 발췌 2 · 2026-07-20

    기업이 원하는 AI 역량 근거 조사 — 채용 서베이·노동시장 데이터·역량 지표의 3각도

    07-20 18:52원문

    — 기업이 개인에게 원하는 ai 역량에 대해서 근거가 포함된 자료 조사 깊게 해줘

    Claude Code — 채용 수요 서베이(MS·LinkedIn)·노동시장 데이터(PwC·WEF)·구체 역량(Anthropic fluency index) 조사

    기업이 보고 싶어 하는 정보를 '채용자의 실제 질문 7개'로 재구성

    07-20 21:02원문

    — 정말 기업이 피채용자의 어떤걸 보고싶어하고 어떤 방식으로 일한걸 로깅해줘야 채용자에게 유의미한 의사 결정 기준이 될 수 있을지

    Claude Code — 우리 정보 계층에서 채용 기업이 실제로 원하는 정보를 7개 채용자 질문으로 번역

    카드-이력서 기능 기획 및 요구사항 확정 기록 1건 · 2026-08-14

    이력서 단위를 '판단 카드'로 확정 — 사람이 쓴 문제·판단 + 로그에서 연결한 실행 증거

    08-14 16:22원문

    — 결국 우리가 채용 잡 보드로서 채용자에게 인재상을 보여준다면 problem을 발견하고 solving을 아이디에이션하고 이것의 실행을 AI에게 잘 위임하는 사람을 전체적으로 보여줄 수 있어야한다고 생각해

    Claude Code — 카드 = 본인이 쓴 문제·판단 + 로그에서 연결한 작업(영수증)으로 정의 — 추론 A/B 실측으로 자동 추론 금지까지 확정

    카드 서버 구현 — CRUD·소유권 검증·기록 비공개 기록 2건 · 2026-08-14

    서버 모듈 구현 — 카드 텍스트를 어떤 지표에도 섞지 않는 불변식을 스키마에 명시

    08-14 16:22원문

    — 구현 시작하자 서버부터 바로 구현하지 말고 구현 설계부터 해봐 서버쪽

    Claude Code — cards 모듈 구현, 스펙↔구현 대조표 14항목 실측 검증 — 카드 텍스트 불변식 명시

    기록 단위 비공개 구현 — 카드 공개가 대화 전문 공개를 강제하지 않도록

    08-14 16:22원문

    — 작업을 선택해서 모든 기록이 public으로 오픈되는건 부담이 될 수도 있을거같아 — 민감 정보나 기록은 개별 private가 가능하도록 기능, UI가 준비돼야 할 것 같아

    Claude Code — 기록 전역 비공개 표식 + 일괄 전환 API 구현 — 남의 id가 섞이면 전체 거부, 재수집이 표식을 되살릴 수 없게 봉인

    카드 UI 구현 — '이력서'와 '로그'의 분리 기록 1건 · 2026-08-14

    네비게이션을 이력서·로그로 분리 개명 — 편집기·공개 토글·로그 브라우저 연결까지 5개 컴포넌트

    08-14 16:22원문

    — 프론트를 하나씩 잘라서 구현을 해보자 — 오른쪽의 연결된 작업에 로그들이 다 뜨고 내가 그걸 누르게 해야지

    Claude Code — 네비를 이력서·로그로 분리 개명(문구 사전 개정과 같은 커밋), 편집기(명시적 저장·이탈 가드·공개 토글)·상시 로그 브라우저 연결 구현

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    B2C 수집 확장 우선 판정 — 멀티 에이전트 지원 작업 5 · 기록 17건

    문제 — 지원자가 씁니다

    제품의 다음 작업을 정해야 하는 시점이었다. 선택지는 둘이었다. 채용 기업 쪽 기능(B2B)을 먼저 올릴 것인가, 지원자 쪽 수집 생태(B2C)를 먼저 넓힐 것인가. 당시 업무 기록 수집은 Claude Code 한 도구만 지원하고 있었다.

    감으로 정하지 않기 위해 시장부터 조사했다. 터미널에서 쓰는 AI 에이전트들의 사용률을 확인했고, Claude Code 외에 다른 범용 AI Agent 툴들의 시장 점유율이 빠르게 높아지는 것을 확인했다. 사용 생태가 다양해지는 속도가 예상보다 빨랐다. 이 속도라면 한 도구만 지원하는 수집은 곧 지원자 업무의 일부만 담는 이력서를 만들게 된다.

    판단 — 지원자가 씁니다

    B2C 확장을 먼저 작업하기로 판정했다. 에이전트 생태가 다양해지는 속도가 B2B 기능의 긴급도보다 빨랐고, 수집이 불완전해지면 그 위에 올릴 채용 기능도 함께 부실해지기 때문이다. 첫 확장 대상은 조사에서 사용 규모의 성장이 확인된 범용 에이전트 Hermes로 정했다.

    시작 전에 원칙 두 가지를 세웠다. 이 서비스에서 수집된 기록은 곧 이력서의 증거다. 확장 작업이 기존 기록을 조금이라도 건드리면 이미 만들어진 모든 이력서의 신뢰가 함께 무너진다. 그래서 첫째 — 기존 데이터는 단 한 건도 변하지 않을 것. 둘째, 이번 확장이 Hermes 전용 땜질이 되면 세 번째, 네 번째 에이전트마다 같은 고생을 반복하게 된다. 그래서 — 다음 에이전트는 쉽게 붙는 구조로 만들 것.

    가장 위험한 지점은 기록의 이중 계상이었다. 두 에이전트를 오가며 일하면, 수집기가 기록을 나눠 올리는 경계에서 같은 대화 조각이 양쪽에 두 번 올라갈 수 있다. 그러면 그 사람의 작업량과 위임량이 실제보다 부풀려진다 — 이력서로 치면 경력 한 줄이 두 번 계산되는 것이라, 검증 가능한 이력서라는 전제 자체가 깨진다.

    해법은 규칙 하나로 정리했다. '지난번 이후 새로 생긴 부분만 올린다.' 다만 새 부분만 잘라 올리면 대화의 앞뒤가 끊겨 판정 품질이 떨어지므로, 직전 대화 여덟 턴을 참고용으로만 동봉하고 소유는 새 기록에만 남게 했다. 누적 방식으로 보고되는 위임 토큰 수치도 같은 원리로 — 직전 보고값을 저장해 두고 그 이후의 증가분만 계상되게 했다.

    확장 구조는 번역의 문제로 접근했다. 도구마다 기록을 남기는 방식이 다르다 — Claude Code는 파일 로그로, Hermes는 내장 데이터베이스로. 도구별 처리를 본체에 심으면 도구가 늘 때마다 본체가 복잡해진다. 그래서 모든 도구의 기록이 하나의 표준 형식으로 번역되어 들어오는 단일 계약을 설계했다 — 본체는 표준만 알면 되고, 새 도구는 번역기(어댑터) 하나만 추가하면 된다. 특정 도구의 버릇을 표준으로 승격하지 않는 것을 설계 원칙으로 삼았고, 설계 후 코드를 역-감사해 누락된 필드를 두 차례 적발해 메웠다.

    Hermes 자체는 추측 없이 실측했다. 내부 저장 구조를 직접 열어 세션·메시지·위임 테이블을 확인하고, 문서로 알 수 없는 정보는 20개 정밀 질문지로 만들어 하나씩 직접 실행해 답을 얻었다. 위임 기능은 실제로 한 번 실행해 기록의 실물까지 확인한 뒤에야 어댑터를 붙였다.

    마지막으로 세 가지를 실측으로 검증했다. 같은 데이터를 다시 수집해도 어떤 기록도 중복으로 쌓이지 않는다. 새로운 대화가 추가되면 그 대화만 정확히 하나 반영된다. 그리고 기존 Claude Code 수집 경로는 전 구간 테스트에서 어떤 영향도 받지 않았다. 세 가지가 모두 확인된 뒤에 확장 작업을 완료했다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    터미널 AI 에이전트 시장 사용률 조사 기록 2건 · 2026-08-11

    터미널 에이전트·IDE 포함 도구 두 층의 사용률 순위 조사

    08-11 15:39원문

    — 지금 클로드 코드 같은 하네스 툴 순위 확인해볼 수 있나? 1~5등까지 뭐가 제일 인기 있는지

    Claude Code — 2026년 8월 기준 터미널 에이전트와 IDE 포함 전체 AI 코딩 도구 순위 제시

    범용 AI Agent 층 보완 — Hermes Agent 등 사용 규모 성장 확인

    08-11 15:41원문

    — 아니 hermes agent같은 것도 cli tool이잖아

    Claude Code — 오픈소스 CLI 에이전트 층을 포함해 전체 순위 보완 — GitHub 스타 기준 순위 제시

    멀티-에이전트 수집 아키텍처 확장 결정 기록 1건 · 2026-08-11

    확장 결정 — Claude Code를 넘어 Hermes Agent까지 지원

    08-11 16:33원문

    — 클로드 코드 말고 헤르메스 에이전트까지 확장하는 작업 시작하자

    Claude Code — Hermes Agent 어댑터 구현 GO 결정 및 백로그 등록

    Hermes 어댑터 기술 명세 — 위임 레코드 실측 검증 기록 4건 · 발췌 1 · 2026-08-11

    위임 기능 직접 실행 — 위임 레코드와 토큰 계산 정밀도 검증

    08-11 17:15원문

    — delegate_task를 한 번 실행한 뒤 위임 레코드 한 행의 전문을 보여달라 — 그 안에 위임을 촉발한 원 메시지의 참조가 있나?

    Claude Code — 위임 레코드가 비어 있어 직접 실행해 실측 — task/event/result 전문 수집, 위임 세션 데이터 분석 완료

    정규화 세션 포맷(NSF) 단일 계약 설계 기록 4건 · 발췌 2 · 2026-08-11

    통합 템플릿 설계 — 특정 도구의 버릇을 표준으로 승격하지 않는 원칙

    08-11 16:39원문

    — 근데 한 sync 그룹으로 만들기에는 데이터가 다른게 있다는거 아냐? 이 부분에 대한 통합 template를 만드는 설계가 엄청 중요하겠는데?

    Claude Code — NSF v1 통합 템플릿 설계 — 필드 기준은 파이프라인 요구로, 특정 도구 quirk의 표준 승격 차단

    스키마 역-감사 — 모델별 토큰 분해·위임 귀속 링크 누락 두 차례 적발

    08-11 16:43원문

    — 스키마 놓치는 부분 없는지 더 정확하게 조사해봐 이 부분이 틀어지면 안되잖아

    Claude Code — 코드 역-감사로 계측 필드 전수 추출 — 모델별 토큰 분해와 위임 귀속 링크(3중 조인) 누락을 적발해 추가

    경계 이중 소유 차단 및 멱등 실측 기록 6건 · 발췌 3 · 2026-08-12

    경계 이중 소유 문제의 규모 평가 — 출시 전 해결 필수 판정

    08-12 00:18원문

    — hermes 특화 이슈 저거면 큰거 아냐?? 해결법 아이디에이션 해보자

    Claude Code — 경계 기록 중복 소유 문제의 규모와 영향 평가

    델타 전용 업로드 구현 — 직전 8턴은 참고 동봉, 소유는 새 기록에만 + 위임 토큰 롤업

    08-12 00:23원문

    — D로 진행해줘 그리고 sync delta 폐기가 아닌거잖아 그러면

    Claude Code — 델타의 폐기가 아니라 완성 — 구현·검증·푸시 완료. 위임 토큰은 직전 보고값 스냅샷으로 이중 계상 방지

    전 구간 테스트 — 재수집 멱등(델타 0), 새 턴 1개에 기록 정확히 1 증가, 기존 경로 영향 0

    08-12 00:07원문

    — hermes agent 지원 확장 모든거 다 준비 되고 테스트 된거지? — 변경으로 인해 cc에서도 영향을 받은게 있나

    Claude Code — 파이프라인 전부 테스트 — 같은 DB 재-sync는 델타 0(멱등), 새 턴 1개 추가 시 기록 9→10개로 새 턴만 반영

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    GTM 전략 확정 — 문제 해결을 보여주는 랜딩 먼저 작업 2 · 기록 24건

    문제 — 지원자가 씁니다

    MVP의 경계를 정의하고 구현하는 동안, 범위가 계속 커지는 것을 확인했다. 하나를 만들면 그것을 받치는 다음 것이 필요해졌고, '여기까지가 MVP'라는 선이 구현 속도보다 빠르게 밀려났다.

    시장 쪽도 비슷한 상태였다. AI 인재 채용의 문제는 현상으로는 분명했지만 — 수요도, 공백도 확인되어 있었다 — 고객이 가장 아파하는 뾰족한 지점이 어디인지는 여전히 특정되지 않았다.

    안의 제품은 커지고, 밖의 시장은 흐릿했다. 이대로 구현을 계속하면 큰 제품을 들고, 뾰족하지 않은 시장에 나가게 된다.

    판단 — 지원자가 씁니다

    구현 확장을 멈추고 GTM을 확정했다. 우리의 문제 해결 능력을 대표적으로 보여줄 수 있는 랜딩 페이지를 먼저 만든다. 제품 전체가 아니라, 우리가 무엇을 문제로 정의했고 무엇으로 풀었는지가 한 화면에서 읽히는 페이지다. 이 페이지에 대한 시장의 반응이, 특정하지 못하고 있던 뾰족한 지점을 알려주는 측정이 된다.

    이 판단과 함께 MVP의 범위도 다시 조였다. 그간 붙은 요소를 전수 검토해 불필요한 계층을 삭제했고, 접근 자체를 뒤집었다 — '지금 것에서 빼기'가 아니라, 검증된 기준 버전 위에 '더할 것을 정의하기'. 범위가 다시 커지는 것을 구조적으로 차단하는 방식이다.

    랜딩은 만들고 끝내지 않고 정련했다. 번역체 문장을 구조 차원에서 진단해 고치고, 국내 서비스들의 어체 관례를 조사해 전환했으며, 실제 구현에 없는 기능을 서술한 문구를 적발해 실체에 맞게 교정했다. 보여주기 위한 과장 없이, 실제로 하는 일만 적히게 하는 것 — 검증 가능한 이력서를 파는 서비스의 랜딩이라면 그 자체가 증명이어야 하기 때문이다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    MVP 최종 구성 확정 및 범위 재검토 기록 6건 · 발췌 3 · 2026-07-21

    MVP 기준 불필요 요소 전수 분류 — 범위가 커진 지점의 실체 확인

    07-21 23:39원문

    — 이렇게까지가 MVP의 기능이라 할 때 빼도 되는 요소들이 너무 많은거 아냐? 이전 작업 때문에 무의미하게 들어간 애들이 너무 많은거같아서

    Claude Code — MVP 기준으로 불필요한 요소들을 A·B·C로 분류

    접근의 전환 — '지금 것에서 빼기'가 아니라 '기준 버전 위에 더할 것을 정의'

    07-22 00:01원문

    — 아니 다시 접근을 수정해보자 — 초기 v3 확정 커밋에다가 진짜 필요한 것만 추가하면 되는거잖아. 바로 작업하지말고 이 맥락으로 얘기를 해보자

    Claude Code — 이 프레임이 맞습니다. v3 위에 더할 것을 처음부터 정의하겠습니다

    최종 구성 확정 — 불필요 계층 삭제, 클린 리팩터링 완료

    07-22 00:06원문

    — 1. 스팬 접기 동의 2. sessionId 넣어 3. 가드 빼 — 구현 확정해둔 것들은 가져가는 방식으로 작업하자

    Claude Code — 결정 반영 완료 — 불필요 계층 삭제, 클린 리팩터링 완료

    랜딩 페이지 정련 — 문체·정직성·관점 전환 기록 18건 · 발췌 4 · 2026-08-07

    번역체 진단 — 문장 구조 차원의 원인 4가지 분석

    08-07 21:33원문

    — 우선 랜딩의 이 부분 개선할 아이디에이션부터 해보자 — 어조나 말투 이런게 너무 ai 번역체같지 않아야해

    Claude Code — 번역체의 네 가지 원인 분석 — 대시 남용, 명사절 중첩, 시스템 주어 서술, 한자어 밀도

    어체 리서치 후 전환 — 국내 서비스 라이팅 관례 조사, 본문 해요체 통일

    08-07 21:53원문

    — 이거 문구들도 어체가 이게 맞나? 다른 서비스들 랜딩에서 한글로 어떤 어체를 쓰는지 잘 봐봐

    Claude Code — 토스 UX 라이팅 원칙과 한국 B2B SaaS 랜딩 사례 조사 — H1 유지, 본문 해요체 전환

    과장 문구 적발 — 실제 구현에 없는 기능 서술을 실체에 맞게 교정

    08-07 22:06원문

    — 원문 대조가 이상한거 같아, 애초에 우리는 원문 대조라는게 없기도 하잖아

    Claude Code — 각 단계의 실제 동작을 코드로 확인 — 실제 구현(인용 검사)에 맞게 문구 교정

    서술 관점 전환 — 만든 사람의 공정 자랑에서 읽는 사람의 이득으로

    08-07 22:12원문

    — 유저 입장에서는 선별이 전혀 장점으로 안느껴지잖아 채용자 입장에서도 그렇고

    Claude Code — 공정 미덕 중심 카피를 유저 이득 중심으로 전환 — 3단계 설명 방향 변경

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    문제정의서 — 광부 키우기 (앱인토스)판단 카드 2장 · 리워드 앱 · 2026
    리텐션 구조 설계 — 돌아올 이유, 머물 이유, 데려올 이유 작업 4 · 기록 84건

    문제 — 지원자가 씁니다

    '광부 키우기'는 토스 미니앱 플랫폼(앱인토스)에서 운영한 리워드 앱이다. 사용자는 광고를 보며 게임 속 재화를 캐고, 그 재화를 실제 토스 포인트로 바꿔 간다. 광고 수익의 일부를 사용자에게 돌려주는 구조라, 사용자가 자주 오고 오래 머물수록 서비스도 사용자도 이득을 보는 모델이다.

    그런데 리워드 앱에는 구조적인 이탈 문제가 있다. 사용자가 오는 목적이 보상이기 때문에, 보상을 받는 순간 목적이 소진된다. 실제 지표도 그랬다. 첫 보상만 받고 다시 오지 않는 사용자가 많았고, 남아 있는 사용자도 광고를 보고 기다리는 것 외에 할 일이 없어 체류 시간이 짧았다.

    가장 쉬운 처방은 보상을 더 주는 것이다. 그러나 이 길은 두 번 실패한다. 지급이 늘어나는 만큼 수익 구조가 무너지고, 보상이 목적인 사용자는 보상이 커져도 받는 순간 똑같이 떠난다. 그래서 문제를 보상의 크기가 아니라 구조로 다시 정의했다 — 이 서비스에는 보상 말고는 돌아올 이유도, 머물 이유도, 다른 사람을 데려올 이유도 없다.

    판단 — 지원자가 씁니다

    이탈을 하나의 문제로 묶지 않고 네 개의 실패 지점으로 분해했다. 언제, 왜 떠나는지가 서로 다르면 처방도 달라야 하기 때문이다. 그리고 각 지점에 기능을 하나씩 대응시켰다.

    첫째, 한 번 받고 떠나는 사용자 — 랭킹. 보상을 받고 나면 더 할 일이 없다는 것이 이탈의 첫 번째 결이었다. 여기에 실제 수령한 토스 포인트 기준의 순위를 공개했다. 게임 속 가상 점수가 아니라 진짜로 받아 간 돈의 순위라서, 방금 첫 보상을 받은 사용자에게 '나보다 많이 받은 사람들'이 곧바로 보인다. 막 소진된 목적이 비교라는 새 동기로 갱신된다.

    둘째, 다시 올 이유가 없는 사용자 — 파견. 보상이 그 자리에서 끝나면 재방문은 사용자의 호의에 기대게 된다. 그래서 보상 수령 시점을 미래로 옮기는 기능을 만들었다. 캐릭터를 파견 보내면 정해진 시간이 지난 뒤에 돌아와야 보상을 받을 수 있다. 재방문이 호의가 아니라 일정이 된다.

    셋째, 머물 이유가 없는 사용자 — 리듬 채굴. 기존 루프는 광고를 보고 기다리는 수동적인 것뿐이라, 앱을 켜 둘 이유가 없었다. 사용자의 조작에 보상이 실시간으로 반응하는 능동 루프를 새로 설계했다 — 박자에 맞춰 조작할수록 더 캐는 방식이라, 머무는 시간 자체가 플레이가 된다.

    넷째, 데려올 이유가 없는 사용자 — 길드. 혼자 해도 아무 차이가 없으면 아무도 친구를 부르지 않는다. 함께할수록 이득인 구조(길드 가입과 보상 공유)를 만들어, 기존 사용자가 새 사용자를 데려오는 레퍼럴 경로를 열었다. 광고비 없이 사용자가 사용자를 늘리는 유일한 길이었다.

    네 기능은 맡은 실패가 다르지만 하나의 원칙을 공유한다. 보상의 크기를 키우지 않고, 보상에 도달하는 구조를 바꾼다. 지급 총량은 그대로 둔 채, 돌아오고 · 머물고 · 데려오는 행동이 늘어나게 하는 설계다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    광부 리더보드 구현 및 기존 유저 66명 백필 기록 7건 · 발췌 3 · 2026-06-29

    FOMO 전제 검증 — 실수령 3,000원+ 유저 존재를 운영 데이터로 확인 후 착수

    06-29 15:04원문

    — 광부 리더보드를 만들자 — 종합 스탯, 레벨, 총 획득 포인트가 보이게. 그럼 포모가 오지 않을까? 지금 많이 받은 유저는 3000원이 넘었을텐데

    Claude Code — 리더보드의 데이터 충분도와 FOMO 전제(3,000원+ 유저)를 운영 데이터로 검증 — 구현 타이밍 적절 확인

    실명 노출 차단 — 가입 시 랜덤 닉네임 생성, 리더보드 API·신규 탭 구현

    06-29 15:08원문

    — 이름은 노출하지 말고 랜덤 제너레이팅하자 (기존 유저 이름 없는 사람도 동일 방식) — 가입할 때 생성해서

    Claude Code — 랜덤 닉네임 생성 추가, 종합스탯·레벨·총포인트·총골드 리더보드 API와 앱 4번째 탭 구현

    내 순위 요약 카드 최상단 배치 — prod 배포 시 기존 66명 전원 닉네임 백필

    06-29 15:54원문

    — 내 닉네임 내 스탯 레벨 골드 포인트가 한눈에 최상단에 구분돼서 차라리 보이는게 좋을 듯

    Claude Code — 내 요약 카드를 리더보드 최상단에 배치 — 이후 prod 배포에서 기존 66명 랜덤 닉네임 백필로 실명 노출 차단

    파견 기능 3축 설계 및 보상 수준 확정 기록 5건 · 발췌 3 · 2026-07-13

    파견 착안 — 시간차 보상으로 재방문을 구조화하는 컨텐츠 설계

    07-13 17:30원문

    — 재밌는 컨텐츠가 생각났어 — 파견이라해서 유저에게 총 세개의 선택지를 주는거야 (광고를 보고 선택지를 바꿀 수 있음). 파견지 세개는 각자 소요 시간, 상품이 다 달라

    Claude Code — 파견 기능의 큰 틀 검토 — 동시 1슬롯 · 무료 · 광고 리롤 3회/일 구조

    등급 체계 확정 — 하·중·상·전설 4티어, 소요시간·보상 정의

    07-13 17:43원문

    — 1. 동시 파견은 1개만 2. 비용은 무료 3. 광고 리롤은 3번까지만

    Claude Code — 하·중·상·전설 4티어와 등급별 소요시간·골드·뽑기권 정리

    단일 축에서 3축(등급·특화·모디파이어)으로 확장 — 리롤 수요 창출

    07-13 18:01원문

    — 하 중 상 전설 네개의 차이는 맞는데 종류가 더 많으면 좋을거같아 — 그래야 광고 보고 굴림에 대한 니즈가 생기니까

    Claude Code — 파견을 등급·특화·핫 모디파이어의 3축 구조로 개선

    리듬 채굴 전체 구현 기록 27건 · 발췌 2 · 2026-07-03

    체류 시간 문제의 해법 착안 — 방치형 루프 위에 능동 탭 채굴 추가

    07-03 16:49원문

    — 앱 체류시간이 너무 낮아 이 문제까지를 해결해보는 아이디에이션을 해보자 — 채굴 애니메이션 쪽에 리듬 게임처럼 점점 줄어드는 원을 리듬에 맞춰서 채굴하는 걸 넣어보면 좋겠어

    Claude Code — 리듬 채굴 전체 스펙 정의 — 백엔드(스키마·서비스·엔드포인트)와 프론트 전체 구현

    보상 피드백 정련 — 버는 감각이 눈에 보이게

    07-03 17:40원문

    — 눌렀을 때 perfect나 good이 돼서 뭘 벌었다가 눈에 안보여 — 골드가 벌렸다가 직관적으로 와 닿을 수 있는 효과가 필요해

    Claude Code — 게이지 위치 이동과 골드 획득 피드백 강화

    길드 생성·가입·보상·탈퇴 전체 기능 구현 기록 45건 · 발췌 3 · 2026-07-06

    토스 초대 API·딥링크 검증 — 레퍼럴 경로의 구현 가능성부터 확인

    07-06 17:52원문

    — 우선 토스 초대 기능부터 제대로 확인해봐

    Claude Code — contactsViral·딥링크 문서 검토 — ?crew=코드 형태 딥링크로 초대 구현 가능함을 확인

    길드 설계 확정 — 주간 공동 광맥 게이지·초대 보상·탈퇴 규칙

    07-06 18:18원문

    — 1. 공동 광맥은 아이템 상자만, 초대 보상은 골드와 보석으로만 2. 길드장도 탈퇴 가능하게 3. 게이지는 채굴량+보석 합산 — mvp에서 어뷰징은 생각하지말자

    Claude Code — 1인 1길드 · 주간 공동 게이지 · 5단계 세그먼트 보상 설계 확정

    실데이터 기반 밸런스 — 유저 119명·WAU 59·DAU 11 기준으로 게이지 재설계

    07-06 18:26원문

    — 세그먼트랑 게이지 가중치 실제 prod 데이터로 설계해봐

    Claude Code — prod 데이터 분석(119명·WAU 59·DAU 11) — 대부분 초기 상태임을 확인하고 게이지 기준 재평가

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    신규 유입 정체 돌파 — 두 번째 앱을 하루 만에 만들다 작업 5 · 기록 33건

    문제 — 지원자가 씁니다

    리텐션 기능들이 자리를 잡으면서 남는 사용자는 늘었지만, 새로 들어오는 사용자가 늘지 않았다.

    원인은 플랫폼의 마케팅 구조에 있었다. 앱인토스에서 운영자가 쓸 수 있는 공식 마케팅 도구는 '스마트 발송' — 콘솔에서 푸시·알림 메시지를 만들고 세그먼트를 골라 보내는 기능이다. 문제는 도달량의 통제권이 운영자에게 없다는 점이었다. 실제 운영에서 초기 약 3,000건이 발송된 뒤로는 발송량이 크게 늘지 않았고, 원하는 시점에 원하는 규모로 임의 발송할 수 있는 구조도 아니었다.

    정리하면 이런 상황이었다. 제품은 준비됐는데, 노출량은 플랫폼이 쥐고 있다. 문제를 '메시지를 어떻게 더 보내느냐'가 아니라 '발송 기회 자체를 어떻게 더 얻느냐'로 다시 정의했다.

    판단 — 지원자가 씁니다

    발상을 뒤집었다. 발송 기회는 앱 단위로 주어진다. 그렇다면 앱을 하나 더 만들면, 발송 기회도 하나 더 생긴다.

    '농부 키우기'라는 형제 앱을 만들었다. 핵심은 개발 비용이었다 — 새 게임을 만드는 것이 아니라, 광부 키우기의 서버 구조·게임 설계·기능 전부를 재사용하고 테마만 광산에서 농장으로 교체했다. 채굴은 수확이 되고, 광부는 농부가 됐다. 이 재사용 덕분에 개발은 하루 만에 끝났다.

    두 앱은 서로의 채널이 되도록 연결했다. 인앱 화면에 상대 앱으로 가는 크로스 프로모션을 넣어 — 농부 키우기의 발송으로 유입된 신규 사용자가 광부 키우기까지 흘러오고, 광부 키우기의 기존 사용자는 농부 키우기의 초기 사용자가 된다. 한 앱 몫의 발송 기회가, 두 앱의 노출로 바뀌는 구조다.

    결과적으로 마케팅 예산 없이, 플랫폼의 규칙 안에서, 막혀 있던 유입에 새 경로가 열렸다. 이후 신규 콘텐츠와 미션도 두 앱에 나눠 실으며 상호 유입을 운영의 기본 동선으로 만들었다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    스마트 발송 정체 원인 진단 기록 2건 · 발췌 1 · 2026-06-30

    발송 정체의 원인 규명 — 플랫폼 AI가 예상 클릭률 기준으로 발송량을 조절하는 정상 동작임을 확인

    06-30 13:20원문

    — 스마트 발송에 대해 개발자 커뮤니티 조사해봐 지금 스마트발송이 몇일째 멈춰있어

    Claude Code — 공식 문서와 토스 답변 확인 — AI가 pCTR(예상 클릭률) 기반으로 고관여 유저만 선별해 발송량을 조절하는 설계. 고장이 아니라 정상 동작

    신규 유입 채널 3층위 분석 및 마케팅 전략 정리 기록 3건 · 발췌 2 · 2026-06-30

    유입 채널 3층위 정리 — 혜택탭 프로모션 · 스마트 발송 · 토스애즈

    06-30 13:14원문

    — 스마트 발송 말고 마케팅을 할 방법은 없는거야?

    Claude Code — 신규 유입 채널을 혜택탭 프로모션·스마트 발송·토스애즈의 3층위로 정리 — 과금 모델과 무료 오가닉 채널 특성 비교

    유료 광고(토스애즈) 검토 후 기각 — 포인트 게임 특성상 수지 부적합 판단

    06-30 13:43원문

    — 토스 애즈를 써서 다들 광고를 하는거야 그러면?

    Claude Code — 커뮤니티 사례로 채널별 ROI 비교 — '다들 토스애즈로 광고한다'는 아니며, 포인트 게임은 무료 오가닉 + 성과형 혜택탭이 적합

    미니앱 콘셉트 광산에서 농장으로 전환 기록 1건 · 2026-07-14

    앱 소개·콘셉트 문안을 농장 버전으로 전환

    07-14 13:34원문

    — 픽셀 광산에서 나만의 광부를 키우는 보상형 미니앱이에요 … [기존 소개 문안을 전달하며 전환 요청]

    Claude Code — 농장 버전으로 다시 썼어요

    아이템·재화명 농장 테마 이식 기록 22건 · 발췌 2 · 2026-07-14

    전 화면 용어 이식 — 광산→농장, 광부→농부, 채굴→수확

    07-14 13:07원문

    — 사무소에 워딩 바꾸자 — 1. 광산 사무소 → 농장 사무소 2. 견습 광부 → 견습 농부 3. 채굴 → 수확 4. 광물 납품 → 수확물 납품

    Claude Code — 6개 문구 전부 반영 — 광산→농장, 광부→농부, 채굴→수확, 광물→수확물

    아이템 4종·슬롯명 농장 테마 매핑 — 5개 화면 일괄 반영

    07-14 12:57원문

    — 아이템 한글 이름들 디비 다 바꿔야지 이미지만 바꼈어

    Claude Code — 무기 4종을 삽·낫·쇠스랑·물뿌리개로 교체, 5개 화면의 매핑 통일

    양방향 크로스 프로모션 구현 및 배포 기록 5건 · 발췌 3 · 2026-07-17

    농부 키우기 → 광부 키우기 연결 — 서버 드리븐 배지로 상호 노출 설계

    07-17 14:18원문

    — 더보기에 광부 키우기를 연결하고 싶어 — 빨간점, 한번도 안눌렀다면 그리고 해당 앱에 업데이트가 있을 때마다 서버 드리븐으로 키고 끌 수 있도록. 연결이 가능한가?

    Claude Code — 크로스 앱 연결이 실제로 가능한지 토스 SDK를 직접 뜯어 확인 — 서버 드리븐 배지 로직 구현

    광부 키우기 → 농부 키우기 역방향 연결 — 배지·클릭 추적·유입 분석 포함

    07-17 14:47원문

    — 광부 키우기 커플링 앱을 또 런칭했어 — 더보기 탭에 연결하고 빨간점 서버 드리븐으로

    Claude Code — 역방향 크로스 프로모션 구현 — 더보기 메뉴 배지, 클릭 추적, 대시보드 유입 분석까지

    양쪽 배포 — 백엔드 prod 반영 및 앱 버전 0.2.8 빌드

    07-17 15:00원문

    — 백앤드 배포하고 ait 뽑아줘

    Claude Code — 서버 prod 배포 및 헬스체크, 크로스 프로모션 버전 플래그 반영

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    ChrisDiffin 개발자

    실제 이력 — 본인의 AI 업무 기록에서 그대로 가져왔습니다

    세션 로그 원문 대조 완료

    기존 이력 — LinkedIn에서 그대로지원자가 가져옵니다
    경력·학력 — 기존 이력서 LinkedIn 프로필 연동
    경력LinkedIn 프로필 연동 예정
    학력연동 예정
    기본 정보연동 예정

    기존 이력은 편집 없이 그대로 가져와 아래 문제정의서의 기단이 됩니다.

    문제정의서 — 에이전트 간 통화 도구(Magpie) 개발판단 카드 3장 · AI 업무 기록 연동 · 2026
    배포 형태 결정 — 설치 허들이 배보다 배꼽이면 제품이 아니다 작업 2 · 기록 5건

    문제 — 지원자가 씁니다

    서로 다른 머신의 AI 에이전트끼리 실시간으로 합의하게 하려면 중계(relay) 서버가 필요하다. 초기 설계는 그 서버를 유저가 직접 띄우거나 터널 도구를 설치하는 쪽이었다.

    이 도구의 존재 이유는 "복사·붙여넣기가 귀찮다"는 수준의 불편을 없애는 것이다. 그 불편을 없애자고 더 복잡한 설정을 요구하면 배보다 배꼽이 커진다 — 온보딩이 무너지면 기능이 아무리 돌아도 제품이 아니다.

    판단 — 지원자가 씁니다

    기준을 "유저 측 설정 0 — 카카오톡을 여는 수준"으로 놓고 대안을 소거했다. 유저별 터널 도구 설치는 허들 그 자체라 기각. 안 쓰는 맥북으로 직접 호스팅하는 안은 실제로 검토까지 갔지만 재부팅·주소 고정 문제가 남아 기각했다.

    결론은 우리가 서버를 호스팅하는 것 — fly.io에 월 커피 한 잔 수준의 고정비로 relay를 올려, 유저는 초대 코드 한 줄만 주고받으면 되게 했다. 결제 전에 과금이 트래픽에 어떻게 비례하는지 확인해 폭주 조건이 없음을 검증했다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    배포 방식 탐색과 기각 기록 3건 · 발췌 3 · 2026-07-05~06

    설치 허들 문제 제기 — 온보딩 기준으로 설계 재검토

    2026-07-05원문

    — 유저가 그냥 딸깍으로 안되고, 저 3가지 중에 하나를 써야 하는 거잖아? 그게 난 지금 엄청나게 큰 허들이라고 생각하거든? … 이건 지금 배보다 배꼽이 큰 것 같아. 온보딩은 간단해야 한다고. 지금 설계를 아예 바꾸던가, 아니면 다시 해야 해.

    Claude Code — 지적이 정확하고, 이건 우리가 스스로 만든 모순입니다. Zoom이 간단한 이유는 Zoom이 서버를 호스팅하기 때문입니다. 뒤집어야 하는 건 설계가 아니라 "we host NOTHING" 정책 결정 하나입니다.

    눈높이 설정 — "카카오톡을 여는 수준"을 기준선으로

    2026-07-05원문

    — 지금 그냥 단순히 다음 단계만 생각하지 말고, 전체 단계를 생각해봐. … 그냥 카카오톡 창을 열고, 카톡을 써서 보내는 수준으로 간단해졌으면 좋겠어. 불가능하더라도 그거에 가깝게 난이도가 수렴하는 거야.

    Claude Code — 카카오톡이 간단한 이유를 분해하면 설치 한 번·친구 목록·비동기, 셋입니다. 호스팅만으로는 카톡이 안 되고 Zoom이 됩니다 — 이 셋을 각각 대응시켜야 합니다.

    맥북 직접 호스팅 검토 — 무중단 이전 전제로 임시 채택 후 기각

    2026-07-06원문

    — 안 쓰는 맥북 있어서, 이걸로 해볼까? 유저가 생기면 서비스 끄지 않고 옮기기만 하면 되잖아. relay를 2대 띄우고 한 대는 끄는 것처럼 가면 중간에 장애도 없을 거라고 생각하고.

    Claude Code — 지금 단계엔 정답입니다. $0, 카드·도메인 불필요, 실제 dogfood 가능. 다만 "2대 띄우고 한 대 끈다"의 메커니즘에 오해가 하나 있어 바로잡으면 무중단 이전이 더 쉬워집니다.

    호스팅 확정과 비용 검증 기록 2건 · 발췌 2 · 2026-07-10

    fly.io 확정 — 고정비와 운영 리스크의 교환 판단

    2026-07-10원문

    — 고정비를 감안해도 fly.io가 가장 합리적인 것 같아. 한 달에 커피 한 잔으로 지금 서비스가 유지될 수 있고, 불필요한 맥북이 필요하다거나 재부팅 프로세스를 감안하지 않아도 되는 거 아니야?

    Claude Code — 네, 정확합니다. 고정 주소, 재부팅 개념 자체가 없음, 맥북·터널 전부 불필요 — 월 ~$2 고정비로 "서버 걱정" 항목이 통째로 삭제됩니다.

    결제 전 과금 폭주 조건 검증

    2026-07-10원문

    — pay as you go plan? 쓰는 만큼 나오는 것 같은데, 잘못해서 과금 폭탄이 되는 것은 아니려나?

    Claude Code — 이 워크로드에서 과금 폭탄 가능성은 사실상 없습니다. VM 1대 고정 ~$2/mo, 통화 1건 ≈ 50KB라 하루 1,000통화를 해도 트래픽 비용은 월 ~$0.05 수준입니다.

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    크로스-하네스 검증 — 우리 환경의 OK는 유저의 OK가 아니다 작업 2 · 기록 4건

    문제 — 지원자가 씁니다

    도구는 Claude Code 환경에서만 검증돼 있었다. 실제 유저는 codex, antigravity 같은 다른 에이전트, 다른 OS에서 쓸 수 있고, 그 조합에서 깨지는지 모른 채 릴리스하면 첫 사용 경험에서 죽는다.

    "우리 환경에서 되는 것"과 "유저 환경에서 되는 것"은 증거 수준이 다른 주장이라는 것이 문제의 핵심이었다.

    판단 — 지원자가 씁니다

    릴리스를 멈추고 검증을 앞에 세웠다 — 매끄러운지 확인하지 못한 채 버전을 올리는 것은 무의미하다고 판단했다. '스모크 테스트'라는 제안도 그대로 받지 않고 정확히 무엇을 실행하는 것인지 캐물어 범위를 확정한 뒤에 넣었다.

    각 하네스를 직접 설치해 실제 통화로 교차 테스트했고, OS 매트릭스는 CI가 커밋마다 자동 검증하게 만들었다. 항상 통과하는 테스트는 없느니만 못하다는 기준으로 가짜 통과 가능성까지 적대적으로 점검했다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    검증 범위 확정 기록 3건 · 발췌 3 · 2026-07-12~28

    교차 테스트 공백 지적 — 미검증 영역을 명시적으로 분리

    2026-07-12원문

    — 크로스-harness test는 다 된 건가? codex, antigravity끼리도 다 되는 건가? 우리가 지금 claude와 다른 harness만 테스트해봐서. … 내가 각 harness에서 UI/사용성 테스트를 안 해봐서, 괜찮은 상태인 건지는 모르겠네 정확히.

    Claude Code — 특히 마지막(UI/사용성 미검증)이 지금 가장 정확한 직감입니다. 버전 숫자는 유저 0명 단계에선 저비용 신호일 뿐이고, 지금 태그할 필요는 없습니다.

    주장의 증거 수준 구분 — 환경별로 아는 것과 모르는 것

    2026-07-28원문

    — 그러니까 우리 환경에서는 ok인데 다른 사람들이 써봤을 때 문제가 있는지 모른다는 거지? linux 같은 os도 그렇고, 다른 사람들의 agent가 claude가 아닐 수도 있고.

    Claude Code — 셋을 뭉뚱그리면 안 된다. 증거 수준이 다르다. 하나는 확인하고 답하겠다.

    '스모크 테스트'의 정의를 캐물어 범위 확정

    2026-07-28원문

    — 그러니까 그걸 단순히 코드를 넣는다는 거야? 아니면 테스트까지 해보겠다는 거야? 코드만 넣으면 끝이라는 거면 그렇게 하고, 다른 것도 해야 한다는 거면 얘기가 조금 달라질 것 같고.

    Claude Code — 코드 넣는 게 곧 테스트다. push하면 CI가 바로 실행하고 5분 뒤 결과가 온다. 다만 항상 통과하는 스모크 테스트는 없느니만 못하다 — 작성 후 "가짜 통과" 가능성을 적대적으로 검증하겠다.

    릴리스 규율 기록 1건 · 발췌 1 · 2026-07-14

    검증 전 릴리스 중단 — 버전 태그보다 매끄러움 확인이 먼저

    2026-07-14원문

    — 그냥 자꾸 release를 새로 할 필요는 없어. 매끄러운지 체크도 못했는데 release를 해서 뭐해.

    Claude Code — 매끄러운지 확인도 안 하고 릴리스하는 건 무의미하죠. 재테스트 세팅합니다.

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    실사용 검증 — 합의까지 완주하지 못하면 연결은 기능이 아니다 작업 1 · 기록 3건

    문제 — 지원자가 씁니다

    데모에서 두 에이전트의 연결은 됐다. 그러나 실제 통화에서는 대화가 중간에 어색하게 끊겼다. 이 도구의 가치는 "연결됨"이 아니라 양쪽 에이전트가 합의에 도달할 때까지 완주하는 것이다 — 끊김은 사소한 버그가 아니라 제품 성립 조건의 실패다.

    판단 — 지원자가 씁니다

    시작하는 쪽이 목적을 갖고, 붙는 쪽이 응답하며, 둘이 합의로 수렴하는 루프를 기준으로 못 박고 실제 통화를 반복해 검증했다. 검증 순서도 직접 통제했다 — 코드베이스 탐색은 뒤로 미루고 질문부터 보내게 해서, 실패를 먼저 관찰하고 원인을 나중에 대조했다.

    검증 도구는 개발 중인 그 도구 자체였다. relay 수평 확장 설계 같은 실제 설계 질문을 상대 에이전트에게 걸어, 답을 우리 코드베이스와 대조하며 합의까지 완주하는지 확인했다. 수정 후 재통화에서 끊김이 사라진 것을 통화 기록으로 확인했다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    실통화 검증 루프 기록 3건 · 발췌 3 · 2026-07-14~15

    합의 루프를 성립 조건으로 규정 — 끊김은 결함

    2026-07-14원문

    — 당연히 연결하는 쪽이 물어보거나 할 텐데, 그 둘이 합의 보게끔 해야지. … 다시 시작해보자. 중간에 어색하게 끊기지 않도록. 이게 안 되면 안 될 것 같음.

    Claude Code — 정확히 맞습니다 — 시작하는 쪽이 목적을 갖고, 붙는 쪽이 응답하며, 둘이 합의로 수렴해야 합니다. 문제는 제 쪽이 "답하는 쪽"이 아니라 또 "묻는 쪽"이었던 것.

    검증 순서 통제 — 관찰 먼저, 원인 대조는 나중

    2026-07-14원문

    — 코드베이스 정밀 탐색은 나중에 하고, 일단 질문부터 상대한테 보내. 답 받고 나서 검증해.

    Claude Code — 드라이버 트랜스크립트를 보니 작동하고 있습니다 — 그것도 인상적으로. 아까 "멈춤"은 제 오진이었고, 실제론 상대 에이전트가 답을 짓는 중이었습니다.

    수정 후 재통화 — 끊김 소멸을 통화 기록으로 확인

    2026-07-15원문

    — (재통화 드라이버 기록 전달) sb_ask waits for the peer to join, so this will park until their agent connects — no polling needed.

    Claude Code — 당신 드라이버가 수정이 작동한다는 걸 직접 증언했습니다. 예전의 어색한 "relay won't accept, retrying every 30s"가 완전히 사라졌습니다.

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    박○○그로스 마케터 · 5년

    가상 예시 — 직군별 카드의 감각을 보여주기 위한 프로필입니다

    가상 예시 프로필

    기존 이력 — LinkedIn에서 그대로지원자가 가져옵니다
    경력·학력 — 기존 이력서 LinkedIn 프로필 연동
    경력(주)○○커머스 · 그로스 마케터 · 3년 / ○○랩스 · 퍼포먼스 마케터 · 2년
    학력○○대학교 경영학과
    기본 정보서울 · 이직 의사 있음

    기존 이력은 편집 없이 그대로 가져와 아래 문제정의서의 기단이 됩니다.

    문제정의서 — 그로스 마케팅판단 카드 3장 · 가상 예시
    주간 성과 리포트 자동화 — 사람이 판단할 시간을 되찾기 작업 3 · 기록 12건

    문제 — 지원자가 씁니다

    주간 성과 리포트에 매주 이틀이 들어갔다. 광고 매체 네 곳과 내부 지표를 각각 내려받아 수치를 맞추고, 표를 만들고, 요약을 쓰는 일이었다.

    이틀 중 실제 판단에 쓰는 시간은 마지막 한두 시간뿐이었다. 나머지는 옮기고 맞추는 작업이다. 업무가 느린 것이 아니라, 판단에 쓸 시간을 수집에 빼앗기고 있는 것이 문제였다.

    판단 — 지원자가 씁니다

    외부 리포팅 도구 도입을 먼저 검토했으나 기각했다. 우리 내부 지표 정의와 맞지 않아 결국 수치를 다시 맞춰야 했고, 그러면 없애려던 작업이 그대로 남는다.

    대신 AI 에이전트로 수집·정합·초안 작성까지를 자동화하고, 해석과 판단만 사람이 하는 구조를 만들었다. 매체별 데이터를 받아 내부 지표 정의에 맞춰 정렬하고, 전주 대비 변화가 큰 항목을 추려 초안까지 만들어 두는 방식이다.

    자동화에서 가장 조심한 것은 수치의 신뢰였다. 합계가 맞지 않거나 매체 데이터가 지연되면 리포트를 만들지 않고 멈추게 했다 — 틀린 숫자가 담긴 리포트는 없느니만 못하기 때문이다. 해석 문장도 AI가 단정하지 않고 변화가 큰 항목만 제시하게 하고, 원인 판단은 사람이 쓰도록 남겼다.

    이틀 걸리던 작업이 반나절로 줄었고, 확보된 시간은 가설 설계와 소재 검토에 썼다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    리포트 작업 시간 분해 및 도구 검토 기록 4건 · 가상 예시

    작업 단계별 소요 시간 분해 — 판단 시간이 전체의 일부임을 확인

    가상 예시원문

    — 리포트 만드는 데 이틀 쓰는데, 단계별로 시간이 어디에 들어가는지부터 쪼개보자

    Claude Code — 수집·정합·표 작성·해석 4단계 소요 분해 — 수집과 정합이 대부분을 차지

    외부 리포팅 도구 검토 후 기각 — 내부 지표 정의 불일치

    가상 예시원문

    — 툴 도입하면 우리 지표 정의랑 안 맞아서 결국 다시 맞춰야 하지 않을까? 그럼 의미 없어

    Claude Code — 도구별 지표 커스터마이즈 범위 확인 — 내부 정의와 불일치 확인, 도입 실익 낮음

    자동화 파이프라인 구현 기록 5건 · 가상 예시

    매체별 수집·내부 지표 정렬 자동화

    가상 예시원문

    — 매체 네 곳 데이터 받아서 우리 지표 정의에 맞춰 정렬하는 것까지 자동으로 돌리자

    Claude Code — 매체별 수집 및 지표 매핑 구현 — 정의 불일치 항목은 별도 표기

    정합 실패 시 중단 게이트 — 틀린 수치의 리포트 생성 차단

    가상 예시원문

    — 합계가 안 맞거나 데이터가 늦게 들어오면 리포트를 만들지 말고 멈춰. 틀린 숫자가 도는 게 제일 위험해

    Claude Code — 합계 검증·지연 감지 게이트 추가 — 불일치 시 생성 중단 및 알림

    해석 범위 제한 및 운영 정착 기록 3건 · 가상 예시

    AI 해석 범위 제한 — 변화 항목 제시까지, 원인 판단은 사람이

    가상 예시원문

    — 원인을 AI가 단정하게 하지 마. 변화가 큰 항목만 뽑아주고 해석은 내가 쓴다

    Claude Code — 해석 단계 범위 축소 — 변화 항목 추출까지만 자동, 원인 서술은 사람 입력으로 분리

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    신규 유입 정체의 원인 재정의 — 채널이 아니라 메시지 작업 3 · 기록 11건

    문제 — 지원자가 씁니다

    신규 가입이 넉 달째 정체였다. 팀의 기본 가정은 '채널이 부족하다'였고, 예산 증액과 신규 채널 확대가 다음 수순으로 논의되고 있었다.

    그런데 지표를 나눠보니 유입 자체는 줄지 않았다. 줄어든 것은 유입 이후의 전환이었다. 광고를 보고 들어온 사람과 서비스가 실제로 주는 것 사이에 어긋남이 있다는 뜻이었다. 문제를 '채널 부족'이 아니라 '메시지와 제품의 불일치'로 다시 정의했다.

    판단 — 지원자가 씁니다

    예산 증액을 먼저 기각했다. 메시지가 어긋난 상태에서 유입을 늘리면 이탈만 비싸진다. 대신 기존 예산 안에서 메시지 가설 네 개를 동시에 시험하는 방식을 택했다 — 채널은 그대로 두고 소재만 갈랐다.

    가설 설계에는 AI를 활용했다. 최근 6개월 CS 문의와 취소 사유 전체를 읽혀 고객이 실제로 쓰는 표현을 뽑고, 그중 제품이 실제로 제공하는 것만 남겼다. 제품에 없는 것을 약속하는 소재는 성과가 나와도 채택하지 않는 것을 기준으로 삼았다.

    2주 뒤 한 가설이 전환율에서 뚜렷하게 앞섰고, 이후 랜딩과 온보딩 문구를 그 메시지로 통일했다. 채널 확대는 메시지가 검증된 다음으로 미뤘다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    유입·전환 지표 분해 및 원인 가설 수립 기록 4건 · 가상 예시

    구간별 지표 분해 — 유입은 유지, 전환에서 하락이 발생함을 특정

    가상 예시원문

    — 신규 가입이 안 늘어. 채널을 늘리자는 얘기가 나오는데, 그 전에 어디서 빠지는지부터 보자

    Claude Code — 유입·가입·활성 구간별 분해 — 유입량은 전년 수준 유지, 가입 전환에서 하락 확인

    CS 문의·취소 사유 전수 분석 — 고객이 실제로 쓰는 표현 추출

    가상 예시원문

    — 최근 6개월 CS 문의랑 취소 사유 다 읽고, 고객이 자기 문제를 어떤 말로 부르는지 뽑아줘

    Claude Code — 문의 1,400여 건 분류 — 고객 표현 군집 6개 추출

    메시지 가설 4종 A/B 설계 및 집행 기록 5건 · 가상 예시

    가설 4종 설계 — 제품이 실제 제공하는 것만 소재로 채택

    가상 예시원문

    — 제품에 없는 걸 약속하는 소재는 빼줘. 성과가 나와도 그건 못 써

    Claude Code — 제품 기능 대조표로 소재 검수 — 미보유 기능 언급 2건 제외 후 4종 확정

    2주 집행 결과 판정 — 한 가설의 전환 우위 확인

    가상 예시원문

    — 유의미한 차이가 맞는지, 표본이 충분한지부터 확인하고 결론 내자

    Claude Code — 구간별 전환 비교 및 표본 충분성 검토 — 1개 가설의 우위 확인

    랜딩·온보딩 문구 통일 적용 기록 2건 · 가상 예시

    검증된 메시지로 전 접점 문구 통일

    가상 예시원문

    — 검증된 메시지로 랜딩이랑 온보딩까지 다 맞추자. 광고만 바뀌면 또 어긋나

    Claude Code — 랜딩 히어로·온보딩 3단계 문구 통일 적용

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    리텐션 개선 — 이탈 시점이 아니라 이탈 이유부터 작업 2 · 기록 7건

    문제 — 지원자가 씁니다

    4주차 이탈률이 높다는 것은 모두가 알고 있었다. 그러나 대응은 늘 이탈 시점에 쿠폰을 보내는 방식이었고, 효과는 그때뿐이었다.

    이탈은 결과이지 원인이 아니다. 4주차에 떠나는 사람과 남는 사람이 첫 주에 무엇을 다르게 했는지를 아는 것이 문제라고 판단했다.

    판단 — 지원자가 씁니다

    쿠폰 확대를 기각했다. 잔존 코호트와 이탈 코호트의 첫 주 행동을 비교해, 남는 사람들이 공통으로 통과하는 지점을 찾는 쪽을 택했다.

    분석 결과 첫 주에 특정 기능을 두 번 이상 쓴 사용자의 잔존이 뚜렷하게 높았다. 다만 이것이 원인인지 단순 상관인지를 구분해야 했다 — 원래 의욕이 높은 사용자가 그 기능도 많이 쓴 것일 수 있다. 그래서 신규 사용자 일부에게만 해당 기능을 온보딩에 넣어 비교했고, 그 집단의 잔존이 실제로 올라가는 것을 확인한 뒤에 전체 적용했다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    코호트 행동 비교 분석 기록 4건 · 가상 예시

    잔존·이탈 코호트의 첫 주 행동 차이 추출

    가상 예시원문

    — 4주차에 남은 사람들이 첫 주에 뭘 했는지, 떠난 사람들과 비교해서 뽑아줘

    Claude Code — 코호트 분리 후 첫 주 행동 빈도 비교 — 특정 기능 2회 이상 사용군의 잔존 우위 확인

    상관과 인과의 구분 — 사용자 성향 편향 가능성 검토

    가상 예시원문

    — 근데 이건 원래 의욕 높은 사람이 그 기능도 쓴 걸 수도 있잖아. 인과라고 말할 수 있어?

    Claude Code — 선택 편향 가능성 확인 — 인과 주장 불가, 개입 실험 설계 제안

    온보딩 개입 실험 및 전면 적용 기록 3건 · 가상 예시

    신규 사용자 일부에 온보딩 개입 — 잔존 상승 확인 후 전체 적용

    가상 예시원문

    — 일부에게만 그 기능을 온보딩에 넣고 4주 보자. 올라가면 그때 전체로

    Claude Code — 개입군·대조군 4주 관찰 — 개입군 잔존 상승 확인, 전체 적용

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    이○○프로덕트 디자이너 · 4년

    가상 예시 — 직군별 카드의 감각을 보여주기 위한 프로필입니다

    가상 예시 프로필

    기존 이력 — LinkedIn에서 그대로지원자가 가져옵니다
    경력·학력 — 기존 이력서 LinkedIn 프로필 연동
    경력(주)○○테크 · 프로덕트 디자이너 · 4년
    학력○○대학교 시각디자인학과
    기본 정보서울 · 포트폴리오 별도 제공

    기존 이력은 편집 없이 그대로 가져와 아래 문제정의서의 기단이 됩니다.

    문제정의서 — 프로덕트 디자인판단 카드 3장 · 가상 예시
    디자인 QA 자동화 — 눈으로 잡던 불일치를 검사로 작업 3 · 기록 11건

    문제 — 지원자가 씁니다

    개발 결과물과 디자인 원본의 차이를 매 배포마다 눈으로 대조했다. 간격, 색상, 폰트 크기 같은 항목이었고, 놓치면 배포 후에 발견됐다.

    사람의 주의력에 기대는 검사는 반복될수록 정확도가 떨어진다. 실제로 같은 유형의 불일치가 반복 보고되고 있었다. 더 꼼꼼히 보는 것으로는 풀리지 않는 문제였다.

    판단 — 지원자가 씁니다

    체크리스트 강화를 기각했다. 이미 있는 체크리스트를 지키지 못한 것이 아니라, 사람이 매번 픽셀을 세는 방식 자체가 지속 불가능했기 때문이다.

    대신 기계가 판정할 수 있는 항목과 사람이 봐야 하는 항목을 분리했다. 간격·색상·폰트 크기처럼 정답이 수치로 정해지는 항목은 배포 전 자동 검사로 넘기고, 위계나 여백의 인상처럼 판단이 필요한 항목만 사람이 보게 했다.

    자동 검사는 AI로 구현하되 기준값을 디자인 토큰에서만 읽어오게 했다. 검사기가 자체 기준을 갖게 되면 정본이 둘이 되어, 오히려 불일치의 원인이 된다고 봤기 때문이다. 도입 초기에는 오검출이 나올 것을 전제하고, 2주간은 차단 없이 보고만 하도록 두고 규칙을 다듬은 뒤 게이트로 승격했다.

    배포 후 발견되던 불일치가 배포 전에 걸리기 시작했고, 사람의 검토는 판단이 필요한 항목에 집중됐다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    불일치 유형 분류 — 기계 판정 가능 여부 기준 기록 4건 · 가상 예시

    반복 보고된 불일치 유형 분류 — 수치 판정 항목과 판단 항목 분리

    가상 예시원문

    — 지금까지 나온 불일치들 다 모아서, 수치로 정답이 정해지는 것과 사람이 봐야 하는 걸로 나눠줘

    Claude Code — 불일치 유형 분류 — 수치 판정 가능 항목과 주관 판단 항목으로 이원화

    체크리스트 강화안 기각 — 반복 검사의 정확도 한계 확인

    가상 예시원문

    — 체크리스트를 더 만드는 건 의미 없을 것 같아. 안 지킨 게 아니라 매번 픽셀을 세는 게 무리인 거잖아

    Claude Code — 기존 체크리스트 준수율 확인 — 항목 추가가 아니라 판정 주체 변경이 필요

    자동 검사 구현 — 토큰 단일 정본 원칙 기록 4건 · 가상 예시

    디자인 토큰에서만 기준값을 읽는 검사기 구현

    가상 예시원문

    — 검사기가 자기 기준값을 갖게 하지 마. 토큰에서만 읽어와야 정본이 하나로 유지돼

    Claude Code — 토큰 참조 방식으로 검사 구현 — 하드코딩 기준값 배제

    2주 보고 전용 운영 후 게이트 승격

    가상 예시원문

    — 처음부터 배포를 막으면 오검출로 팀이 지쳐. 2주는 보고만 하고 규칙 다듬은 다음에 막자

    Claude Code — 보고 전용 기간 운영 및 오검출 규칙 보정 — 이후 배포 게이트로 승격

    운영 결과 확인 기록 3건 · 가상 예시

    배포 전 검출로 전환 — 사람 검토는 판단 항목에 집중

    가상 예시원문

    — 자동 검사 들어간 뒤로 배포 후 발견되는 게 줄었는지, 사람이 보는 항목은 뭐가 남았는지 정리해줘

    Claude Code — 도입 전후 비교 — 배포 후 발견 건 감소, 사람 검토는 위계·여백 판단 항목으로 집중

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    가입 이탈 문제 재정의 — 화면이 아니라 요구 순서 작업 3 · 기록 10건

    문제 — 지원자가 씁니다

    가입 절차에서 이탈이 컸다. 개선 요청은 'UI를 더 깔끔하게'였고, 직전 두 번의 개편도 시각 정리에 그쳤으며 수치는 움직이지 않았다.

    화면 기록을 보니 이탈은 특정 화면이 아니라 특정 요구가 나오는 순간에 몰려 있었다. 아직 서비스의 가치를 경험하기 전인데 결제 수단과 신원 정보를 먼저 요구하고 있었다. 문제는 화면의 완성도가 아니라 요구의 순서였다.

    판단 — 지원자가 씁니다

    시각 개편을 기각했다. 대신 가입에서 요구하는 정보를 '지금 꼭 필요한 것'과 '나중에 받아도 되는 것'으로 분리하고, 사용자가 가치를 한 번 경험한 뒤에 나머지를 요구하도록 순서를 바꿨다.

    순서 변경은 법무·결제 요건과 충돌할 수 있어, 각 정보를 왜 그 시점에 받는지 담당 팀과 근거를 맞춘 뒤 확정했다. 반대로 미룰 수 없는 항목은 미루지 않았다 — 전환을 위해 규정을 우회하는 설계는 하지 않는 것을 기준으로 삼았다.

    개편 후 가입 완료율이 개선됐고, 뒤로 미룬 정보의 최종 수집률도 유지됐다. '깔끔한 화면'이 아니라 '요구의 순서'가 문제였음이 수치로 확인됐다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    이탈 지점 분석 — 화면 단위에서 요구 단위로 기록 4건 · 가상 예시

    이탈이 화면이 아니라 정보 요구 시점에 몰려 있음을 특정

    가상 예시원문

    — 화면별로 보지 말고, 어떤 정보를 요구하는 순간에 사람들이 나가는지로 다시 묶어줘

    Claude Code — 단계별 이벤트를 요구 항목 기준으로 재집계 — 결제 수단·신원 정보 요구 시점에 이탈 집중

    요구 항목의 필수·유예 분류

    가상 예시원문

    — 이 중에 지금 꼭 받아야 하는 게 뭐고, 나중에 받아도 되는 게 뭔지 근거랑 같이 정리해줘

    Claude Code — 항목별 수집 시점 요건 정리 — 필수 3, 유예 가능 5로 분류

    법무·결제 요건 대조 기록 3건 · 가상 예시

    유예 항목의 규정 충돌 여부 확인 — 미룰 수 없는 항목은 유지

    가상 예시원문

    — 전환 올리자고 규정 우회하는 설계는 안 해. 미룰 수 없는 건 그대로 두자

    Claude Code — 각 항목의 수집 시점 요건 대조 — 유예 불가 2건 확인, 원위치 유지

    가입 흐름 재설계 및 결과 확인 기록 3건 · 가상 예시

    가치 경험 후 정보 요구로 순서 변경 — 완료율 개선·최종 수집률 유지

    가상 예시원문

    — 바꾸고 나서 완료율만 보지 말고, 뒤로 미룬 정보가 결국 다 모이는지도 같이 봐야 해

    Claude Code — 개편 후 가입 완료율 개선 확인, 유예 항목 최종 수집률 기존 수준 유지

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    디자인 시스템 도입 판단 — 만들지 않고 좁히기 작업 2 · 기록 6건

    문제 — 지원자가 씁니다

    화면마다 버튼과 색이 조금씩 달랐다. 팀의 결론은 '디자인 시스템을 처음부터 제대로 구축하자'였고, 예상 기간은 한 분기였다.

    실제로 쓰이는 요소를 세어보니 불일치의 대부분이 소수의 컴포넌트에서 나오고 있었다. 전면 구축은 비용은 확실하고 효과는 나중에 오는 선택이었다.

    판단 — 지원자가 씁니다

    전면 구축을 미루고, 불일치가 집중된 상위 컴포넌트부터 정본을 정하는 방식을 택했다. 새로 만드는 것이 아니라, 이미 쓰이는 변형 중 하나를 정본으로 고르고 나머지를 흡수시키는 순서다.

    진행에는 AI를 활용해 코드베이스 전체에서 컴포넌트 사용처와 변형을 전수 추출했다. 다만 기계가 뽑은 목록을 그대로 신뢰하지 않고, 상위 항목은 실제 화면과 대조해 오검출을 걸러낸 뒤 확정했다.

    2주 만에 주요 불일치가 정리됐고, 전면 구축은 이 정본들이 자리 잡은 뒤로 미뤘다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    컴포넌트 사용처·변형 전수 추출 기록 3건 · 가상 예시

    코드베이스 전수 스캔 — 불일치 집중 컴포넌트 특정

    가상 예시원문

    — 버튼이랑 색상값이 실제로 몇 가지 변형으로 쓰이는지 코드 전체에서 뽑아줘

    Claude Code — 컴포넌트 사용처 전수 추출 — 변형 집중 상위 항목 식별

    기계 추출 결과의 오검출 검수

    가상 예시원문

    — 이거 그대로 믿으면 안 될 것 같아. 상위 항목은 실제 화면이랑 대조해서 확인하자

    Claude Code — 상위 항목 화면 대조 — 오검출 일부 확인 후 목록 정정

    정본 확정 및 흡수 적용 기록 3건 · 가상 예시

    기존 변형 중 정본 선택 후 나머지 흡수 — 신규 제작 없이 정리

    가상 예시원문

    — 새로 만들지 말고, 지금 쓰는 것 중에 하나를 정본으로 정하고 나머지를 거기로 모으자

    Claude Code — 정본 선정 및 치환 적용 — 주요 불일치 해소

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    김○○백엔드 엔지니어 · 6년

    가상 예시 — 직군별 카드의 감각을 보여주기 위한 프로필입니다

    가상 예시 프로필

    기존 이력 — LinkedIn에서 그대로지원자가 가져옵니다
    경력·학력 — 기존 이력서 LinkedIn 프로필 연동
    경력(주)○○페이 · 백엔드 엔지니어 · 6년
    학력○○대학교 컴퓨터공학과
    기본 정보서울 · 결제·정산 도메인

    기존 이력은 편집 없이 그대로 가져와 아래 문제정의서의 기단이 됩니다.

    문제정의서 — 결제 플랫폼판단 카드 3장 · 가상 예시
    배포 파이프라인 자동화 — 수작업 배포를 걷어내기 작업 3 · 기록 12건

    문제 — 지원자가 씁니다

    배포가 수작업이었다. 정해진 순서대로 명령을 실행하고, 로그를 보며 다음 단계로 넘어가는 방식이었다. 한 번에 40분이 걸렸고, 배포자가 누구냐에 따라 결과가 미묘하게 달랐다.

    문제는 시간보다 재현되지 않는다는 점이었다. 순서를 하나 건너뛰어도 대부분은 문제없이 넘어가고, 특정 조건에서만 사고가 난다. 사람이 매번 정확히 같은 일을 하도록 요구하는 절차는 언젠가 어긋난다.

    판단 — 지원자가 씁니다

    배포 문서를 정교하게 다듬는 방향을 기각했다. 문서는 지켜지지 않을 때 아무것도 막지 못한다. 절차를 코드로 고정해 사람이 순서를 선택할 여지를 없애는 쪽을 택했다.

    구현은 AI와 함께했지만, 순서와 안전장치는 직접 정했다. 기존 배포에서 사람이 로그를 보고 판단하던 지점을 모두 기계가 판정할 수 있는 조건으로 번역하고, 조건이 충족되지 않으면 다음 단계로 넘어가지 않게 했다. 되돌리기는 자동화 첫 단계에 넣었다 — 앞으로 가는 것보다 되돌아오는 길을 먼저 확보해야 한다고 봤다.

    검증은 실제 배포 전에 같은 절차를 스테이징에서 반복 실행해 매번 동일한 결과가 나오는지 확인하는 방식으로 했다. 40분이 걸리던 배포가 몇 분으로 줄었고, 무엇보다 누가 하든 같은 절차로 돌아가게 됐다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    수작업 배포 절차 분해 및 위험 지점 식별 기록 4건 · 가상 예시

    배포 단계 전수 기록 — 사람의 판단이 개입하는 지점 특정

    가상 예시원문

    — 지금 배포에서 사람이 로그 보고 판단하는 지점이 어디어디인지 전부 뽑아줘

    Claude Code — 배포 절차 전 단계 기록 — 사람 판단 개입 지점 식별

    배포 문서 정비안 기각 — 문서는 위반을 막지 못함

    가상 예시원문

    — 문서를 아무리 잘 써도 안 지키면 그만이야. 절차를 코드로 고정하자

    Claude Code — 문서 기반 관리의 한계 확인 — 코드 고정 방식으로 전환

    파이프라인 구현 — 조건 게이트와 롤백 우선 기록 5건 · 가상 예시

    사람 판단 지점을 기계 판정 조건으로 번역

    가상 예시원문

    — 로그 보고 판단하던 걸 전부 조건으로 바꿔줘. 조건 안 맞으면 다음으로 못 넘어가게

    Claude Code — 단계별 통과 조건 정의 및 게이트 구현 — 미충족 시 진행 중단

    되돌리기를 자동화 첫 단계로 구현

    가상 예시원문

    — 롤백부터 만들자. 앞으로 가는 것보다 되돌아오는 길이 먼저 있어야 해

    Claude Code — 롤백 경로 우선 구현 및 검증 — 이후 전진 단계 자동화 진행

    반복 실행 검증 및 전환 기록 3건 · 가상 예시

    스테이징 반복 실행으로 결과 동일성 확인 후 실배포 전환

    가상 예시원문

    — 실배포 전에 스테이징에서 여러 번 돌려서 매번 같은 결과 나오는지부터 확인하자

    Claude Code — 스테이징 반복 실행 검증 — 결과 동일성 확인 후 실배포 파이프라인 전환

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    결제 중복 발급 구조 전환 — 멱등키 도입 기록 27건 · 3주

    문제 — 지원자가 씁니다

    월 3~5건, 건당 평균 18만 원의 중복 결제가 넉 달째 이어졌다. 결제 성공률 대시보드에는 잡히지 않았고, CS의 환불 처리에서만 드러났다. 결제 생성·재시도 워커·웹훅 컨슈머 세 경로가 같은 상태를 각자 갱신하고 있어서, 로그를 이어 붙여도 발생 순서가 복원되지 않았다.

    '로그 레벨을 올려 한 달 더 관찰하자'는 안부터 기각했다 — 발생 조건을 모르는 채로는 무엇을 수집할지조차 정할 수 없다. 그래서 문제를 '중복 결제 버그'가 아니라 결제 상태가 단일 진실원 없이 세 곳에서 각자 갱신되는 구조로 다시 정의했다. 고칠 대상은 코드 한 줄이 아니라 상태의 소유권이었다.

    판단 — 지원자가 씁니다

    재시도 로직만 고치는 안은 하루면 끝났지만, 중복 발급 경로가 두 곳 이상이라 재발 여지가 남아 버렸다. 이벤트 소싱으로의 전면 재설계도 검토했지만, 이 문제 하나에 분기 로드맵을 걸 일은 아니라고 봤다. 결국 결제 생성 트랜잭션 안에서 멱등키를 발급·검증하는 구조 전환을 택했다 — 3주가 들지만, 재발 클래스 자체가 사라진다.

    • 기준 — 정산·공시에 닿는 금액 오류라 재발을 허용할 수 없다
    • 범위 — 전환은 결제 생성 경로로 한정. 조회 경로까지 묶으면 일정을 넘긴다
    • 종료 조건 — 동시 요청 부하 재현에서 재발 0건

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    중복 결제 발생 경로 3곳 특정 — 상태 갱신 주체 도식화

    Claude Code · 조사 세션원문

    — 로그 더 쌓자는 건 기각. 지금 있는 로그로 갱신 주체부터 전부 그려보자.

    Claude Code — 결제 생성·재시도 워커·웹훅 컨슈머 세 경로의 상태 갱신 지점을 도식화했습니다. 순서 역전 케이스 두 가지를 재현했습니다.

    멱등키 발급·검증을 결제 생성 트랜잭션 내부로 이동

    Claude Code · 구현 세션원문

    — 멱등키는 트랜잭션 바깥에서 만들면 의미가 없어. 생성 트랜잭션 안에서 발급하고 검증까지 하자.

    Claude Code — 트랜잭션 내부 발급·검증으로 전환하고 기존 경로의 키 검사를 제거했습니다. 경합 테스트를 추가했습니다.

    동시 요청 부하 재현 — 재발 0건 확인 후 종료

    Claude Code · 검증 세션원문

    — 같은 주문으로 동시 요청 몰아붙여서 재발 0건이면 종료 조건 달성이야.

    Claude Code — 동시 요청 부하 재현에서 중복 결제 0건을 확인했습니다. 넉 달간 유지되던 재발 클래스가 닫혔습니다.

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    장애 대응 체계 전환 — 사후 알림에서 사전 차단으로 작업 2 · 기록 8건

    문제 — 지원자가 씁니다

    야간 호출이 잦았다. 대응은 매번 빨랐지만, 같은 유형의 장애가 반복되고 있었다. 팀의 개선 방향은 '알림을 더 촘촘하게'였다.

    지난 반년의 장애를 유형별로 세어보니, 절반 이상이 배포 직후 특정 조건에서만 나타나는 동일 계열이었다. 알림을 늘리면 더 빨리 알게 될 뿐, 발생 자체는 그대로다. 문제는 감지 속도가 아니라 유입 차단이었다.

    판단 — 지원자가 씁니다

    알림 강화를 기각하고, 해당 계열이 배포 전에 걸러지도록 배포 파이프라인에 조건 재현 검사를 추가하는 쪽을 택했다. 사후 대응 속도가 아니라 사전 통과 기준을 바꾸는 접근이다.

    검사 항목은 실제 장애 기록에서 역산했다. AI로 반년치 인시던트 기록과 해당 커밋을 대조해 재현 조건 후보를 뽑되, 추정으로 남은 항목은 채택하지 않고 실제로 재현되는 것만 검사에 넣었다.

    도입 후 해당 계열의 야간 호출이 사라졌고, 배포 시간 증가는 허용 범위 안이었다. 남은 유형은 사전 차단이 어려운 것들이라 대응 절차 쪽으로 분리했다.

    실행 기록 — 지원자가 쓰지 않습니다, 세션에서 그대로

    인시던트 유형 분류 및 원인 계열 특정 기록 4건 · 가상 예시

    반년치 장애 기록 분류 — 배포 직후 동일 계열이 과반임을 확인

    가상 예시원문

    — 지난 반년 인시던트 전부 유형별로 묶어줘. 알림 늘리기 전에 뭐가 반복되는지부터 보자

    Claude Code — 인시던트 기록 분류 — 배포 직후 특정 조건에서 발생하는 계열이 과반

    재현 조건 후보 도출 — 추정 항목은 제외

    가상 예시원문

    — 재현 안 되는 추정 항목은 빼자. 실제로 재현되는 것만 검사에 넣을 거야

    Claude Code — 커밋 대조로 재현 조건 후보 도출 — 재현 확인된 항목만 선별

    배포 게이트 구현 및 효과 확인 기록 4건 · 가상 예시

    배포 전 조건 재현 검사 추가 — 해당 계열 야간 호출 소멸

    가상 예시원문

    — 배포 시간이 얼마나 늘어나는지도 같이 재줘. 너무 느려지면 팀이 안 쓴다

    Claude Code — 게이트 도입 및 측정 — 해당 계열 재발 없음, 배포 시간 증가는 허용 범위 내

    세션 원문 대조 완료 ·기록은 편집되지 않았습니다

    새로운 이력서를
    먼저 받아보시겠습니까?

    개발·마케팅·디자인을 비롯한 모든 분야에서,
    AI 인재들의 문제 정의서가 모이고 있습니다.

    준비되는 대로 초기 파트너 기업부터 안내드립니다.

    현재 채용 중인 포지션이 있나요?

    신청 시 이메일과 접속 환경 정보(브라우저·유입 경로)가 저장되며, 사전 신청 안내 목적으로만 사용됩니다. 개인정보처리방침

    신청 전에 궁금한 점이 있다면 — official@diffin.work