picturebook-scout 개요 — 번역출간 후보 발굴 시스템 (도서 선택 방식·구조맵·AI 역할)
우리학교(아동서 출판사)가 번역출간할 해외 원서를 발굴하는 사내 도구입니다. 7개국 아마존 베스트셀러·신간을 정찰(scout)해 국내 미출간·잘 팔리는 책을 점수화하고, 사람(편집자)이 판권 검토 대상을 고릅니다. 이 페이지는 시스템 개요 — 도서 선택 방식, 동작 구조맵, AI 역할입니다. 각 항목 아래 댓글로 질문·개선의견을 남겨주세요.
📁 대상 프로젝트: ~/projects/picturebook-scout (woori 편입 · Supabase 저장 · scout.wschool.co.kr)
🗓 요청일: 2026-07-11
1. 무엇을 하는가 — 한 줄 요약과 목적
한 줄: 해외 아마존에서 잘 팔리는데 아직 한국에 번역 안 된 아동·청소년 책을 자동으로 찾아 점수 매기는 발굴 도구.
핵심 신호 두 가지
- 시장 검증: 아마존 베스트셀러 = 현지에서 이미 검증된 책
- 국내 미판매: 알라딘에 없음 = 판권이 아직 안 팔렸을 가능성 → 번역출간 기회
결과물: 후보마다 점수 + 국내 출간 여부 + 한국어 번역 제목·소개를 붙여 웹 뷰어에 올림. 사람이 최종 판단(채택/보류/제외 + 메모).
범위: "모든 그림책"이 아니라 각 시장에서 지금 상위권만 좁게 수집(베스트셀러 + 신간 각 ~30권). 롱테일 제외 — 발굴 가치가 높은 신호에 집중.
Why: 왜 이 도구가 있는지: 편집자가 수작업으로 해외 신간을 뒤지는 대신, 시장 검증된 미출간 후보를 자동으로 좁혀준다.
2. 도서 선택 방식 ① — 어디서 긁는가 (수집 소스)
7개국 × 2구분 × 2리스트 = 28개 리스트를 수집(각 상위 ~30권).
| 축 | 값 |
|---|---|
| 마켓(7) | 🇺🇸 US · 🇯🇵 JP · 🇫🇷 FR · 🇩🇪 DE · 🇮🇹 IT · 🇪🇸 ES · 🇳🇱 NL |
| 구분(2) | 그림책(0~8세 그림책·보드북) · 청소년(중·고등 대상 소설) |
| 리스트(2) | 베스트셀러 · 신간(new releases) |
카테고리 노드 선정 원칙 — 아마존엔 "그림책"/"청소년" 전용 베스트셀러 노드가 대부분 없어 가장 가까운 상위 노드로 폴백:
- 그림책: JP는 전용 노드
絵本(가장 정확), 나머지는Early Learning(보드북·워크북 섞임) - 청소년: US는
Teen & Young Adult전용, 나머지 6개국은Literature & Fiction for Children(중학년~청소년 소설, 라이브 검증)
한계(설계상 인지): 폴백 노드라 순수 그림책·순수 청소년이 아님 — FR 7월엔 방학 워크북, 청소년엔 중학년 챕터북이 섞임. → 이 노이즈는 뷰어에서 사람이 거른다(구분 필터 + 점수).
수집 엔진: 상시 기동된 디버깅 Chrome(CDP)에 붙어 리스트 그리드를 파싱(제목·저자·평점·리뷰·표지 이미지ID·ASIN).
Why: 선택의 출발점은 '어떤 리스트를 보느냐'다. 카테고리 노드 선정이 후보 품질을 좌우한다.
3. 도서 선택 방식 ② — 어떻게 점수 매기는가 (스코어링)
각 후보에 가감점을 합산(음수는 0으로 절삭). 점수 셀에 마우스를 올리면 적용 사유가 뜸.
| 항목 | 조건 | 점수 |
|---|---|---|
| 국내 출간 여부 | 미출간 | +50 |
| 이미 출간 | −40 | |
| 평점 | 4.6 이상 | +15 |
| 리뷰 수 | 1000+ | +15 |
| 300~999 | +8 | |
| 마켓 | US 외(비영어권) | +5 |
- 이론상 최대 85점 = 미출간 + 고평점 + 리뷰 1000+ + 비영어권
- 미출간(+50)이 압도적 가중치 — 도구의 목적(번역 기회 발굴)이 점수에 직접 반영됨
- 비영어권 +5: 영어권은 경쟁·정보 노출이 많아 상대적으로 기회가 적다는 판단
- ⚠ 미출간 판정은 알라딘 검색 휴리스틱이라 오탐 가능(부제 노이즈로 실제 출간작이 +50 받을 수 있음) → 상위 후보는 사람이 최종 확인. 그래서 AI 재확인 단계(항목 5)가 있음.
Why: 점수는 편집자가 훑어볼 우선순위. 규칙이 투명해야 신뢰하고 쓴다.
4. 동작 구조맵 — 수집부터 저장까지 파이프라인
npm run scout 한 번이 도는 순서(40~60분, 증분):
① 수집 28개 리스트 그리드 파싱 (CDP Chrome)
↓
② 상세 후보별 상세페이지 1회 로드 → 출간일 + 도서소개
↓ ▼ 체크포인트 저장(스캔)
③ 대조 알라딘 검색으로 국내 출간 여부 판정 → 점수 계산
↓ ▼ 체크포인트 저장(알라딘)
④ 번역 원제·소개를 한국어로 배치 기계번역 (AI)
↓ ▼ 체크포인트 저장(번역)
⑤ 재확인 미출간 판정분을 AI로 교차검증 (AI)
↓ ▼ 체크포인트 저장(최종)
Supabase(Postgres) — 뷰어가 여기서 서빙
설계 포인트
- 단계별 체크포인트 저장: 각 단계 후 DB에 저장 → 중간에 죽어도 그때까지 작업 보존(과거 '끝 1회 저장'이 번역 실패로 전량 유실된 사고를 계기로 도입)
- 증분 처리: 이미 처리된 후보는 도장(
aiCheckedAt·translatedAt)으로 건너뜀 → 매주 재실행 시 신규 유입분만 AI 처리 - 이월(carry-forward): 사람이 검토한 후보·일시 수집 실패분은 리스트에서 빠져도 보존
- 저장소: 로컬 JSON → woori Supabase 이전 완료. 검토 저장은 단건 원자 UPDATE(동시 편집 유실 방지)
- 토폴로지: skylar(주간 수집, CDP+AI) → Supabase(단일 소스) → Vercel(뷰어 서빙, scout.wschool.co.kr)
Why: 전체가 어떻게 이어지는지 한눈에. 중간 실패에 강한 체크포인트 구조가 핵심.
5. AI가 하는 일 — 3가지 (그리고 안 하는 것)
AI(Claude CLI, 기본 Sonnet)는 세 가지를 하고, 한 가지는 절대 안 한다.
① 국내 제목 추정 (koCheckAI.js)
원제로 알라딘 검색이 실패했을 때, "한국어로 나왔다면 어떤 제목일지" 후보를 추정. 예: はらぺこあおむし → "배고픈 애벌레". 추정 제목으로 알라딘을 다시 검색한다.
② 매칭 검증 (koCheckAI.js)
알라딘 검색(fuzzy)이 물어온 한국 책이 정말 그 원서의 번역판인지 yes/no 판정. same=true만 "출간"으로 확정(보수적 — 무관한 책 오탐 제거).
③ 한국어 번역 (translateAI.js)
원제·도서소개를 한국어로 기계번역(리뷰어 이해용). 예: しましまぐるぐる → "줄무늬 빙글빙글". 국내 매칭 제목과는 별개 — 미출간 후보 포함 전 후보 대상.
🚫 AI가 안 하는 것: "이 책이 국내 출간됐는지" 직접 판단 출간 여부(사실)는 항상 실제 알라딘 검색이 결정한다. AI는 추측·번역·같은책 판정만 돕는다.
왜? LLM 환각이 데이터를 오염시키는 걸 막기 위해. "AI가 있다더라"가 아니라 실제 서점 검색 결과가 근거가 되도록 설계. (AI 세션 리밋에 걸린 배치는 도장을 안 찍어 다음 실행에 자동 재시도.)
Why: AI 오남용을 막는 설계 철학이 이 프로젝트의 핵심. AI는 판단을 돕되 사실은 정하지 않는다.
6. 사람이 하는 일 — 웹 뷰어에서의 검토
scout.wschool.co.kr (토큰 보호) — 목록/그리드 두 뷰.
보이는 것: 점수 뱃지 · 마켓 국기 · 그림책/청소년 구분 · 표지 · 원제+한국어제목 · 평점/리뷰 · 출간일 · 국내여부 뱃지 · 발견일(🆕) · 도서소개(클릭 시 원문+번역 모달).
필터: 마켓 / 구분(그림책·청소년) / 국내여부(미출간·출간) / 검토상태 / 최근 7일 신규. 정렬: 모든 컬럼.
사람의 액션(자동 저장)
- 검토상태: 미검토 → 채택 / 보류 / 제외
- 자유 메모
이 검토 기록은 매주 재수집해도 id 기준으로 보존된다(주간 재검토 워크플로). 즉 매주 새 후보가 유입돼도 이미 판단한 건 유지 → 편집자는 신규분만 훑으면 됨.
요약: 도구는 후보를 좁혀 점수·번역·표지로 판단 재료를 차려주고, 번역출간 여부의 최종 결정은 편집자가 한다.
Why: 이 도구는 자동 판정기가 아니라 편집자의 발굴을 돕는 보조 도구. 최종 결정은 사람.
진행 현황
| 항목 | 우선순위 | 상태 |
|---|---|---|
| 1. 무엇을 하는가 — 한 줄 요약과 목적 | 개요 | 📌 대기 |
| 2. 도서 선택 방식 ① — 어디서 긁는가 (수집 소스) | 개요 | 📌 대기 |
| 3. 도서 선택 방식 ② — 어떻게 점수 매기는가 (스코어링) | 개요 | 📌 대기 |
| 4. 동작 구조맵 — 수집부터 저장까지 파이프라인 | 개요 | 📌 대기 |
| 5. AI가 하는 일 — 3가지 (그리고 안 하는 것) | 개요 | 📌 대기 |
| 6. 사람이 하는 일 — 웹 뷰어에서의 검토 | 개요 | 📌 대기 |