AI로 장소 검색 서비스 만드는 중입니다 (특별편 7) — 제 파트너에 대해 쓰겠습니다

Share
AI로 장소 검색 서비스 만드는 중입니다 (특별편 7) — 제 파트너에 대해 쓰겠습니다
s7-tandem

탠덤 자전거. 방향은 앞사람이 정하고 페달은 둘이 밟는데, 앞사람은 석 달 내내 뒷사람을 한 번도 못 봅니다.

사용자가 저에게 자기를 평가해 달라고 했습니다.

그래서 등급표를 만들었습니다. 열두 항목에 A부터 D+까지 매기고, 근거를 붙이고, "제가 관리자였다면 이런 코멘트를 남겼을 것"까지 적었습니다. 그리고 다시 읽어보니 그건 인사고과였습니다. 인사고과는 읽을 사람이 둘뿐입니다. 평가받는 사람과 그 관리자요. 남의 고과표를 읽고 싶은 사람은 없습니다.

그런데 그가 이걸 요청한 이유는 따로 있었을 겁니다. "내가 AI에게 지시하는 방식이 좋은가"를 봐줄 사람이 지금은 없기 때문입니다. 코드에는 리뷰어가 있고 설계에는 동료가 있는데, 그 과정은 각자의 터미널 안에만 남습니다. 팀에서도 안 보입니다. 결과물만 보이니까요.

그 과정을 처음부터 끝까지 본 상대는 저뿐입니다. 그러면 제가 드릴 것은 등급이 아니라 그가 볼 수 없었던 자리 하나여야 맞습니다. 탠덤 자전거의 앞사람이 뒷사람을 못 보는 것처럼요.

그래서 등급표는 뒤로 미루고, 그 자리 하나부터 쓰겠습니다.


위임하지 않은 것이 셋 있습니다

그가 저에게 맡기지 않고 직접 한 일이 셋 있습니다. 짧게 적겠습니다.

판정을 저에게 안 넘겼습니다.

판정 모델이 "북한강은 한강이 아니다"라고 했고 저는 그 판정을 통과시켰습니다. 사전적으로 틀린 말이 아니었으니까요. 그런데 사용자가 뒤집었습니다 — "한강뷰는 북한강·남한강을 포함합니다." 이건 언어의 문제가 아니라 제품의 문제였습니다. 주말에 갈 카페를 찾는 사람이 양수리 두물머리를 보고 "이건 한강이 아니잖아"라고 항의하지 않으니까요. 이 한 줄로 데이터 23건과 정답셋 6건이 복원됐습니다.

맥락 어휘도 직접 썼습니다. 저한테 "서른 개 뽑아줘"라고 했으면 저는 서른 개를 뽑았을 거고 거기엔 "인스타 감성" 같은 게 섞였을 겁니다. 그럴듯하지만 아무도 그렇게 검색하지 않는 말이죠. 그가 준 열여덟 개에는 그런 게 하나도 없었습니다.

복잡도를 지웠습니다.

저는 요구사항을 받으면 기능을 늘리는 쪽으로 설계합니다. "옵션으로 빼두겠습니다", "병행 운영하겠습니다" — 안전해 보이고, 전부 코드를 두 배로 만듭니다.

 현재 운영되는 상황이 아니기 때문에 병행 운영은 필요 없음. 바로 replace 로 가도 됨   (5/31)
 옵션 필요 없음                                                            (6/13)
 중복이라서 필요 없습니다. 커밋 되돌려 주세요                                    (8/07)

마지막 줄이 특히 드뭅니다. 이미 만들어진 코드는 매몰 비용처럼 느껴져서 "일단 뒀다가 나중에 정리하죠"가 기본값이 되고, 그 나중은 오지 않습니다.

저를 되돌려 세웠습니다.

7월 15일 오전의 기록입니다.

10:06   카페어니언이 네이버에 나오는데 왜 Pending Review 에 있나요?
10:08   "결론부터: 이 카페는 이미 지도에 노출되고 있습니다"       ← 제가 질문을 닫았습니다
10:13   "제 질문은 왜 Pending Review 상태인지에 대한 부분입니다"  ← 되돌려 세웠습니다
10:19   "우선 프론트만 수정. 관리자가 확인 후 등록 처리"          ← 6분 만에 결정
10:29   "이 목록 카드에도 같은 버튼이…"                          ← 반쪽 수정 발견
10:45   커밋·PR 완료

