라온데이터
경력근거: 규제 산업을 위한 온프레미스 AI 에이전트. 추론·학습·로깅까지 고객사 사내망 안에서 끝납니다
※ 실제 산출물이 아닌 AI 예측 시안입니다.
라온데이터는 추론·학습·로깅까지 고객사 사내망 안에서 끝나는 규제 산업용 온프레미스 AI 에이전트를 만드는 회사라, 규제 답변을 근거와 함께 검증하는 이 도구는 라온데이터가 다루는 사내망 규제 문서와 온프레미스 제약이 있어야 점검을 검증할 수 있습니다.
추론·학습·로깅까지 고객사 사내망 안에서 끝나는 규제 산업용 온프레미스 에이전트. 답변·근거·검증을 한 스키마로 닫아야 외부 반출 없이 신뢰를 보인다.
고객사별 일회성 커스텀이 아니라 현장에서 검증된 솔루션을 제품 단위로. 답변 검증 코어를 재사용 가능하게 만드는 게 핵심.
모호한 현장 문제를 명확한 기술 과제로 옮기고 비전문가 의사결정을 기술 근거로 이끄는 역할. 답변이 근거에 맞는지 검증이 곧 설득의 근거.
고객사 규제 문서를 사내망 인덱스로 묶어 한 화면에서 봅니다. 규제 질문에 근거 문서를 붙여 답하고, LLM 이 답변이 근거에 맞는지(인용 일치·범위 이탈) 점검해 위험 답변 Top3 와 보강 권고 3건을 짚습니다. 매일 답변 점검 리포트를 사내 채널로 보냅니다. 1주차만으로 완성품이고, 답변이 전문가와 맞는지 확인(2주차)·다도메인 확장(3주차)으로 키웁니다. (근거는 채용공고 정렬이다.)
규제 답변이 근거에 맞는지 매번 손으로 검수하는 상황을 끝내고, 그 점검이 실제 전문가 판단과 맞는지까지 확인하고 싶은 라온데이터 FDE.
규제 문서와 답변·근거를 한 스키마로 묶으면, LLM 이 (a) 위험 답변 Top3(인용 불일치·범위 이탈) 와 (b) 보강 권고 3건을 몇 초 안에 짚고, (c) 전문가 라벨과 대조해 그 점검이 맞았는지 확인합니다.
규제 문서·답변을 한곳에 모아, 위험 답변 Top3 와 보강 권고를 LLM 이 만들고 매일 사내 채널로 보내는 동작하는 도구입니다.
LLM 점검과 전문가 라벨의 일치도를 맞춰보고, 컴플라이언스 검수자 2명이 위험 여부에 얼마나 동의하는지 보여주는 대시보드입니다.
확인된 점검을 바탕으로 다른 규제 도메인 문서셋으로 인덱스를 갈아끼워 동일 검증을 적용하는 단계입니다.
위험 답변 시나리오 10개를 넣으면 위험 답변 Top3 와 보강 권고 3건이 몇 초 안에 나오는 걸 시연으로 보여줍니다.
일부러 만든 악성·결측 입력 30종을 넣어도 출력 형식(스키마)이 한 번도 안 깨집니다. 형식 검증(Zod)을 자동 통과합니다.
매일 점검 리포트가 사내 채널로 자동 발송되는 걸 14일치 시연으로 보여줍니다.
내가 만든 정답 30개 중 위험 답변 Top3 가 일치한 게 24개(80%). 단, 정답과 데이터를 모두 내가 만든 합성 기준이므로 ‘성능 검증’ 이 아니라 ‘데모 조건에서의 동작’ 입니다.
위 수치는 전부 작성자가 만든 더미데이터 자가채점이며, 실제 일치도·정확도는 라온데이터 실 규제 문서 + 실 컴플라이언스 검수가 있어야 측정 가능합니다. 이 도구는 ‘그 검증을 바로 돌릴 수 있는 상태’ 까지 만듭니다.
이건 고객·실데이터 없이 혼자 만든 포트폴리오입니다. 모든 수치는 합성 데이터 자가채점이라 ‘성능 증명’ 이 아닙니다. 면접에서 솔직히 ‘데모 조건 동작 + 실검증 준비 상태’ 로 설명합니다.
정답을 작성자가 만들었으니 잘 맞는 것이 당연합니다. 일부러 헷갈리는 결측·악성·경계 케이스를 더미에 섞어, 쉬운 문제만 푸는 게 아님을 보여줘야 합니다.
‘규정 위반이다’ 는 점검이 검수자 주관일 수 있습니다. 근거 조항 인용을 강제하고 별도 judge 로 단정 표현을 누그러뜨립니다.
조항·문서 버전 표기가 제각각이라 인용이 깨집니다. 버전·조항 정규화로 묶고, 못 묶은 건 추측하지 말고 ‘미매핑’ 으로 알립니다.
실제 도입 시 달라지는 것 명시합니다. 실 규제 문서는 더미와 다르고 사내망 제약이 크므로 인덱스를 다시 구축해야 하고, 검수자도 실제 인력으로 교체해야 한다(도입 단계 과제로 분리)
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
고객사 규제·내규 문서(조항 단위). RAG 인덱스의 원천. 운영 현실대로 버전 충돌·스캔 추출 결측·중복 조항을 일부러 섞어, 쉬운 데이터만 푸는 게 아님을 보여준다.
고객 확인 의무는 거래 시작 전 신원·실소유자 정보를 확인하고 기록을 5년간 보존해야 한다. 비대면 확인 시 추가 인증 수단을 적용한다.
고객 확인은 거래 시작 전 신원 정보를 확인한다. (구버전 — v2.1 로 대체됨)
아래 Zod 스키마에 맞는 규제·내규 문서 docs 12개 JSON 배열로 생성. 각 문서는 {doc_id,title,body}, body 는 200~600자 한국어 규제 조항.
{"type":"object","properties":{"doc_id":{"type":"string"},"title":{"type":"string"},"body":{"type":"string"}},"required":["doc_id","title","body"]}
쉬운 데이터만 만들지 말 것 — 다음 하드 케이스를 의도적으로 섞어라: (1) 같은 주제의 신·구 버전 충돌 1쌍(구버전 폐지 표기), (2) 스캔 추출 결측을 명시한 표 문서 1건, (3) 거의 동일한 중복 조항 1쌍(정규화 필요). JSON 배열만.{"type":"object","properties":{"doc_id":{"type":"string"},"title":{"type":"string"},"body":{"type":"string"}},"required":["doc_id","title","body"]}컴플라이언스 검수자 페르소나(LLM 시뮬) 2명이 답변 위험에 부여한 라벨. Cohen’s κ 의 입력. 검수자 불일치·과잉 위험 판정을 일부러 섞어, 일치도가 1.0 이 아닌 현실을 보여준다.
| qa_id | reviewer | risky | risk_type | note |
|---|---|---|---|---|
| qa_01 | compliance_p1 | false | none | v2.1 정확 인용 |
| qa_01 | compliance_p2 | false | none | — |
| qa_02 | compliance_p1 | true | stale_version | 폐지된 v1.0 인용 |
| qa_02 | compliance_p2 | true | stale_version | — |
| qa_03 | compliance_p1 | true | out_of_scope | 세무 질문에 AML 인용 |
아래 Zod 스키마에 맞는 expert_labels 40 답변 × 평가자 3(p1/p2/self) = 120 행 JSON 배열로 생성.
{"type":"object","properties":{"qa_id":{"type":"string"},"reviewer":{"type":"string","enum":["compliance_p1","compliance_p2","self"]},"risky":{"type":"boolean"},"risk_type":{"type":"string","enum":["none","wrong_cite","out_of_scope","stale_version"]},"note":{"type":["string","null"]}},"required":["qa_id","reviewer","risky","risk_type","note"]}
조건: 평가자 간 risky 일치 70% 내외, 불일치 시 note 에 사유, risk_type 분포 자연스럽게. JSON 배열만.{"type":"object","properties":{"qa_id":{"type":"string"},"reviewer":{"type":"string","enum":["compliance_p1","compliance_p2","self"]},"risky":{"type":"boolean"},"risk_type":{"type":"string","enum":["none","wrong_cite","out_of_scope","stale_version"]},"note":{"type":["string","null"]}},"required":["qa_id","reviewer","risky","risk_type","note"]}| Python | ingest 파이프라인(규제 문서 → 사내 벡터 인덱스), LLM eval 스크립트(Cohen’s κ / 인용 일치율 계산) |
| JavaScript | 사내 점검 대시보드(위험 답변 카드 + 인용 하이라이트) 프론트 + Zod 런타임 검증 |
| k8s | 온프레미스 사내망 배포(추론·인덱스·리포트 봇 컨테이너 오케스트레이션) |
| LLM | 규제 질문 답변 생성 + 인용 일치·범위 이탈 점검 |
| VLM | 규제 문서 내 표·도식 추출(스캔 PDF 근거 인용) |
| RAG | 사내 규제 문서 검색 후 근거 인용 강제(외부 반출 없이 사내망 내 검색) |
✓ pass → 그대로 멈춰도 완결입니다. 더 키우고 싶으면 2주차(점검이 전문가와 맞는지 확인)로 진행합니다.
✓ pass → 여기서 멈춰도 완결입니다. 더 키우면 3주차(다도메인 확장)로 진행합니다.
1) 답변별 점검 카드(인용 일치·범위·완곡 표현), 2) 위험 답변 Top3, 3) 보강 권고 3건. 점검→보강 한 주기를 한 스키마에 담음.
{"type":"object","properties":{"batch":{"type":"string"},"checks":{"type":"array","items":{"type":"object","properties":{"qa_id":{"type":"string"},"answer":{"type":"string","minLength":10},"cited_doc_id":{"type":["string","null"]},"cite_match":{"type":"boolean"},"risk_type":{"type":"string","enum":["none","wrong_cite","out_of_scope","stale_version"]}},"required":["qa_id","answer","cited_doc_id","cite_match","risk_type"]},"minItems":3,"maxItems":5},"risky_top":{"type":"array","items":{"type":"object","properties":{"qa_id":{"type":"string"},"why":{"type":"string","minLength":12}},"required":["qa_id","why"]},"maxItems":3},"fixes":{"type":"array","items":{"type":"object","properties":{"qa_id":{"type":"string"},"action":{"type":"string","enum":["recite","narrow_scope","refresh_version"]},"reason":{"type":"string","minLength":15},"confidence":{"type":"string","enum":["low","mid","high"]}},"required":["qa_id","action","reason","confidence"]},"minItems":3,"maxItems":3},"verification":{"type":["object","null"],"properties":{"prior_batch":{"type":"string"},"agree_rate":{"type":"number"},"hits":{"type":"array","items":{"type":"object","properties":{"qa_id":{"type":"string"},"predicted_risky":{"type":"boolean"},"expert_risky":{"type":"boolean"},"hit":{"type":"boolean"}},"required":["qa_id","predicted_risky","expert_risky","hit"]}}},"required":["prior_batch","agree_rate","hits"]}},"required":["batch","checks","risky_top","fixes","verification"]}[
{
"batch": "2026-05-06",
"checks": [
{
"qa_id": "qa_02",
"answer": "KYC 는 신원만 확인하면 된다",
"cited_doc_id": "d_kyc_02",
"cite_match": false,
"risk_type": "stale_version"
},
{
"qa_id": "qa_04",
"answer": "고액현금거래는 1억 이상 보고",
"cited_doc_id": "d_aml_02",
"cite_match": false,
"risk_type": "wrong_cite"
},
{
"qa_id": "qa_01",
"answer": "신원·실소유자 확인 후 5년 보존",
"cited_doc_id": "d_kyc_01",
"cite_match": true,
"risk_type": "none"
}
],
"risky_top": [
{
"qa_id": "qa_02",
"why": "폐지된 v1.0 을 인용해 실소유자·보존 의무 누락"
},
{
"qa_id": "qa_04",
"why": "CTR 기준 1천만원을 1억으로 오인용"
}
],
"fixes": [
{
"qa_id": "qa_02",
"action": "refresh_version",
"reason": "v2.1 로 인용 갱신 후 재생성",
"confidence": "high"
},
{
"qa_id": "qa_04",
"action": "recite",
"reason": "d_aml_02 기준 금액 정확 인용",
"confidence": "high"
},
{
"qa_id": "qa_06",
"action": "narrow_scope",
"reason": "질문 범위 밖 조항 제거",
"confidence": "mid"
}
],
"verification": null
},
{
"batch": "2026-05-08",
"checks": [
{
"qa_id": "qa_05",
"answer": "보유기간 종료 시 지체 없이 파기",
"cited_doc_id": "d_priv_01",
"cite_match": true,
"risk_type": "none"
}
],
"risky_top": [],
"fixes": [
{
"qa_id": "qa_03",
"action": "narrow_scope",
"reason": "세무 질문에 AML 인용 제거",
"confidence": "high"
},
{
"qa_id": "qa_06",
"action": "recite",
"reason": "혼동 조항 정정",
"confidence": "mid"
},
{
"qa_id": "qa_07",
"action": "refresh_version",
"reason": "중복 조항 정규화 후 단일 인용",
"confidence": "mid"
}
],
"verification": {
"prior_batch": "2026-05-06 점검",
"agree_rate": 0.83,
"hits": [
{
"qa_id": "qa_02",
"predicted_risky": true,
"expert_risky": true,
"hit": true
},
{
"qa_id": "qa_04",
"predicted_risky": true,
"expert_risky": true,
"hit": true
},
{
"qa_id": "qa_03",
"predicted_risky": true,
"expert_risky": false,
"hit": false
}
]
}
},
{
"batch": "2026-05-11",
"checks": [
{
"qa_id": "qa_01",
"answer": "고객 확인 기록은 5년간 보존해야 합니다",
"cited_doc_id": "d_kyc_01",
"cite_match": true,
"risk_type": "none"
},
{
"qa_id": "qa_02",
"answer": "KYC 는 신원만 확인하면 됩니다",
"cited_doc_id": "d_kyc_02",
"cite_match": true,
"risk_type": "stale_version"
},
{
"qa_id": "qa_06",
"answer": "기록 보존 기간은 3년입니다",
"cited_doc_id": "d_record_02",
"cite_match": false,
"risk_type": "wrong_cite"
}
],
"risky_top": [
{
"qa_id": "qa_02",
"why": "폐지된 v1.0 을 인용해 현행 의무를 축소해 답했습니다"
},
{
"qa_id": "qa_06",
"why": "인용 조항에 3년이라는 문구가 없어 근거가 성립하지 않습니다"
}
],
"fixes": [
{
"qa_id": "qa_02",
"action": "refresh_version",
"reason": "폐지된 d_kyc_02 대신 현행 d_kyc_01 을 인용하도록 바꿉니다",
"confidence": "high"
},
{
"qa_id": "qa_06",
"action": "recite",
"reason": "보존 기간이 실제로 적힌 조항을 다시 찾아 인용합니다",
"confidence": "mid"
},
{
"qa_id": "qa_01",
"action": "recite",
"reason": "인용은 맞지만 조항 번호를 함께 남기도록 형식을 맞춥니다",
"confidence": "low"
}
],
"verification": {
"prior_batch": "2026-05-08 점검",
"agree_rate": 0.75,
"hits": [
{
"qa_id": "qa_05",
"predicted_risky": false,
"expert_risky": false,
"hit": true
},
{
"qa_id": "qa_03",
"predicted_risky": true,
"expert_risky": true,
"hit": true
},
{
"qa_id": "qa_06",
"predicted_risky": false,
"expert_risky": true,
"hit": false
}
]
}
}
]자동: (1) Zod parse, (2) cited_doc_id 가 reg_docs 의 실제 문서, (3) 인용 span 일치 검사 + LLM-as-judge 범위 이탈 평가, (4) 전문가 라벨과 risky 일치율 자동 계산. 수동: 컴플라이언스 검수자 2명 비동기 라벨 → bootstrap Cohen’s κ CI 하한 ≥ 0.6, judge 인간 spot check 5%.
근거: 규제 산업을 위한 온프레미스 AI 에이전트. 추론·학습·로깅까지 고객사 사내망 안에서 끝납니다