코오롱인더스트리
경력근거: AX 전략 기반 AI Agent 서비스 기획 및 제품화
※ 실제 산출물이 아닌 AI 예측 시안입니다.
코오롱인더스트리의 이 조직은 "OPEN NEW ERA with DX" 를 내건 사내 제조 DX 조직이고, JD 가 지목한 협업 상대는 "현업부서(제조/생산 등) 및 경영진" 이지 외부 고객사가 아닙니다. "제조 AI 기획 및 PI/컨설팅 지원" 과 "FDE: AI Agent 요건도출 및 프로토타이핑, 검증" 이 나란히 적혀 있어, 사내 현업 옆에 붙어 요건을 뽑고 프로토타입을 돌려 검증하는 자리로 읽힙니다. 이 도구의 사용자를 자사 품질보증 담당자로 잡았습니다. 품질보증 현장에서 실제로 오가는 자료가 고객사가 메일로 보내온 수입검사 결과 엑셀과 자사 시스템에서 내려받은 출하 성적서이고, 그 둘을 맞춰 보는 일이 클레임마다 반복되므로 요건도출·프로토타이핑·검증의 사슬이 그대로 섭니다. 파일 적재·정규화·대조·리포트 작성을 도구로 정의해 계획·실행·검증 루프로 묶은 구조는 "Agent Harness 기반 프로젝트 진행 경험" 을 정면으로 겨냥하고, 리포트가 그대로 현업·경영진 보고 산출물이 됩니다. 이 포트폴리오는 비정형 업무 파일을 규칙으로 대조해 사람이 읽을 문서로 바꾸는 기술을 보여주며, 고분자 소재 물성 해석이나 코오롱인더스트리 실제 품질 규격 체계 같은 소재 도메인 전문성은 주장하지 않습니다. 모르는 깊이는 면접에서 모른다고 말하는 편이 낫습니다.
AX 전략을 기반으로 현장이 실제로 쓸 AI Agent 서비스를 기획하고 요건을 도출해 프로토타이핑하고 검증합니다. 자사 품질보증 현업이 매주 손으로 하던 대조를 그대로 옮겨 담은 이 도구가 그 프로토타입으로 정렬됩니다.
운영관리·과제관리 같은 제조 도메인 관리시스템이 받아 쓸 수 있는 형태로 산출물을 냅니다. 이탈 로트를 과제 등록용 파일로 떨구고 리포트가 그대로 현업·경영진 보고 자료가 되는 구성이 정렬됩니다.
파일 적재·정규화·대조·리포트 작성을 도구로 정의하고 계획·실행·검증 루프로 묶어 명령 한 번에 돌립니다. 규칙이 판정을 정하고 LLM 은 문장 변환만 맡는 구조가 정렬됩니다.
고객사가 메일로 보내온 수입검사 결과 엑셀과 자사 품질 시스템에서 내려받은 출하 성적서를 함께 받아, 로트 표기를 정규화해 두 기록을 로트와 검사 항목으로 맞추고 단위를 환산한 뒤 항목별 허용 오차·자사 규격 상하한·성적서 기록 누락·측정 결측을 우선순위대로 적용해 로트별 판정을 내고, 이탈 로트를 담당 현업으로 회부하는 목록과 회신 문안 초안까지 리포트 파일 하나로 씁니다. 무엇이 이탈인지는 전부 이 규칙이 정하고 Claude 는 비고란의 자유 문장을 사유 코드로 바꾸고 회신 문안 초안을 쓰는 보조만 맡습니다. 지식 판정이 아니라 두 기록 사이의 수치 대조입니다.
코오롱인더스트리 품질보증팀에서 소재 클레임을 받는 담당자입니다. 개발자가 아니고 엑셀과 메일로 일합니다. 고객사가 보내온 수입검사 결과와 당사가 그 로트에 발행한 출하 성적서를 나란히 놓고 눈으로 맞춰 보다가, 로트 번호 표기가 서로 달라 헤매거나 성적서 기록이 없는 로트를 뒤늦게 발견하고, 어긋난 항목만 골라 생산·시험실에 회부하고 경영진 보고 자료에 다시 옮겨 적는 일을 매주 반복하던 사람입니다.
고객사 회신 수입검사 결과와 자사 출하 성적서를 한 스키마로 펴고 로트 정규화·단위 환산·허용 오차·규격 규칙을 붙이면, (a) 사람이 눈으로 맞추던 로트 대조를 명령 한 번으로 끝내고, (b) 왜 이탈인지를 회신 원문 셀과 성적서 줄 인용으로 풀며, (c) 성적서 기록이 없는 로트와 회신에 없는 출하 로트를 양방향으로 잡아냅니다.
고객사 회신 수입검사 결과 엑셀과 자사 출하 성적서를 인자로 주면 로트 표기를 정규화해 맞추고 단위 환산·허용 오차·규격 상하한·기록 누락 판정을 적용해, 로트별 대조 표와 이탈 목록과 현업 회부 목록과 회신 문안 초안이 담긴 리포트 md 파일을 떨구는 동작하는 명령줄 도구입니다. 입력 파일과 규격 기준표는 합성 더미로 시작하고 전부 로컬에서 돕니다.
비고란 자유 문장을 사유 코드로 바꾸는 변환을 붙이고, 대조 판정을 심은 정답과 검수자 2명 라벨과 비교해 판정 정확도·이탈 검출 정밀도와 재현율·일치도를 정리한 평가 리포트 파일입니다.
검사 항목 표를 늘리고 제품군 폴더 세 곳을 한 번에 돌리며, 이탈 로트를 사내 과제관리 시스템이 그대로 읽을 수 있는 등록용 CSV 로 함께 떨구는 명령줄 도구입니다.
고객사 회신 수입검사 결과 엑셀 1장(로트 12건·검사 46행)과 자사 출하 성적서 1묶음을 인자로 주고 명령을 한 번 실행하면, 로트별 대조 표와 이탈 목록과 현업 회부 목록과 회신 문안 초안이 담긴 리포트 파일이 몇 초 안에 떨어지는 걸 시연합니다
일부러 망가뜨린 입력 30종(소계·머리글 반복 행, 로트 표기 흔들림, 빈 셀, 환산표에 없는 단위, 자사 성적서에만 있고 회신에 없는 로트)을 넣어도 출력 형식(스키마)이 한 번도 안 깨집니다
더미에 심은 정답 판정 46건 중 대조 판정이 일치한 게 41건(약 89%)이고 인용한 회신 원문 셀·성적서 줄이 실제 그 자리를 가리키는 걸 보여줍니다. 단, 정답·데이터를 모두 작성자가 만든 합성 기준이라 '성능 검증'이 아니라 '데모 조건에서의 동작'임을 명시합니다
진짜 성능 검증은 여기서 멈춥니다. 위 수치는 전부 작성자가 만든 더미데이터 자가채점이며, 실제 판정 정확도와 이탈 검출 정밀도는 자사 실제 출하 성적서와 고객사가 실제로 보낸 회신 파일, 실 품질보증 담당자가 있어야 측정 가능합니다. 이 도구는 그 검증을 바로 돌릴 수 있는 상태까지 만듭니다
이건 사내 실데이터 없이 혼자 만든 포트폴리오입니다. 수치는 합성 데이터 자가채점이라 성능 증명이 아닙니다. 면접에서는 데모 동작과 실검증 준비 상태로 솔직히 설명합니다
이 포트폴리오는 비정형 업무 파일을 규칙으로 대조해 사람이 읽을 문서로 바꾸는 기술과 도구를 계획·실행·검증 루프로 묶는 기술을 보여줍니다. 고분자 소재 물성 해석·실제 품질 규격 체계·업계 클레임 실무 같은 소재 도메인 전문성은 포트폴리오로 증명되지 않으므로 주장하지 않으며, 그 부분은 면접에서 모르면 모른다고 말하는 편이 낫습니다
정답을 작성자가 만들었으니 잘 맞는 것이 당연합니다. 로트 표기 흔들림·환산표에 없는 단위·측정 결측·한쪽에만 있는 로트 같은 경계 케이스를 더미에 일부러 섞어, 쉬운 행만 통과시키는 게 아님을 보여줍니다
LLM 이 쓴 회신 문안은 그럴듯해도 판정과 어긋난 표현을 넣을 수 있습니다. 클레임 회신은 대외 문서라 더 위험하므로, 판정 값과 수치는 규칙 결과를 그대로 받아쓰게 고정하고 초안이 판정과 어긋나면 문장을 버리고 규칙이 만든 기본 문구로 되돌립니다
단위 환산표에 없는 단위나 자사 규격이 비어 있는 항목은 추측하면 오히려 위험합니다. 환산하지 않고 확인이 필요한 항목으로 따로 모아 리포트 끝에 남기며, 실제 도입 시 자사 성적서 양식과 사양서가 더미와 다르므로 항목 표와 허용 오차를 다시 맞춰야 합니다(도입 단계 과제로 분리)
① 인라인 샘플 · ② seed.json 다운로드 · ③ 증강 프롬프트. 세 층 모두 동일한 schema 에서 파생.
고객사가 메일로 보내온 수입검사 결과 엑셀을 행으로 편 자료입니다. AI Agent 가 가장 먼저 받는 입력이고, 소계 행·머리글 반복·로트 표기 흔들림·빈 셀·낯선 단위를 일부러 섞어 두었으며, gold_verdict 로 대조 정답을 심어 자가채점합니다. 규격 상하한은 이 파일에 없고 자사 출하 성적서 쪽에서 가져옵니다.
| row_id | sheet_row_kind | lot_raw | item_code | customer_measured | unit | remark_raw | gold_verdict |
|---|---|---|---|---|---|---|---|
| r_001 | data | KI-24-0917 | TENSILE | 512 | MPa | match | |
| r_002 | data | KI-24-0917 | THICK | 0.312 | mm | match | |
| r_003 | data | ki 24 0917 | MOISTURE | 0.42 | % | 재검 예정이라 참고만 부탁 | match |
| r_004 | data | KI-24-0918 | TENSILE | 486 | MPa | 인장 미달로 클레임 제기합니다 | out_of_spec |
| r_005 | data | KI-24-0918 | THICK | 0.335 | mm | out_of_spec |
아래 JSON Schema 에 맞는 고객사 회신 수입검사 결과 엑셀 행 40건을 JSON 배열로 생성합니다. 검사 항목은 TENSILE(MPa)·THICK(mm)·MOISTURE(%)·WIDTH(mm)·COLOR_DE(무단위)를 고르게 섞고 로트는 자사 출하 로트 대역 KI-24-09xx 로 둡니다.
{"type":"object","properties":{"row_id":{"type":"string"},"sheet_row_kind":{"type":"string","enum":["data","subtotal","header_repeat"]},"lot_raw":{"type":"string"},"item_code":{"type":"string"},"customer_measured":{"type":["number","null"]},"unit":{"type":"string"},"remark_raw":{"type":"string"},"gold_verdict":{"type":"string","enum":["match","deviation","out_of_spec","no_coa_record","unit_mismatch","missing_value","skip"]}},"required":["row_id","sheet_row_kind","lot_raw","item_code","gold_verdict"]}
gold_verdict 규칙을 이 우선순위 그대로 적용합니다. (1) sheet_row_kind 가 data 가 아니면 skip, (2) customer_measured 가 null 이면 missing_value, (3) unit 이 환산표(MPa·mm·µm·%)에 없으면 unit_mismatch, (4) 같은 로트·항목이 shipping_coa 에 없으면 no_coa_record, (5) customer_measured 가 shipping_coa 의 spec_min~spec_max 밖이면 out_of_spec, (6) 단위 환산 후 |customer_measured − reported| 가 항목별 허용 오차(TENSILE 5·THICK 0.005·MOISTURE 0.05·WIDTH 2·COLOR_DE 0.2)를 넘으면 deviation, (7) 그 외 match.
쉬운 데이터만 만들지 말 것. 다음 하드 케이스를 의도적으로 섞어라(깨끗한 행만 통과시키는 함정 회피): (1) 같은 로트를 가리키는 표기 흔들림('KI-24-0917'/'ki 24 0917'/'KI240917'/앞뒤 공백) 4건 이상, (2) 소계 행과 머리글 반복 행 각 1건 이상, (3) 결측: customer_measured 가 null 인 행 2건, (4) 환산표에 없는 단위(kgf/mm² 등) 1~2건, (5) 규격 경계에 딱 붙은 값(spec_max 와 같은 값) 2건, (6) 자사 성적서에 기록이 없는 로트 2건. remark_raw 는 고객사 담당자가 메일 표에 적어 보낸 말투로 씁니다. JSON 배열만.{"type":"object","properties":{"row_id":{"type":"string"},"sheet_row_kind":{"type":"string","enum":["data","subtotal","header_repeat"]},"lot_raw":{"type":"string"},"item_code":{"type":"string"},"customer_measured":{"type":["number","null"]},"unit":{"type":"string"},"remark_raw":{"type":"string"},"gold_verdict":{"type":"string","enum":["match","deviation","out_of_spec","no_coa_record","unit_mismatch","missing_value","skip"]}},"required":["row_id","sheet_row_kind","lot_raw","item_code","gold_verdict"]}자사 품질 시스템에서 내려받은 출하 성적서 기록입니다. 항목별 출하 측정치와 자사 규격 상하한을 함께 담아 고객사 회신 행과 로트·항목으로 맞춰 대조하는 상대편 기록이고, 회신에 없는 출하 로트를 일부러 남겨 한쪽에만 있는 레코드도 잡히는지 확인합니다.
| coa_id | lot_raw | item_code | reported | unit | spec_min | spec_max | issued_at | source_line |
|---|---|---|---|---|---|---|---|---|
| c_001 | KI-24-0917 | TENSILE | 511.4 | MPa | 490 | 540 | 2024-09-17 | 인장강도 511.4 MPa (규격 490~540) |
| c_002 | KI-24-0917 | THICK | 0.313 | mm | 0.3 | 0.32 | 2024-09-17 | 두께 0.313 mm (규격 0.300~0.320) |
| c_003 | KI-24-0917 | MOISTURE | 0.4 | % | 0 | 0.5 | 2024-09-17 | 수분율 0.40 % (규격 0.00~0.50) |
| c_004 | KI-24-0918 | TENSILE | 512 | MPa | 490 | 540 | 2024-09-18 | 인장강도 512.0 MPa (규격 490~540) |
| c_005 | KI-24-0918 | THICK | 0.318 | mm | 0.3 | 0.32 | 2024-09-18 | 두께 0.318 mm (규격 0.300~0.320) |
아래 JSON Schema 에 맞는 자사 출하 성적서 추출 레코드 45건을 JSON 배열로 생성합니다. customer_return_rows 의 로트·항목과 대부분 짝이 맞게 두되 일부러 어긋난 짝을 남깁니다.
{"type":"object","properties":{"coa_id":{"type":"string"},"lot_raw":{"type":"string"},"item_code":{"type":"string"},"reported":{"type":["number","null"]},"unit":{"type":"string"},"spec_min":{"type":["number","null"]},"spec_max":{"type":["number","null"]},"issued_at":{"type":"string"},"source_line":{"type":"string"}},"required":["coa_id","lot_raw","item_code","reported","unit"]}
source_line 은 성적서 원문에서 그대로 뽑아낸 한 줄처럼 항목명·수치·단위·규격 범위를 담아 씁니다. 출하 측정치 reported 는 원칙적으로 자사 규격(spec_min~spec_max) 안에 두고, 수치는 항목별 현실 범위(TENSILE 480~545 MPa, THICK 0.29~0.34 mm, MOISTURE 0~0.7 %, WIDTH 1240~1258 mm, COLOR_DE 0~1.2)를 지킵니다.
쉬운 데이터만 만들지 말 것. 다음 하드 케이스를 의도적으로 섞어라(양방향 누락을 못 잡는 함정 회피): (1) 고객사 회신에 없는 출하 로트만 실린 성적서 2건, (2) 고객사 측정치와 허용 오차를 넘게 벌어진 출하 보고치 3건, (3) 같은 로트인데 표기가 다른 줄('KI 24 0919' 같은 형태) 2건, (4) reported 가 null 이고 source_line 에 '판독 불가'가 적힌 줄 1건, (5) 규격 상하한이 비어 있는 항목 1건. JSON 배열만.{"type":"object","properties":{"coa_id":{"type":"string"},"lot_raw":{"type":"string"},"item_code":{"type":"string"},"reported":{"type":["number","null"]},"unit":{"type":"string"},"spec_min":{"type":["number","null"]},"spec_max":{"type":["number","null"]},"issued_at":{"type":"string"},"source_line":{"type":"string"}},"required":["coa_id","lot_raw","item_code","reported","unit"]}| Python | 파서·로트 정규화·대조 규칙·리포트 작성기를 구현하는 언어입니다 |
| pandas | 엑셀에서 편 행을 로트와 항목 키로 맞추고 차이를 계산하는 표 연산 도구입니다 |
| openpyxl | 고객사가 메일로 보내온 수입검사 결과 엑셀의 병합 셀·소계 행·머리글 반복을 읽어 걷어내는 파서입니다 |
| pdfplumber | PDF 로 보관된 자사 출하 성적서에서 로트·항목·측정치 줄을 뽑아내는 추출기입니다 |
| Typer | 명령 한 번으로 두 파일을 받아 리포트를 떨구는 명령줄 도구의 골조입니다 |
| Claude | 비고란 자유 문장을 사유 코드로 바꾸고 회신 문안 초안을 쓰는 구체 모델입니다 |
| Agent Harness | 파일 적재·정규화·대조·리포트 작성을 도구로 정의해 계획하고 실행하고 검증하는 루프의 골조입니다 |
| Tool calling | 각 단계를 함수 스키마로 정의해 LLM 이 구조화된 호출로만 부르게 하는 방식입니다 |
| JSON Schema | 대조 결과 카드의 형식을 고정해 필드 누락과 잘못된 판정 값을 실행 중에 거르는 검증기입니다 |
✓ pass → 그대로 멈춰도 완결입니다. 더 키우려면 2주차(판정이 맞았는지 확인)로 진행합니다.
✓ pass → 여기서 멈춰도 완결입니다. 더 키우면 3주차(항목·제품군 확장과 과제관리 등록용 목록)로 진행합니다.
고객사 회신 행 1건에 대한 대조 결과 카드입니다. 판정과 근거 규칙, 인용한 원문, 회부 대상 현업, 회신 문안 초안을 한 스키마로 담아 리포트 표와 이탈 목록과 현업 회부 목록에 그대로 씁니다. 지식 판정이 아니라 두 기록 사이의 수치 대조입니다.
{"type":"object","properties":{"lot_id":{"type":"string"},"item_code":{"type":"string"},"verdict":{"type":"string","enum":["match","deviation","out_of_spec","no_coa_record","unit_mismatch","missing_value","skip"]},"customer_measured":{"type":["number","null"]},"coa_reported":{"type":["number","null"]},"delta":{"type":["number","null"]},"unit":{"type":"string"},"route_to":{"type":"string","enum":["none","production","lab","shipping"]},"rule":{"type":"string","minLength":8},"reason":{"type":"string","minLength":20},"evidence":{"type":"string","minLength":8},"reply_line":{"type":["string","null"]},"hedge":{"type":["string","null"]}},"required":["lot_id","item_code","verdict","customer_measured","coa_reported","route_to","rule","reason","evidence"]}[
{
"input_ref": "r_001 (정상 대조)",
"output": {
"lot_id": "KI-24-0917",
"item_code": "TENSILE",
"verdict": "match",
"customer_measured": 512,
"coa_reported": 511.4,
"delta": 0.6,
"unit": "MPa",
"route_to": "none",
"rule": "허용 오차 5 MPa 이내이고 자사 규격 490~540 안입니다",
"reason": "고객사 회신 512.0 MPa 와 자사 출하 성적서 511.4 MPa 의 차이가 0.6 MPa 로 허용 오차 안이고 규격 범위도 벗어나지 않아 이상 없음으로 봅니다.",
"evidence": "회신 엑셀 r_001 / 성적서 c_001 '인장강도 511.4 MPa (규격 490~540)'",
"reply_line": null,
"hedge": null
}
},
{
"input_ref": "r_004 (규격 이탈 · 생산 회부)",
"output": {
"lot_id": "KI-24-0918",
"item_code": "TENSILE",
"verdict": "out_of_spec",
"customer_measured": 486,
"coa_reported": 512,
"delta": -26,
"unit": "MPa",
"route_to": "production",
"rule": "고객사 측정치가 자사 규격 하한 490 MPa 아래이고 인장 항목은 생산으로 회부합니다",
"reason": "고객사 회신 486.0 MPa 가 자사 규격 하한 490 MPa 를 밑돌고 출하 성적서 512.0 MPa 와도 26.0 MPa 벌어져 규격 이탈로 판정하며, 인장 항목이라 생산 공정으로 회부합니다.",
"evidence": "회신 엑셀 r_004 '인장 미달로 클레임 제기합니다' / 성적서 c_004 '인장강도 512.0 MPa (규격 490~540)'",
"reply_line": "KI-24-0918 로트 인장강도가 귀사 수입검사에서 486.0 MPa 로 확인되어 당사 출하 성적서의 512.0 MPa 와 차이가 큽니다. 당사 생산 공정 확인과 함께 귀사 시험 조건 공유를 요청드립니다.",
"hedge": null
}
},
{
"input_ref": "r_007 (자사 성적서 기록 없음)",
"output": {
"lot_id": "KI-24-0920",
"item_code": "TENSILE",
"verdict": "no_coa_record",
"customer_measured": 505,
"coa_reported": null,
"delta": null,
"unit": "MPa",
"route_to": "shipping",
"rule": "같은 로트·항목의 자사 출하 성적서 줄이 없습니다",
"reason": "고객사 회신에는 KI-24-0920 로트의 인장강도가 있으나 자사 성적서 묶음에 같은 로트 줄이 없어 대조 자체가 되지 않습니다. 값을 지어내지 않고 기록 누락으로 남겨 출하관리로 회부합니다.",
"evidence": "회신 엑셀 r_007 '성적서 사본 요청드립니다' / 자사 성적서 매칭 0건",
"reply_line": "KI-24-0920 로트의 당사 출하 성적서 기록을 확인 중이며 확인되는 대로 사본을 회신드리겠습니다.",
"hedge": "성적서 기록이 없어 이상 여부는 판단하지 않았고 기록 누락으로만 표시했습니다"
}
},
{
"input_ref": "r_008 (환산표에 없는 단위)",
"output": {
"lot_id": "KI-24-0921",
"item_code": "TENSILE",
"verdict": "unit_mismatch",
"customer_measured": 52,
"coa_reported": 510,
"delta": null,
"unit": "kgf/mm²",
"route_to": "none",
"rule": "단위 환산표에 없는 단위라 비교하지 않습니다",
"reason": "고객사 회신 단위가 kgf/mm² 이고 자사 성적서는 MPa 인데 환산 계수가 규칙에 정의돼 있지 않아 두 값을 그대로 비교하면 잘못된 이탈이 납니다. 환산을 추정하지 않고 확인 대상으로 돌립니다.",
"evidence": "회신 엑셀 r_008 단위 kgf/mm² / 성적서 c_007 '인장강도 510.0 MPa (규격 490~540)'",
"reply_line": "KI-24-0921 로트 인장강도의 단위 표기가 서로 달라 대조를 보류했습니다. 측정 단위와 시험 규격 확인을 요청드립니다.",
"hedge": "환산 계수가 없어 값 비교는 하지 않았고 단위 확인 항목으로만 올렸습니다"
}
}
][자동 검증] 1. JSON Schema 로 출력 형식(필드·enum)이 통과하는지 확인해 필드 누락과 잘못된 verdict 값을 거릅니다. 2. verdict 가 우선순위 규칙(비데이터 행→skip, 측정 결측→missing_value, 미정의 단위→unit_mismatch, 자사 성적서 기록 없음→no_coa_record, 자사 규격 밖→out_of_spec, 허용 오차 초과→deviation, 나머지→match)과 일치하는지 봅니다. 3. delta 가 실제로 단위 환산 후 customer_measured 에서 coa_reported 를 뺀 값과 같은지 다시 계산해 맞춰 보고, verdict 가 no_coa_record·unit_mismatch·missing_value 면 delta 가 null 인지 확인합니다. 4. route_to 가 회부 매핑 표(TENSILE·THICK·WIDTH→production, MOISTURE·COLOR_DE→lab, no_coa_record→shipping, match·unit_mismatch·missing_value·skip→none)와 일치하는지 다시 계산해 봅니다. 5. evidence 의 행 번호와 성적서 줄이 원본 파일에 실제로 있는 문자열인지 대조해 지어낸 인용을 거릅니다. 6. reply_line 에 적힌 수치와 로트 번호가 카드의 customer_measured·coa_reported·lot_id 와 글자 그대로 같은지 검사하고, 다르면 초안을 버리고 규칙이 만든 기본 문구로 되돌립니다. 7. verdict 를 심은 정답 gold_verdict 와 비교해 판정 정확도와 이탈 검출 정밀도·재현율을 계산합니다. [수동 검증] 1. 검수자 2명이 비동기로 로트별 판정을 라벨링해 정밀도·재현율과 bootstrap Cohen's κ(두 사람 판정 일치가 우연 이상인 정도, 0~1) 하한 0.6 이상을 봅니다. 2. 전체의 5% 를 사람이 직접 점검합니다.
근거: AX 전략 기반 AI Agent 서비스 기획 및 제품화