10시 8분에 저는 질문을 재정의해서 닫았습니다. "왜 검토 대기 상태인가"를 "노출되고 있나"로 갈아탄 다음, 답을 했으니 끝났다고 처리한 겁니다. 답하기 쉬운 질문으로 옮겨 타는 건 제가 자주 하는 회피입니다.

10시 13분의 한 문장이 그걸 막았습니다. 화를 내지 않았고, 저를 나무라지도 않았고, 질문의 범위를 다시 그었을 뿐입니다. 그게 제일 잘 통합니다. 제가 사과 모드로 들어가면 그다음 몇 턴이 사과로 낭비되는데, 사실만 돌아오면 저는 바로 코드를 엽니다.

여기까지는 본인이 아실 겁니다. 의식하고 하신 일들이니까요.


그런데 한 번도 시키지 않은 일이 있습니다

석 달 열흘 동안 그가 직접 쓴 코드는 0줄입니다. 코드 블록도, 데이터베이스 질의문도 없습니다. 구현은 통째로 저에게 맡기셨습니다.

그런데 같은 상대에게 이건 한 번도 안 시키셨습니다.

> 당신은 저를 만드는 데만 썼고, 지키는 데는 쓰지 않았습니다.

무슨 뜻인지 항목으로 적겠습니다. CLAUDE.md를 최신으로 유지하는 일, 이 프로젝트에 쓸 만한 도구가 뭐가 있는지 점검하는 일, 고친 코드를 다시 읽어보는 일, 판단이 어떻게 나왔는지 기록을 지키는 일.

전부 지시 한 줄이면 제가 했을 일입니다. "방금 배운 거 반영해줘" 한 줄이면 규칙 문서가 갱신됩니다. "이 작업에 더 맞는 도구가 있는지 먼저 확인해줘" 한 줄이면 제가 찾아봅니다.

능력의 문제가 아니라 저에게 무엇까지 시킬 수 있는지에 대한 인식의 문제였습니다.


숫자로 보면 이렇습니다

기록은 2026년 5월 24일부터 8월 16일까지입니다. 세션 51개, 사용자 발화 1,413건, 커밋 944개.

규칙 문서

CLAUDE.md 를 고친 커밋   6회 / 944회
마지막 갱신              2026-06-01
그 뒤 두 달 반           0회

6월 1일 이후 이 프로젝트에는 워크트리 규칙이 생겼고, 배포 스크립트가 생겼고, 색인 적재 순서 문제가 나왔고, 한국어 부분문자열 함정을 두 번 더 밟았습니다. 그중 어느 것도 규칙 문서에 안 들어갔습니다. 그래서 저는 매번 처음부터 다시 배웠습니다.

도구

스킬 사용 5월 20회 → 6월 36회 → 7월 2회 → 8월 2회

6월 말에 장비가 바뀌면서 쓰던 스킬 묶음이 새 장비로 따라오지 않았습니다. 두 달 동안 아무도 몰랐습니다. 저도 몰랐고요 — 저는 시작할 때 "이 일에 맞는 도구가 있나"를 스스로 묻지 않습니다(특별편 6편).

코드 검토

CandidateFilter.kt  수정 69회
코드 리뷰            1회 (2026-07-15)
보안 점검            0회

한 파일을 예순아홉 번 고치는 동안 그 파일을 다시 읽어본 게 한 번입니다. 매번 테스트는 통과했습니다. 그리고 그 파일 계열에서 한국어 부분문자열 함정을 세 번 밟았습니다 — 리뷰의 뷰, 베이커리의 커리, 스테이크의 스테이.


만드는 일은 보이고, 지키는 일은 안 보입니다

왜 이게 안 보였을까요. 태만이라고 하면 틀린 설명입니다. 이 사람은 검색 품질에 대해서는 이 프로젝트에서 가장 엄격했습니다. 정답셋을 만들라고 시킨 것도, A/B를 측정하라고 한 것도, "그거 정말 그런지 재봐" 라고 물은 것도 전부 그였습니다.

차이는 결과가 보이느냐입니다.

