소싱 에이전트
KRAFTON HR Div. · cold outreach + reply handling · Apr 2026
언어
소싱된 후보자를 불러와 아웃리치 메시지를 개별/일괄 생성해요.
LIVE · HR's core outreach surface. Pick a contact source (curated test list, or a sourcing run from Module 1) → load contacts → generate drafts one-by-one or in batch → review/edit each draft → approve/skip.

How to use: (1) Contact source picks where candidates come from; (2) Language + Variant radios pick which prompt variant renders; (3) Click a row to populate the detail pane; (4) Generate Drafts makes real Claude API calls — each draft streams into its row. Approve/Skip now persist a ConversationTurn to disk (feeds Prompt Versions metrics + the optimizer dev-set); Send Approved is currently disabled pending LinkedIn scrutiny recovery.

Contact source


Sourcing run


후보자

위의 연락처 로드를 눌러주세요.
📄 직무 설명(JD)
[연락처 로드]에서 소싱된 후보자를 선택하세요.

후보자 상세

[연락처 로드]에서 소싱된 후보자를 선택하세요.

프롬프트 전략 프롬프트 수정/관리

언어
프롬프트 변형
peer (ko)시스템 + 사용자 지침
시스템
사용자

일괄 작업

모델 선택
초안 생성

메시지 초안

LIVE · LinkedIn send scheduler — persistent SQLite queue (~/.hr_agent/scheduled_sends.sqlite) backed by /api/scheduled-sends. Approved drafts enqueue here; the worker dispatches one at a time via Run tick now. Channel is chosen automatically (LinkedIn when cookies are present, Email when SMTP env vars are set).
발송 채널

LinkedIn 계정 연결 확인 중…

Upload cookies exported from your own browser. Needed before any LinkedIn send can dispatch successfully. No password ever touches our server.
Queued
대기열에서 차례 대기 중
발송 중
현재 디스패치 중
발송 완료 (24h)
정상 전달됨
실패 (24h)
행별 last_error 참고

대기 중 · 0

후보 채널 예정 시각
불러오는 중…

Recent (last 24h)

후보결과시간
불러오는 중…
LIVE · Git-graph view of every prompt variant HR can send. Each node = one variant; metrics (n_sends / avg edit_distance / approval_rate) render as colored chips. Fork makes a new variant with a parent link; Promote sets it as the default (old default → deprecated); Deprecate retires a variant without deleting it.

How to use: (1) Click a node to see its full prompt text on the right; (2) Fork from selected opens a modal pre-filled with the parent's instructions — edit the change_note + text, save, a new variant appears as a child in the tree; (3) Green dot = a variant that's measurably outperforming the default (≥15% lower edit_distance + n≥3 sends). A Suggestion card surfaces when a winner qualifies — one-click Promote. (4) [demo data] toggle in the header swaps data/sessions/ for the pre-seeded data/sessions/_demo/ fixture — useful when showing the feature with realistic metrics before real HR traffic lands.

프롬프트 대시보드

변형 불러오는 중…
기본 · ● 그 외 후보
← 트리에서 노드를 클릭하면 상세가 표시돼요.
LIVE · Active conversations. Opening this tab triggers a LinkedIn inbox poll (rate-limited to once per 2 minutes) via POST /api/linkedin/poll-replies. New replies land as ConversationTurn(role="candidate") and the session state flips to REPLIED_PENDING_HR.

Composing the next-turn draft is Phase C (multi-turn state machine) — not wired yet. For now, HR reads the reply here and replies manually in LinkedIn Recruiter / LinkedIn web.
Not polled yet this session.

Active · 0

No active conversations. Approve drafts in Batch Dashboard, then poll here.
Select a conversation on the left to see the thread.
실 데이터 (Live) · 현재 사용자의 세션 트리에서 실시간으로 집계한 지표입니다 — /api/variants에서 가져오며 cold-outreach 단계의 모든 변형(variant)을 합산합니다.
총 발송 (n_sends)
변형별 누적
승인율 (가중 평균)
SENT / (SENT + DECLINED)

변형별 평균 편집 거리 (실 데이터)

낮을수록 HR가 초안을 더 신뢰함 — 편집을 덜 함.

불러오는 중…
샘플 데이터 (Sample) · 아래 항목은 실제 지표가 아닌 예시입니다 — 응답률 추적은 D16 / LinkedInPoller 연결 후 실 데이터로 전환됩니다 (4월 27일 파일럿이 트래픽을 채울 예정).
응답률 (샘플)
31%
32 replies in 104 sent
비용 30d (샘플)
$2.14
Claude Haiku 4.5 · 127 drafts

변형별 응답률 (샘플)

peer-ko-v1 default
31%
n=32
shorter-opener-v1
33%
n=12
direct-ko-v1
20%
n=5
peer-en-v1
50%
n=2 (low)

후보자 깔때기 — 30일 (샘플)

Sourced (Module 1) 540 100%
Loaded to agent 184 34%
Drafted 165 30%
HR-approved 127 24%
Delivered (SENT) 104 19%
Replied 32 6%
Interview scheduled 11 2%
LIVE · Full sourcing audit view. Browse every sourcing run 조정석's Module 1 has produced. Per-candidate: verified_facts, inferred signals, sub-score breakdown (must_have / nice_to_have / fitness), exclusion reasons, source URLs.

How to use: (1) Pick a run on the left — rows show run_id, timestamp, and qualified/total candidate count. (2) The right pane expands with full run metadata (JD preview, filter, cutoff thresholds). (3) Click a candidate — ✓ means qualified, ✗ means below_cutoff (Module 1 filtered them out). (4) Candidate detail on the far right shows everything Module 1 knows; sources are clickable. (5) To trigger a new run, click + New run above the runs list — the same modal as on the Batch Dashboard, with a streaming progress log in Korean.

소싱

불러오는 중…
새 세션을 돌려 원하는 후보자를 소싱해보세요.