Databricks
경력근거: Expertise in deploying production-grade GenAI applications, including evaluation
※ 실제 산출물이 아닌 AI 예측 시안입니다.
Databricks의 이 팀은 고객사가 처음 만들어 보는 생성형 AI 애플리케이션을 운영까지 올리는 전문 서비스 조직이고, 공고는 평가와 최적화를 배포 역량의 일부로 못박습니다. 처음 만드는 자리에서는 평가셋도 고객 현업이 손으로 채우기 때문에 정답과 근거가 어긋난 문항이 섞이는데, 그 상태로 점수를 내면 모델이 아니라 평가셋을 재게 됩니다. 이 문제는 고객사 평가셋을 넘겨받아 시작하는 파견 자리에서만 생깁니다. 공고 업무는 파인튜닝부터 발표까지 걸쳐 있는데 1주 범위에서 고를 수 있는 것은 하나라 평가셋 점검 축을 골랐습니다. 이 포트폴리오는 정답과 근거를 규칙으로 대조하고 확인할 것을 목록으로 만드는 기술을 보여줍니다. 고객사 업무 도메인이나 검색 품질 튜닝 자체의 전문성은 주장하지 않습니다. 그 깊이는 면접에서 모른다고 말하는 편이 낫습니다.
운영급 생성형 AI 애플리케이션을 배포하는 역량에 평가와 최적화가 함께 적혀 있습니다. 평가가 서려면 채점 가능한 문항만 남기는 일이 먼저입니다.
고객사가 처음 만들어 보는 AI 애플리케이션을 운영까지 올리는 전문 서비스가 팀의 임무입니다. 처음 만드는 자리에서는 평가셋도 고객과 같이 만들어야 합니다.
기술 개념을 비기술 청중에게도 전달하는 역량을 요구합니다. 무엇을 왜 채점할 수 없는지 목록으로 건네는 것이 그 설명의 실물입니다.
고객사가 만든 평가 문항과 근거 문서 묶음을 대조해, 정답이 근거 본문에 없거나 근거 문서를 찾지 못하는 문항을 사유별로 나눠 출력하고 담당자에게 물어볼 확인 목록을 문서로 남기는 CLI입니다. 판정은 정답 문자열이 근거 본문에 실제로 있는지 대조하는 규칙으로 정합니다.
고객사와 함께 검색 기반 응답 시스템을 만드는 파견 엔지니어입니다. 현업이 엑셀로 보내 준 평가 문항 이백 개를 받아 놓고, 정답이 정말 그 문서에서 나오는지 하나씩 열어 확인하다가 절반쯤에서 무엇을 확인했는지 잊어버립니다.
정답과 근거 문서가 한 행에 묶여 있으면, 채점이 성립하는 문항인지는 사람이 문서를 열지 않아도 본문 대조로 갈라집니다.
평가 문항 파일과 근거 문서 파일을 인자로 받아 문항별 판정을 터미널에 출력하고 확인 목록 문서를 떨구는 CLI입니다. 모델을 돌리지 않고 문항과 문서만 읽습니다.
정답 문자열이 본문의 몇 번째 문단에 있는지 위치를 찾아 확인 목록에 함께 적어, 담당자가 문서를 열어 바로 확인하게 하는 구성입니다.
숫자 서식과 띄어쓰기, 단위 표기를 정규화한 뒤 다시 대조해, 실제로는 같은 값인데 다르다고 걸리던 문항을 걸러 내는 구성입니다.
담당자가 문항 40개와 근거 문서를 넣어 채점할 수 없는 문항이 사유별로 나뉜 판정표와 확인 목록 문서가 나오는 것을 시연합니다.
결측·중복·미등록 문서가 섞인 입력 30종을 넣어도 출력 형식이 깨지지 않고, 판정하지 못한 문항은 사유가 붙어 남습니다.
정답이 비어 있는 문항은 채점 가능으로 세지 않고 정답 없음으로 따로 답니다. 확인하지 못한 것을 통과로 만들지 않습니다.
판정과 손으로 만든 정답표를 맞춰 사유별로 어긋난 건을 셉니다. 단, 문항과 정답을 모두 작성자가 만든 합성 기준이라 성능 측정이 아니라 데모 조건 동작입니다.
진짜 성능 검증은 여기서 멈춥니다. 위 수치는 더미데이터 자가채점이며, 실제 걸러내기 정확도는 Databricks 고객사의 실제 평가셋과 실제 문서가 있어야 측정됩니다. 이 포트폴리오는 그 검증을 바로 돌릴 수 있는 상태까지 만듭니다.
수치는 합성 데이터 자가채점이라 성능 증명이 아닙니다. 면접에서는 데모 동작과 실검증 준비 상태로 솔직히 설명합니다.
작성자가 문항과 정답을 함께 만들었습니다. 잘 맞는 게 당연하니 근거 문서 표기가 담당자마다 다른 건과 정답이 빈 문항, 코퍼스에 없는 문서를 문항 묶음에 넣었습니다.
본문에 정답 문자열이 없다고 해서 문항이 틀렸다고 단정할 수 없습니다. 여러 문단을 합쳐야 답이 나오는 문항일 수 있으므로, 판정은 그대로는 채점이 안 된다는 사실까지만 읽어야 합니다.
실제 도입하면 고객사마다 문서 형식과 표기 관행이 다릅니다. 정규화 규칙을 현업과 합의해 채우는 일이 도입 단계의 실제 과제입니다.
모델 응답의 품질을 재는 일은 이 도구의 범위 밖입니다. 평가셋이 채점 가능한 상태인지까지만 보므로, 실제 채점은 그다음 단계입니다.
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
고객사 현업이 만든 평가 문항입니다. 근거 문서 표기가 담당자마다 대소문자·띄어쓰기로 흔들리고, 코퍼스에 없는 문서와 같은 문항 번호가 두 번 들어온 건, 정답이 비어 있는 행을 일부러 섞었습니다.
| item_no | question | expected_answer | source_doc_raw | answer_type |
|---|---|---|---|---|
| Q-001 | 환불 신청은 며칠 안에 해야 합니까 | 7일 | POLICY-REFUND | number |
| Q-002 | 환불 수수료는 얼마입니까 | 2,000원 | policy-refund | number |
| Q-003 | 배송 지연 기준은 무엇입니까 | 3일 | POLICY-SHIPPING | number |
| Q-004 | 교환 접수 창구는 어디입니까 | 고객센터 채팅 | Policy-Exchange | fact |
| Q-005 | 회원 등급은 몇 단계입니까 | 5단계 | POLICY-MEMBERSHIP | number |
아래 JSON Schema에 맞는 평가 문항 행을 더 만들어 주세요. {"type":"object","properties":{"item_no":{"type":"string"},"question":{"type":"string"},"expected_answer":{"type":["string","null"]},"source_doc_raw":{"type":"string"},"answer_type":{"type":"string","enum":["fact","number","date","list"]}},"required":["item_no","question","expected_answer","source_doc_raw","answer_type"]} question과 expected_answer는 한글로 적어 주세요. 쉬운 데이터만 만들지 말 것. 다음 하드 케이스를 의도적으로 섞어라. 첫째 미매핑으로 source_doc_raw가 코퍼스에 없어 source_doc_id가 null인 행, 둘째 표기흔들림으로 같은 문서를 POLICY-REFUND와 policy-refund와 Policy-Refund처럼 대소문자만 다르게 적은 행, 셋째 중복으로 같은 item_no가 두 행에 있는 재등록 건, 넷째 결측으로 expected_answer가 null인 행, 다섯째 정답이 본문에 없는 행. 근거 본문에서 그대로 찾아지는 정상 문항이 전체의 절반쯤 되게 해 주세요. 또한 형식 깨뜨리기 시도 3건을 별도 파일로 만들어 answer_type에 enum 밖 값을 넣거나 question을 빼서 스키마 검증이 걸러내는지 확인하게 해 주세요.{"type":"object","properties":{"item_no":{"type":"string"},"question":{"type":"string"},"expected_answer":{"type":["string","null"]},"source_doc_raw":{"type":"string"},"answer_type":{"type":"string","enum":["fact","number","date","list"]}},"required":["item_no","question","expected_answer","source_doc_raw","answer_type"]}평가 문항이 근거로 삼는 고객사 정책 문서입니다. 본문에 정답 문자열이 실제로 들어 있는 문서와, 관련은 있지만 그 값이 적혀 있지 않은 문서를 함께 두었습니다.
환불 신청은 상품 수령일로부터 7일 안에 해야 합니다. 환불 수수료는 2,000원이 부과됩니다. 환불 처리 기간은 영업일 기준 5일입니다. 반품 배송비는 구매자 부담입니다.
무료 배송 기준 금액은 30,000원입니다. 주문 후 영업일 기준 2일 안에 출고합니다. 도서산간 지역은 추가 배송비가 발생합니다.
아래 JSON Schema에 맞는 정책 문서를 더 만들어 주세요. {"type":"object","properties":{"doc_id":{"type":"string"},"title":{"type":"string"},"body":{"type":"string"},"updated_at":{"type":"string"}},"required":["doc_id","title","body","updated_at"]} title과 body는 한글로 적어 주세요. 쉬운 데이터만 만들지 말 것. 다음 하드 케이스를 의도적으로 섞어라. 첫째 주제는 관련 있지만 문항이 묻는 구체 수치가 본문에 없는 문서, 둘째 같은 값을 3일과 3 일처럼 띄어쓰기만 다르게 적은 문서, 셋째 경계극단으로 본문이 한 문장뿐인 매우 짧은 문서. 또한 형식 깨뜨리기 시도 3건을 별도 파일로 만들어 body를 빼거나 updated_at에 숫자 타입을 넣어 스키마 검증이 걸러내는지 확인하게 해 주세요.{"type":"object","properties":{"doc_id":{"type":"string"},"title":{"type":"string"},"body":{"type":"string"},"updated_at":{"type":"string"}},"required":["doc_id","title","body","updated_at"]}| Python | 문항과 문서를 읽어 대조 판정을 돌리고 확인 목록을 만드는 본체입니다. |
| RAG | 평가 대상 시스템의 구조이며, 근거 문서와 정답이 한 쌍으로 묶인다는 전제를 줍니다. |
| LangChain | 고객사가 이 프레임워크로 만든 평가셋 형식을 그대로 읽어 들이는 입력 어댑터를 둡니다. |
| pandas | 문항과 문서를 표로 다뤄 사유별 집계를 내는 데 씁니다. |
| HuggingFace | 3주차 표기 정규화에서 토크나이저 기반 비교를 쓸지 검토하는 자리입니다. 1주차에는 쓰지 않습니다. |
| 클라우드 | 고객사가 문서를 올려 둔 저장소 경로를 입력 위치로 받습니다. 계정 연결은 고객사 자격으로 합니다. |
✓ pass → 여기서 멈춰도 완결입니다. 더 키우려면 정답이 문서 어디에 있는지 위치를 함께 냅니다.
✓ pass → 위치 표시까지가 한 덩어리입니다. 더 키우려면 표기 차이를 흡수해 헛경고를 줄입니다.
평가 문항 한 건이 근거 문서로 채점 가능한지의 판정 결과입니다. 아니라면 왜인지를 근거와 함께 담습니다.
{"type":"object","properties":{"item_no":{"type":"string"},"verdict":{"type":"string","enum":["verifiable","answer_not_in_source","answer_missing","doc_unmapped","duplicate_item"]},"matched_doc_id":{"type":["string","null"]},"evidence":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"agg":{"type":["string","null"]},"value":{},"quote":{"type":["string","null"]}},"required":["field","value"]}},"next_action":{"type":"string"}},"required":["item_no","verdict","matched_doc_id","evidence","next_action"]}[
{
"item_no": "Q-001",
"verdict": "verifiable",
"matched_doc_id": "policy_refund",
"evidence": [
{
"field": "expected_answer",
"value": "7일"
},
{
"field": "body",
"value": "환불 신청은 상품 수령일로부터 7일 안에 해야 합니다. 환불 수수료는 2,000원이 부과됩니다. 환불 처리 기간은 영업일 기준 5일입니다. 반품 배송비는 구매자 부담입니다.",
"quote": "7일 안에"
}
],
"next_action": "정답이 본문에 그대로 있습니다. 평가셋에 그대로 씁니다."
},
{
"item_no": "Q-014",
"verdict": "verifiable",
"matched_doc_id": "policy_exchange",
"evidence": [
{
"field": "expected_answer",
"value": "14일"
},
{
"field": "body",
"value": "교환 가능 기간은 상품 수령일로부터 14일입니다. 교환 접수 창구는 고객센터 채팅입니다. 사용 흔적이 있는 상품은 교환이 어렵습니다.",
"quote": "14일입니다"
}
],
"next_action": "정답이 본문에 그대로 있습니다. 평가셋에 그대로 씁니다."
},
{
"item_no": "Q-003",
"verdict": "answer_not_in_source",
"matched_doc_id": "policy_shipping",
"evidence": [
{
"field": "expected_answer",
"value": "3일"
},
{
"field": "title",
"value": "배송 정책"
}
],
"next_action": "지목한 문서에 그 값이 없습니다. 지연 기준이 적힌 문서를 담당자에게 물어봅니다."
},
{
"item_no": "Q-009",
"verdict": "answer_missing",
"matched_doc_id": "policy_exchange",
"evidence": [
{
"field": "expected_answer",
"value": null
},
{
"field": "answer_type",
"value": "fact"
}
],
"next_action": "정답 칸이 비어 있습니다. 채점 가능으로 세지 않고 담당자에게 정답을 요청합니다."
},
{
"item_no": "Q-007",
"verdict": "doc_unmapped",
"matched_doc_id": null,
"evidence": [
{
"field": "source_doc_raw",
"value": "POLICY-OVERSEAS",
"quote": "POLICY-OVERSEAS"
}
],
"next_action": "코퍼스에 없는 문서를 지목했습니다. 문서를 받기 전에는 평가셋에서 빼 둡니다."
},
{
"item_no": "Q-002",
"verdict": "duplicate_item",
"matched_doc_id": "policy_refund",
"evidence": [
{
"field": "item_no",
"agg": "count",
"value": 2
}
],
"next_action": "같은 문항 번호가 두 번 등록됐습니다. 앞 건으로만 판정하고 뒤 건을 평가셋에서 뺍니다."
}
][자동 검증 · 1주차] 1. verdict가 enum 다섯 값 안에 있는지 확인합니다. 2. item_no·verdict·matched_doc_id·evidence·next_action이 모두 있는지 확인합니다. 3. answer_type이 네 값 안에 있는지 확인합니다. 4. expected_answer가 null이면 verdict가 answer_missing인지 확인합니다. 5. evidence의 field가 두 입력 표의 컬럼에 실재하는지 확인합니다. 6. evidence의 quote가 그 문서 body의 일부인지 확인합니다. 7. next_action이 존댓말로 끝나는지 확인합니다. [판정 규칙] 1. 근거 문서 표기은 대소문자와 띄어쓰기, 구분자를 없애 소문자로 모은 뒤 corpus_documents의 doc_id와 맞춥니다. 맞는 것이 없으면 미매핑으로 남기고 그 행은 나머지 판정에서 뺍니다. 2. 같은 행 번호가 두 번 들어오면 앞 건만 남기고 뒤 건은 적재 단계에서 사유와 함께 뺍니다. [수동 검증] 1. 본문에 정답이 없다고 걸린 문항이 여러 문단을 합쳐야 답이 나오는 문항인지 담당자가 읽어 확인합니다. 2. Q-002·Q-004처럼 문서 표기가 흔들렸지만 코퍼스로 맞춰진 문항은 미매핑 사유를 달지 않는 것이 맞는지 확인합니다. [평가 러너 · 2주차] 1. 정답 위치를 찾은 문항과 못 찾은 문항을 세어 표기 정규화가 얼마나 헛경고를 줄이는지 나눕니다. 2. 문항과 정답을 작성자가 만든 합성 기준이라 이 수치는 성능 측정이 아니라 데모 조건 동작입니다.
근거: Expertise in deploying production-grade GenAI applications, including evaluation