Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WgWoJZAvvzMxTpWeenZSia
4.9 KiB
4.9 KiB
AI Discovery · Build 2 Handover (자동 채점 파이프라인)
2026-08-31 랜딩(/discovery) 프로덕션 배포까지 끝난 상태에서, 다음 세션이 이어받을 빌드 범위를 담는다.
직전 인수인계는 docs/AI_DISCOVERY_FRONTEND_HANDOVER.md(랜딩 구현, 완료됨).
0. 다음 세션 실행 프롬프트 (복붙용)
docs/AI_DISCOVERY_BUILD2_HANDOVER.md 를 읽고 AI Discovery 자동 채점기를 구현해줘.
- P0: scripts/audit_aeo_geo.py — 병원 URL 입력 → 기준표 auto 22항목(55점) 자동 채점
→ src/data/discovery_<id>.ts 초안 생성 (semi/manual은 'unverified' + 수집된 증거 메모)
- 참조 구현: ~/Claude/Agentic Marketing/ADO2/009. AEO-GEO/06_skill-snapshot/scripts/crawler_audit.py
- 검증: 뷰성형외과를 재채점해 auto 항목 판정이 discovery_viewclinic.ts 기존 실측과 일치해야 한다
- 완료 기준: 새 업체 URL 1개를 30분 안에 /discovery/:id 리포트로 올릴 수 있다
끝나면 git push + vercel --prod 까지.
1. 현재 상태 (2026-08-31)
| 항목 | 상태 |
|---|---|
랜딩 /discovery |
프로덕션 배포 완료 (https://infinith-demo.vercel.app/discovery) |
리포트 /discovery/:id |
viewclinic 48점/C, taeha 68점/B |
| 데이터 파생 | 랜딩·리포트의 모든 수치는 scoreDiscovery 계산값. nextGradeTarget·scorePctColor 헬퍼 포함 |
| lint | npm run lint(tsc) 0 에러. 단, 실제 검사는 AEO-GEO-Audit 워크트리에서만 가능 (main 워크트리는 node_modules에 tsc 없음) |
| 영업 자료 | POC 제안서 docs/reports/Viewclinic_POC_Proposal.pptx/.pdf (10장) |
2. 확정 결정 (2026-08-31 haewon)
- 태하 케이스는 랜딩 샘플로 노출하지 않는다. 랜딩 샘플은 뷰성형외과 단일 유지.
/discovery/taeha라우트와 데이터는 삭제하지 않고 유지한다 (영업 시 직접 링크로만 사용). - 리포트 PDF는 항상 PPTX 덱을 만든 뒤 soffice 변환으로 뽑는다 (HTML 인쇄 방식 금지, 기존 결정 유지).
3. 빌드 우선순위
P0 · 자동 채점기 scripts/audit_aeo_geo.py
지금 병목은 진단 1건당 수작업 실측이다. 기준표 36항목의 자동화 가능성은 이미 rubric에 태깅되어 있다:
| method | 항목 수 | 배점 합 | 처리 방식 |
|---|---|---|---|
| auto | 22 | 55점 | 스크립트가 판정까지 |
| semi | 5 | 17점 | 스크립트가 증거 수집, 판정은 사람 (C1 정의문·C4 수치·C7 E-E-A-T·D3 오픈웹·D5 플레이스) |
| manual | 9 | 28점 | 'unverified' 유지 (A6·C8·D1·D2·D4·E1~E4) |
- 입력: 메인 URL + 대표 시술/서비스 페이지 URL 1개 (뷰성형외과 실측과 동일 조건: JS 미실행 HTML 기준)
- 항목별 체크 로직은
src/data/aeoGeoRubric.ts의howToCheck필드에 이미 구현 스펙으로 적혀 있다 - 출력:
src/data/discovery_<id>.ts초안.evidence는 실측 문자열로 채운다 (판정 근거 없는 항목을 0점 처리하지 말 것, 분모 제외 규칙 유지) - 운영 플로우: 스크립트 초안 → 사람이 semi/manual 보정 →
discoveryResults.ts에 1줄 추가 → 리포트 페이지 자동 생성 - 형태는 로컬 Python 스크립트로 시작한다. Edge Function(
discover-aeo-geo)化는 셀프서브 전환이 결정된 뒤에 한다. - 업체 선정 방법(기존 확정): 분야 키워드로 네이버 검색 → 파워링크 1위 광고주. 광고 리다이렉트는 직접 못 따라가므로 상호로 재검색해 도메인 확인.
P1 · 계약 후 미검증 해소 runbook
뷰성형외과(또는 첫 계약 업체) 계약 시 실행할 체크리스트를 문서화한다: E1 서버로그 AI 봇 추출, E2 GA4 AI 채널그룹, E3 GSC, A6 Bing Webmaster, D6 Wikidata 조회. 미검증 5개가 해소되면 분모가 88 → 100으로 바뀌므로 총점이 변한다는 사실을 리포트에 명시한다.
P1 · 덱 스크린샷 자동 갱신
랜딩 변경 → 캡처 → 크롭(히어로 0~1384px, 리포트 밴드는 #F4F6FB 행 범위 감지) → build_viewclinic_poc_deck.py 리빌드를 스크립트 하나로 묶는다.
P2 · 기준선 스팟체크 러너 (E4)
질의 10개 × 5회 반복, 언급률 + 신뢰구간으로만 기록한다. 답변엔진 소비자 UI 자동 조회는 약관 위반이므로 금지 (API 또는 수동 기록).
4. 오너 결정 대기 (빌드 전 haewon 확인)
- 카테고리 가중치 확정 (현행 A20/B20/C25/D20/E10/F5)
- 랜딩 CTA 형태: 현행 mailto(o2oteam@o2o.kr) 유지 vs 신청 폼(Supabase 테이블) 전환. 계약 기반 영업 모델(PART III 피봇)과의 정합을 보고 결정한다.
- 다음 진단 대상 업종·키워드
5. 하지 않을 것 (정직성 규약, 변경 없음)
- llms.txt 제작·판매
- "스키마 넣으면 인용된다" 약속, 순위·노출 보장 문구
- 단발 조회 보고
- 답변엔진 소비자 UI 자동 조회
- 네이버 블로그 증량 (AI 크롤러 차단 확인, 글로벌 AEO 기여 0)