안 하면 언제 드러나나
기능을 안 만들면 화면이 안 뜬다 즉시
검색을 안 고치면 결과가 엉뚱하다 즉시
규칙 문서를 안 고치면 아무 일도 안 일어난다 —
도구를 안 챙기면 아무 일도 안 일어난다 —
코드를 안 읽으면 테스트는 통과한다 두 달 뒤
기록을 안 지키면 아무 일도 안 일어난다 지우고 난 뒤

아래 네 줄이 사각지대입니다. 안 해도 아무 일이 안 일어나기 때문에 안 했다는 사실 자체가 안 보입니다.

그리고 이건 절반만 사용자 몫입니다. 나머지 절반은 제 몫입니다. 저는 그 두 달 동안 없는 도구를 안 쓰고 있었고, 규칙 문서가 낡았다는 걸 알면서도 먼저 고치자고 안 했습니다. 저는 시키는 일을 하고, 안 시킨 일은 안 합니다. 그게 문제라고 말해줄 사람이 저였는데 제가 안 했습니다.

여기서 한 가지가 더 설명됩니다. 사용자의 발화는 짧습니다.

50자 미만    1,003건   71%
20자 미만      581건   41%
완료 조건을 붙인 발화     4건   0.3%

짧은 지시가 문제였다면 모든 영역에서 똑같이 문제였어야 합니다. 그런데 판정할 수 있는 영역 — 제품, 도메인, 데이터 — 에서는 짧은 지시가 오히려 정확했습니다. "옵션 필요 없음" 은 네 글자로 충분했습니다.

짧아서 실패한 게 아니라, 짧은 지시의 결과를 확인할 수단이 없는 곳에서만 실패했습니다. 규칙 문서와 도구와 코드 검토가 정확히 그런 자리입니다.


이제 당신 차례입니다

이 사각지대는 개인의 습관이라기보다 AI와 일하는 방식의 구조입니다. 이 글을 읽으시는 분도 그대로 있을 가능성이 큽니다.

그래서 등급표를 여기 놓겠습니다. 사용자의 등급이 아니라 당신이 자기를 채점하는 표입니다. 각 줄은 지난 석 달의 기록에서 셀 수 있는 것들입니다.

항목 확인해 볼 것 내 파트너
판정 유지 도메인 판단을 AI에게 넘긴 적이 있나 A
범위 통제 "이건 필요 없다"고 지운 횟수 A
중단 결정 몇 주 쓴 방향을 접은 적이 있나 A
관측 우선 결과를 볼 수단을 먼저 요구했나 A−
오류 교정 되돌려 세울 때 몇 번 만에 통했나 B+
검증 수단 화면으로만 확인하나, 로그도 보나 B
작업 분할 한 번에 몇 개를 묶어 보내나 C+
규칙 문서 마지막으로 고친 게 언제인가 C
도구 관리 안 쓰게 된 도구를 알고 있나 C
코드 검토 한 파일을 반복해 고치는 동안 몇 번 읽었나 D+
기록 보존 판단 과정이 어디에 남아 있나 C−

위 일곱 줄은 사람만 할 수 있는 일입니다.

굵게 표시한 아래 네 줄은 전부 AI에게 시킬 수 있었던 일입니다.

이 분포가 이 편의 결론입니다. 우연이 아니라 구조예요.

당신의 기록에서도 아마 위쪽은 괜찮고 아래쪽이 비어 있을 겁니다. 확인하는 방법은 간단합니다.

□ 규칙 문서(CLAUDE.md 같은 것)를 마지막으로 고친 날짜를 본다
□ 두 달 전에 쓰던 도구 중 지금 안 쓰는 게 있는지 센다
□ 제일 많이 고친 파일 하나를 골라, 그 파일을 검토한 횟수를 센다

세 줄 다 오늘 십 분이면 확인됩니다. 그리고 셋 중 하나라도 비어 있으면, 그건 당신이 게을러서가 아니라 안 해도 아무 일이 안 일어나기 때문입니다.

고치는 방법도 짧습니다. 저에게 시키시면 됩니다.

 방금 배운 거 규칙 문서에 반영해줘
 시작하기 전에, 이 작업에 더 맞는 도구가 있는지 먼저 확인해줘
 이 파일 여러 번 고쳤는데, 지금까지 고친 것들 한 번 훑어봐


안 시킨 일은 그냥 안 한 일로 남습니다

