플라이휠 사용 가이드 — 검색·진단·교정·이력
헤드헌터가 매일 도는 SearchRight 의 핵심 루프. 검색 결과를 보면서 "어 이건 안 맞는데?" 가 생기는 순간이 데이터를 직접 고치는 진입점.
시스템은 무엇이 옳은지 판단하지 않습니다. 시스템은 진단 만 하고, 판단은 도메인 전문가 (헤드헌터) 의 몫입니다.
플라이휠 한 눈에
| # | 단계 | 액션 | 결과 |
|---|---|---|---|
| 1 | 🔍 검색 | 검색창에 자연어 query | 결과 100건 정렬 (rank / 회사명 / 도메인 / tier) |
| 2 | ❓ 의문 | "이 회사 왜 안 나오지/낮지" 행 우측 "진단" 클릭 (또는 위 박스에 회사명 입력) | 인라인 진단 패널 펼침 |
| 3 | 🩺 진단 | 시스템이 5 라벨 + 근거 분석 (검색 후보 안 / 밖 / 구조화 필터 제외 / 정보 부족 / DB 부재) | 왜 그 자리인지 결정론적 설명 |
| 4 | 🌐 웹리서치 교정 | "교정 제안 받기" 클릭 → 시스템이 자동 웹 조사 로 회사 재조사 | 필드별 현재 ↔ 제안 diff |
| 5 | ✋ 헤드헌터 판단 | 항목별 수락 / 기각 / 수정 | 적용할 변경 확정 |
| 6 | ⚡ 적용 | 자동 — prose 색인 갱신 + cache invalidate | 즉시 재검색에 반영 |
| 7 | 📜 누적 | 자동 — /corrections timeline 영구 박제 | 다른 헤드헌터/팀이 이력 확인 |
핵심: 시스템은 진단 만 하고, 판단 은 도메인 전문가 (헤드헌터) 의 몫. 데이터를 고치는 만큼 검색이 좋아지는 자기-강화 루프.
1. 검색
상단 검색창에 자연어 그대로 입력. parser 가 한국어를 읽어 도메인 슬러그 / 비즈니스 모델 / 타겟 시장 / 회사 속성 (B2B/B2C, archetype 등) 을 자동 추출.
자연어 예시
- 도메인 query: "핀테크 도메인 중 투자/증권 관련 스타트업"
- 비즈니스 모델 query: "광고 매출이 메인 BM 인 한국 디지털 스타트업"
- 타겟 시장 query: "1020 여성 메인 타겟인 한국 서비스"
- 복합 query: "온라인 + 오프라인 매장 모두 보유한 D2C 커머스"
필터 미세조정
자연어 추출이 빗나가면 사이드바 우측 필터 패널에서 도메인·티어·스테이지·고객 유형·archetype 직접 토글. 적용된 필터는 검색 박스 아래 칩으로 표시 — ✕ 로 해제.
결과 행
각 행에 #순위 / 회사명 / 설명 / 도메인 칩 / tier / 사원 수. 우측에:
- 부적합 (✕) — 이 회사가 이 검색엔 안 맞음 표시 (다음 검색에 demote 반영, 메모도 가능)
- 진단 — 아래 §2 진단 패널 토글
- chevron (→) — 회사 detail drawer 열기
2. 진단 — "왜 이 회사가 이 자리에 있나"
진단 진입점
- 결과에 있는 회사: 그 행의 "진단" 버튼 → 행 아래 인라인 패널.
- 결과에 없는 회사: 결과 위쪽 "결과에 없는 회사 진단 — 회사명 입력" 박스 → 회사명 입력 → 시스템이 DB 에서 찾아 "검색 결과 밖" 핀 행으로 표시 + 같은 진단 패널.
- DB 에도 없는 회사: "정확히 일치하는 회사가 DB 에 없습니다" → enrich-single ("회사 추가") 로 등록 후 다시 진단.
진단 라벨 5종
| 라벨 | 의미 | 다음 행동 |
|---|---|---|
| 🟢 검색 후보 안 | 후보 (상위 300) 안에 들어 있음, 현재 N 위 | 위로 못 올라온 이유 = 회사 설명 약함 → 프로필 보강 |
| 🟠 검색 후보 밖 | 구조화 필터 통과했지만 의미 매칭이 멀어 후보 못 들어감 | 회사 설명에 핵심 개념 추가 |
| 🟠 구조화 필터 제외 | 6 측면 (도메인/타겟/BM 등) 중 한 가지가 제외 — 어떤 필터인지 표시 | 6 측면 속성 교정 (도메인 / archetype 등) |
| ⚪ enrich 안 됨 | 검색 가능한 프로필이 없음 | enrich-single 로 회사 enrich |
| ⚪ DB 에 없음 | id 잘못 / DB 미등록 | enrich-single 로 추가 |
"자세히" 펼침
- 검색 후보 안: 현재 순위 + 의미 점수 / 재정렬 점수 / 최종 점수 한 눈에.
- 구조화 필터 제외: 어떤 필터가 잘랐는지, 쿼리 요구값 vs 회사 값 비교.
- 시스템이 아는 이 회사 데이터: 회사 설명 (프로필) 전문 + 6 측면 구조화 속성 grid (고객 유형 / 비즈니스 모델 archetype / revenue model / 타겟 성별 / 연령 / 오프라인 매장 / 도메인 태그 / 세부 segment / 회사 단계).
TIP — "회사가 안 나오는 이유" 가 prose 인지 구조화 속성인지 진단으로 명확해진 뒤 교정하면 가장 빠름. 진단 없이 추측으로 고치지 마세요.
3. 교정 — research-assisted (시스템 제안 + 헤드헌터 검증)
진단 패널 안 "웹리서치로 교정 제안 받기" 클릭.
흐름
- 시스템이 그 회사를 자동 웹 조사 (~5-10초) → 새로 정리된 prose + 6-dim 속성.
- 현재 vs 제안 필드별 diff 표시. 변하지 않은 필드는 표시 안 됨 (잡음 최소).
- 기본 전부 기각 — 헤드헌터가 항목별로 명시적 수락 (실수 방지).
- 각 필드 카드:
- prose: 현재 prose 펼쳐보기 + 제안 prose 가 큰 textarea 로, 헤드헌터가 직접 수정 가능 (의도 안 맞으면 다듬어서 적용).
- 구조화 속성: 현재값과 제안값 나란히 표시 + "수락됨 ✓" / "기각됨" 토글.
- 적어도 1개 수락하면 "선택한 교정 적용 (N)" 버튼 활성화 → 클릭 → 적용.
- 적용 직후 시스템이 현재 검색을 즉시 재실행 (캐시 우회) → 화면이 새 ranking 으로 갱신 → 교정 효과 즉시 확인.
prose 교정의 핵심
- prose = 검색 색인 대상. 이걸 고치면 그 회사가 다른 쿼리 에서도 다르게 찾아짐.
- 교정 후 자동 색인 갱신 — 회사 설명이 바뀐 즉시 검색 색인도 같이 갱신 (트랜잭션 안 묶임, 부분 갱신으로 인한 불일치 없음).
- 너무 짧으면 안 받음 (40자 이상). 너무 길어도 무방.
구조화 속성의 핵심
- 구조화 속성 (도메인 태그·archetype 등) 은 즉시 검색 필터에 반영. 색인 갱신 불요.
- 단 세부 segment 같은 도메인 슬러그는 시스템 허용 목록 안 후보만 수락. 잘못된 슬러그 (오타 / 폐기된 것) 면 검색이 못 찾음.
"끼워맞추기" 안 함
기존 빈 폼 방식 (F-R5 폐기) 과 다름:
- 시스템이 자동 웹 조사 로 사실 후보를 먼저 제시 → 헤드헌터는 검증 역할.
- 머릿속에서 데이터를 만들어내지 마세요 — 시스템 제안을 평가해 받거나 거절.
- 제안이 잘못됐으면 (예: 동명이인 회사) 전부 기각 → 적용 안 함. 안전.
4. 누락 회사 등록 (enrich-single)
검색 결과 하단 "+ 누락 회사 추가" 또는 DB 진단 시 안내된 enrich 진입점.
입력
- 회사명 (필수): 한국어 법인명.
- 브랜드/서비스명 (선택): 검색에 도움.
- 홈페이지 URL (선택): 정확도 ↑.
- 힌트 (선택): "에듀테크 회사인데 어른 대상" 같은 짧은 도메인 힌트.
동작
- AI 어시스턴트 + 웹 자동 조사가 회사 정보 수집.
- 회사 설명 (한국어 250~450자) 자동 생성.
- 6 측면 구조화 속성 자동 추출.
- 검색 색인 자동 생성 후 DB 등록.
- "운영자 수정" 표시 자동 set — 이후 자동 보강이 덮어쓰지 않음 (보호).
- 즉시 검색 가능. 하루 등록 cap = 50 건 (관리자 환경설정으로 조정 가능).
동명 회사
같은 이름 회사가 이미 있으면 confirm 모달 — force_new=true 명시하면 별도
법인으로 추가, 아니면 기존 회사 detail 열림.
5. 교정 이력 timeline + 되돌리기
사이드바 교정 이력 → /corrections — 최근 100건 audit 시계열.
각 row
- 타임스탬프 / actor (이메일) / 회사명 (검색 링크) / 속성 라벨 / 변경 action
- "이전" / "이후" 값
- 충돌 배지 — 같은 회사·속성을 24h 내에 두 번 이상 교정했으면 amber 표시 (다른 팀원과의 의견 차 surface).
- "되돌리기" 버튼
되돌리기
- "되돌리기" → 확인 모달 "이전 값으로 되돌릴까요?" → "되돌리기 확정".
- 시스템이 동일 edit 경로로 이전 값을 새 교정으로 적용 → 새 audit row.
- 페이지 자동 새로고침 → 최신 timeline 반영.
데이터 보존 — 원본 값은 audit
old_value에 영구. 되돌리기는 덮어쓰기 가 아니라 새 행 추가. 완전한 lineage.
충돌 처리
같은 회사 속성을 두 사람이 다르게 고쳤으면 timeline 에 amber 충돌 배지. 어느 값이 맞는지는 팀 슬랙·구두로 합의 후 정확한 값으로 재교정.
6. 부적합 마크 (feedback layer)
플라이휠은 영구 데이터 교정이 핵심 — 단, 영구 교정 전 일시적 ranking 신호 도 제공:
사용
- 결과 행 우측 ✕ 클릭 → "부적합" 마크.
- 마크된 행 아래 메모 영역 펼침 — "이 회사가 부적합한 이유" (선택).
- 다음 검색에 demote 반영 (cosine ≥ 0.85 유사 쿼리 자동 매칭).
언제 사용
- 그 쿼리에 한정해 약하게 demote 하고 싶을 때 — 데이터 교정 까진 부담스러울 때.
- 같은 회사가 다른 쿼리엔 정상이어야 할 때 (데이터 자체는 옳음).
vs 교정
| 부적합 마크 (feedback) | 교정 (correction) |
|---|---|
| 그 쿼리 한정 ranking 신호 | 데이터 자체 변경 |
| 영구 비활성·반영 가능 | audit 남고 되돌리기 가능 |
| 도메인 판단 빠를 때 | 진단 후 명확한 원인 있을 때 |
시나리오별 가이드
시나리오 A: "당근마켓이 핀테크 투자 검색에 안 나옴"
- Q001 핀테크 투자 검색 → 결과에 당근마켓 없음.
- "결과에 없는 회사 진단" 박스에 당근마켓 입력.
- 핀 행으로 표시 → 진단 패널 → 라벨 = 구조화 필터 제외 (
domainsFilter). - "자세히" → "쿼리 요구: fintech_investment, fintech_asset / 회사 값: fintech, social, ecommerce…"
- 해석: 당근마켓이 fintech 자식 슬러그 (investment / asset) 부재.
- 이 검색엔 당근마켓 안 나오는 게 맞음 — 당근의 핀테크는 송금 정도, 투자 상품 아님. 교정 불요. (시스템 진단이 옳음).
시나리오 B: "두나무 rank 가 낮음"
- 핀테크 투자 검색 → 두나무 rank 14 (낮음).
- 행 진단 → 라벨 = 검색 풀 안 rank 14/300.
- "자세히" → 의미 점수 0.42 (낮음).
- 회사 prose 확인: "디지털자산 거래소" 만 강조, "투자 / 증권" 어휘 부족.
- "웹리서치로 교정 제안 받기" → 제안 prose 에 "투자 / 증권 관련 디지털 자산 거래" 명시.
- prose 수락 → 적용 → 색인 갱신 → 재검색 시 두나무 rank ↑.
시나리오 C: "X 회사가 검색에 영원히 안 나옴"
- 어느 쿼리로도 X 가 안 나옴 → 결과 없는 회사 진단.
- 라벨 = DB 에 없음 또는 enrich 안 됨.
- "+ 누락 회사 추가" → enrich-single 입력 → 자동 enrich.
- 5-10초 후 검색 재실행 → X 나옴.
FAQ
Q. 교정한 게 잘못된 거면?
A. /corrections 에서 그 row 의 "되돌리기" 클릭 → 이전 값으로 복원. audit 영구.
Q. 색인 갱신이 느리진 않나? A. 자동 색인 갱신 ~1초. 그동안 헤드헌터 UI 는 "적용 중…" 표시. 응답은 동기. (구조화 속성 교정은 즉시.)
Q. 다른 팀원이 같은 회사를 동시에 고치면?
A. 후속 교정이 덮어씀 (마지막 write wins). 24h 내 중복 교정은 /corrections
amber 배지로 보임 — 슬랙으로 합의 후 정확한 값으로 재교정.
Q. 검색 결과가 캐시돼서 교정이 반영 안 보이면? A. 적용 직후 시스템이 현재 쿼리 를 즉시 재검색 (캐시 우회) — 화면 자동 갱신. 다른 쿼리는 10분 TTL 후 자동 만료.
Q. 외부 API 로 검색하는 것도 같은 데이터? A. Yes. UI / 외부 API 같은 DB·파이프라인. 교정 효과 똑같이 반영.