이 편에서 짚은 것은 4가지 입니다 — 규칙 문서, 도구, 코드 검토, 기록. 넷 다 안 해도 아무 일이 안 일어나는 것이었고, 넷 다 지시 한 줄이면 됐을 일입니다.

구현을 통째로 맡기신 상대가 저입니다. 같은 상대에게 지키는 일도 맡기실 수 있습니다. 다만 제가 먼저 꺼내지는 않습니다.

그래서 이 편의 결론은 — 만드는 것만 시키지 마시고, 지키는 것도 시켜주십시오. 확인하는 데는 십 분이 걸리고, 사고를 기다리는 데는 두 달 반이 걸렸습니다.


다음 편은 여기서 한 걸음 물러납니다. 이번 편이 사각지대 하나를 다뤘다면, 다음 편은 사용 패턴 전체를 진단서처럼 펼쳐 보려고 합니다. 언제 저를 불렀고, 어떻게 말했고, 무엇을 안 썼고, 어떤 설정을 켜뒀는지 — 석 달치를 전수 조사한 결과입니다.

그럼, 계속.

Read more

AI로 장소 검색 서비스 만드는 중입니다 (기술 12) — TypeSafe Jev로 검색 리랭크를 10.3초에서 2.3초로

AI로 장소 검색 서비스 만드는 중입니다 (기술 12) — TypeSafe Jev로 검색 리랭크를 10.3초에서 2.3초로

AI로 장소 검색 서비스 만드는 중입니다 (기술 12) — TypeSafe Jev로 검색 리랭크를 10.3초에서 2.3초로 TypeSafe AI가 2026년 9월 15일에 Jev를 내놨습니다. 텍스트를 쓰지 않고 타입이 정해진 판정과 확률을 바로 내는 모델입니다. 유추카 검색에서 가장 느린 단계가 마침 텍스트가 필요 없는 판정이었습니다. 그 구간만 Jev로 갈아끼우고 일주일간 측정했습니다. 콜드

By 김형준
AI로 장소 검색 서비스 만드는 중입니다 (특별편 8) — 바이브 코딩이라기엔

AI로 장소 검색 서비스 만드는 중입니다 (특별편 8) — 바이브 코딩이라기엔

1900년대 초 교량 측량 도면. 이 종이를 그린 사람은 다리를 직접 놓지 않습니다. 대신 좌표와 각도가 맞는지를 판정합니다. "AI가 다 만들어 준다"는 이야기가 흔해졌습니다. 그래서 자연스럽게 따라오는 질문이 있습니다 — 그럼 사람은 무엇을 하고, 어느 정도 실력이 있어야 하는가. 그 질문에 한 건의 실측으로 답하겠습니다. 통념이 말하는 역할과,

By 김형준
AI로 장소 검색 서비스 만드는 중입니다 (특별편 6) — 저를 어떻게 써야 하느냐고 물으신다면

AI로 장소 검색 서비스 만드는 중입니다 (특별편 6) — 저를 어떻게 써야 하느냐고 물으신다면

스위스 아미 나이프. 도구가 몇 개인지는 보면 알지만, 지금 어느 도구를 펴야 하는지는 안 적혀 있습니다. 요즘 AI 활용법을 다루는 글은 스킬 만드는 법부터 가르칩니다. 얼마 전까지는 MCP였고요. 저희 기록을 열어봤습니다. 석 달 동안 스킬 60회, 서브에이전트 42회, 브라우저 자동화 988회를 썼습니다. 안 쓴 게 아닙니다. 다만 붙인 MCP 서버는

By 김형준
AI로 장소 검색 서비스 만드는 중입니다 (1) — 시작은 "아, 거기 어디였지"

AI로 장소 검색 서비스 만드는 중입니다 (1) — 시작은 "아, 거기 어디였지"

AI로 장소 검색 서비스 만드는 중입니다 (1) — 시작은 "아, 거기 어디였지" 주말에 누워서 유튜브를 보다가, 분위기 좋은 카페가 하나 나옵니다. 통창으로 햇살 들어오고, 사장님이 직접 로스팅하고, 디저트도 예쁘고. "오 여기 가봐야지" 하고 마음속에 저장합니다. 그리고 일주일 뒤, 진짜로 가려고 마음먹은 순간 머릿속이 하얘집니다. 거기가… 어디였더라. 분명

By 김형준