98 lines
17 KiB
Markdown
98 lines
17 KiB
Markdown
**AI 기반 조달계획안 검증 Tool**
|
|
|
|
난 이 도 **고급**
|
|
|
|
| **프로젝트 목표** | 조달계획안과 계약서는 지체상금률, 선금, 보증, 하도급, 필수 조항 같은 항목이 규정에 맞는지 사람이 한 건씩 읽고 대조해야 해서 검토가 늦어지고 불공정 조항이나 납기 지체 위험 문구를 놓치기 쉽다. 본 프로젝트는 조달계획안과 계약서의 오류와 위험을 검증하는 도구를 만드는 과제로, 조달 업무의 병목과 위험 신호 기준, 조항 수정 대안, 계약 의뢰 근거와 변경 이력, 업무 효과 측정까지 한 흐름으로 구현한다. 교육용 가상 계약 자료로 계약 데이터 스키마 정의, 서식별 자료 정제와 조항 정규화, 룰 기반 규정 준수 판별, 자연어처리 기반 독소·납기 위험 문구 식별, 위험 점수와 신뢰도 엔진, 조항 하이라이트 대시보드와 오류 처리, 계약관·법무 검토 HITL 워크플로우, 1,000건 일괄 스크리닝 부하 시험, AAR 룰셋 재보정, 통합 패키지까지 단계별로 만든다. 최종 목표는 위험 계약을 근거와 함께 먼저 보여 주어 검토 시간을 줄이되, 규정 위반 여부의 판단과 계약 승인은 계약관·법무·승인권자가 하도록 지원하는 도구를 완성하는 것이다. |
|
|
| --- | --- |
|
|
|
|
| **유의사항** | 모든 계약·조항·금액·업체 자료는 코드 안에서 만든 교육용 가상 자료이며 실제 계약, 법령 조문, 업체 정보는 사용하지 않는다. 부대·기관 자료의 외부 AI 서비스 입력과 부대 내 촬영은 금지한다. 위험 점수와 문구 식별 결과는 판단 보조 정보이며 규정 위반 여부의 최종 판단, 법무 검토, 계약 승인은 계약관·법무·승인권자가 수행한다. 룰과 대응시킨 지침 조항은 연결 방식을 보이기 위한 가상 예시이며 실제 규정 원문이 아니다. 자연어처리는 외부 LLM 서비스 없이 실행 환경 안의 라이브러리만 사용한다. 미션별 정답 코드는 각각 한 파일로 독립 실행된다. |
|
|
| --- | --- |
|
|
|
|
**1단계. 계약 자료 구조 정의 및 계약서 텍스트 전처리**
|
|
|
|
| **미션 1. 국방 조달 계약서, 입찰 공고문 및 방위사업법 규정 데이터 구조 분석** [초급 · 1.5시간] | **미션 1. 국방 조달 계약서, 입찰 공고문 및 방위사업법 규정 데이터 구조 분석** [초급 · 1.5시간] |
|
|
| --- | --- |
|
|
| **목표** | 조달계획안과 계약서(계약 방식·금액·기간·대금·보증 조건, 필수 조항 유무)의 데이터 구조와 입출력 명세를 정의하고, 현행(AS-IS) 조달계획안 검증 업무를 단계로 나누어 병목을 찾는다. |
|
|
| **수행** | 계약 식별, 계약 방식·금액·기간, 지체상금률·선금·이행보증·하자보증, 하도급 비율, 필수 조항 유무를 묶어 필드 16개의 스키마와 검증 규칙을 만든다. 가상 계약 100건을 검증하고 형식·허용값·범위·자료형·누락·논리 규칙 위반 오류를 일부러 넣어 검출되는지 확인한다. 조달계획안 검증 업무를 12단계로 분해해 단계별 작업일과 대기일을 계산하고, 자동화할 단계와 계약관·법무가 판단해야 하는 단계를 나눈 TO-BE 안을 비교한다. |
|
|
| **산출물** | docs/prc01_as_is_to_be_spec.md, 입출력 데이터 명세 |
|
|
| **평가** | **[필수] AS-IS/TO-BE 업무 분해** — 업무 단계 10단계 이상 분해, 병목 구간 3개소 이상 도출, 정상 샘플의 형식 검증 오류 0건, AS-IS와 TO-BE 비교가 단계별로 명확한가. |
|
|
|
|
| **미션 2. 계약서 텍스트 파싱, 불공정 조항 키워드 추출 및 조항별 정규화 전처리 모듈 구현** [초급~중급 · 2시간] | **미션 2. 계약서 텍스트 파싱, 불공정 조항 키워드 추출 및 조항별 정규화 전처리 모듈 구현** [초급~중급 · 2시간] |
|
|
| --- | --- |
|
|
| **목표** | 서식이 다른 계약 자료(CSV, 엑셀 내보내기, JSON, 계약서·공문 텍스트)를 하나의 표준 스키마로 바꾸고 불공정 조항 키워드를 추출하는 정규화 전처리 모듈을 구현한다. |
|
|
| **수행** | 열 이름 별칭 사전으로 CSV, 탭 구분(엑셀 내보내기), JSON 세 형식을 표준 스키마로 바꾸고, 금액(억원·백만원·만원·원), 기간(일·주·개월·년), 지체상금률(%, 1/1000, 천분의), 선금 표기를 통일한다. 서식이 서로 다른 계약서·공문 텍스트 5건에서 금액·기간·지체상금률·선금을 정규식으로 뽑고 조항 번호와 호칭을 정규화한 뒤 독소·납기 위험 키워드를 표시한다. 열 이름이 바뀐 새 양식과 표현이 달라진 공문을 넣어 실패를 확인한 뒤 별칭 사전과 정규식 한 줄만 보완해 처리되는지 확인한다. |
|
|
| **산출물** | src/connectors/prc01_data_loader.py 및 스키마 정의서 |
|
|
| **평가** | **[필수] 계약 자료 정제·조항 파싱** — CSV·탭 구분(엑셀 내보내기)·JSON·계약서 텍스트 파싱 성공률 100%, 중복 계약 정리, 새 서식을 설정 변경만으로 처리하는 확장성을 확인했는가. |
|
|
|
|
**2단계. 규정 준수 룰 엔진 및 독소·납기 위험 문구 식별 모델**
|
|
|
|
| **미션 3. 방위사업 계약 필수 규정 준수 여부 자동 판별 1차 Rule 엔진 구현** [중급 · 2.5시간] | **미션 3. 방위사업 계약 필수 규정 준수 여부 자동 판별 1차 Rule 엔진 구현** [중급 · 2.5시간] |
|
|
| --- | --- |
|
|
| **목표** | 방위사업 계약 필수 규정(가상 지침)의 준수 여부를 판별하는 룰 15종 이상을 YAML 설정으로 코딩하고 계약별 1차 판별 등급을 산출한다. |
|
|
| **수행** | 지체상금률 하한, 선금 한도와 보증, 수의계약 한도, 이행보증, 하자보증, 해지·보안·지식재산 조항 유무, 하도급 비율, 검사 기간, 납품 기한 논리, 물가변동 조항, 장기 계약, 불공정 키워드 등 16종 룰을 가중치 합으로 고위험·주의·관심 등급에 연결한다. 각 룰에 가상 지침 조항을 연결해 판정 근거를 보이고, 기준값 바로 아래·위 경계 조건 단위 시험 32건과 레코드 1건당 처리 지연시간을 측정한다. 계약관 확정 위반 여부와 등급을 비교해 재현율·정밀도를 확인하고, 수의계약 한도를 바꿔 코드 수정 없이 결과가 달라지는지 확인한다. |
|
|
| **산출물** | src/engine/prc01_rule_engine.py |
|
|
| **평가** | **[필수] 계약 규정 준수 룰 엔진** — 룰 15종 이상, 처리 지연시간 50ms 이하, 경계 조건 단위 시험 100% 통과, 룰별 근거 조항 연결, 등급별 실제 위반율과 재현율을 제시하고 설정 변경으로 룰을 바꿀 수 있는가. |
|
|
|
|
| **미션 4. LLM/자연어처리 기반 독소 조항, 납기 지체 위험 문구 자동 식별 모델 고도화** [중급~고급 · 3시간] | **미션 4. LLM/자연어처리 기반 독소 조항, 납기 지체 위험 문구 자동 식별 모델 고도화** [중급~고급 · 3시간] |
|
|
| --- | --- |
|
|
| **목표** | 자연어처리(글자 n-gram TF-IDF와 로지스틱 회귀)로 독소 조항과 납기 지체 위험 문구를 식별하는 모델을 만들고 수정 권고 문안을 제시한다. |
|
|
| **수행** | 조항 문장을 정상·독소·납기위험 세 종류로 분류하는 모델을 학습하고, 학습에 쓴 문장 틀과 처음 보는 표현 두 시험 세트로 정확도를 계산해 단순 키워드 기준선과 비교한다. 오분류 사례를 확인하고 분류에 크게 기여한 표현을 근거로 보인다. 위험 조항마다 표준 문안 라이브러리와의 유사도로 수정 권고 Top-3와 유사도 점수를 제시하고 과거 처리된 수정 주제와의 일치도를 계산한다. 외부 LLM 서비스는 사용하지 않는다. |
|
|
| **산출물** | src/ai/prc01_intelligence_module.py |
|
|
| **평가** | **[선택] 독소·납기 위험 문구 식별 모델** — 분류 정확도 85% 이상, 키워드 기준선과의 비교, 처음 보는 표현에서의 성능, 수정 권고 Top-3와 유사도 점수 제시, 근거 표현이 실무자가 이해할 수 있게 제시되는가. |
|
|
|
|
**3단계. 계약 위험 점수·신뢰도 엔진 및 조항 하이라이트 대시보드**
|
|
|
|
| **미션 5. 계약 위험 점수 산출 및 규정 위반 가능성 신뢰도 지수 엔진 개발** [중급 · 3시간] | **미션 5. 계약 위험 점수 산출 및 규정 위반 가능성 신뢰도 지수 엔진 개발** [중급 · 3시간] |
|
|
| --- | --- |
|
|
| **목표** | 룰 적중 내역과 조항 분류 결과를 결합해 계약 위험 점수와 규정 위반 가능성 신뢰도 지수를 산출하고 입력-분석-검토-결과 4개 화면을 구성한다. |
|
|
| **수행** | 룰 16종 적중 여부, 모델이 찾은 독소·납기위험 조항 수, 금액을 로지스틱 회귀로 결합해 0~100점의 위험 점수를 만들고, 점수의 뚜렷함과 룰·모델 일치 여부로 신뢰도 지수를 정의한다. 별도 가상 계약군에서 AUC와 등급별 실제 위반율, 신뢰도 구간별 실제 정확도를 확인한다. 입력 요약, 점수 분포와 성능, 고위험 검토 목록, 결과 요약의 4개 화면을 텍스트 패널과 그래프로 만들고 검토 필수·확인 권고·통과 후보 뱃지와 필터를 붙인다. |
|
|
| **산출물** | src/ui/prc01_app.py |
|
|
| **평가** | **[필수] 위험 점수·신뢰도 엔진과 4개 화면** — 핵심 화면 4종(입력-분석-검토-결과) 구현, 위험 점수의 등급별 실제 위반율 차이와 AUC, 신뢰도 구간별 정확도, 상태 뱃지와 필터, 점수가 참고값임을 표시했는가. |
|
|
|
|
| **미션 6. 계약서 조항별 위험도 하이라이트 및 조달 검토 대시보드 구현** [중급~고급 · 2.5시간] | **미션 6. 계약서 조항별 위험도 하이라이트 및 조달 검토 대시보드 구현** [중급~고급 · 2.5시간] |
|
|
| --- | --- |
|
|
| **목표** | 계약서 조항별 위험도 하이라이트와 조달 검토 대시보드를 구현하고 입력 검증기·에러 핸들러로 예외 상황에서도 크래시 없이 동작하게 한다. |
|
|
| **수행** | 계약 방식 x 유형 위험 지도와 위험 문구가 많은 계약의 조항별 하이라이트(독소·납기위험 표시, 위험 표현 강조)를 보여 주는 대시보드를 만든다. 입력 검증기로 열 누락, 숫자 오류, 허용되지 않은 값, 번호 중복, 특수문자·제어문자, 1MB 조항, 20,000행 대용량 등 깨진 입력 20종을 주입한다. 모든 오류를 사용자용 안내와 조치 문구로 바꾸고 에러 로그에 남기며, 일시 오류는 3회 재시도하고 끝내 실패하면 직전 정상 화면으로 롤백한다. |
|
|
| **산출물** | src/utils/prc01_validator.py 및 에러 핸들러 |
|
|
| **평가** | **[선택] 조항 하이라이트 대시보드·에러 처리** — 예외 주입 10종 이상 통과, 크래시 0건, 에러 로그 기록률 100%, 사용자가 이해할 수 있는 안내 문구와 조치 가이드, 재시도·롤백 동작을 확인했는가. |
|
|
|
|
**4단계. 계약관·법무 검토 HITL 및 1,000건 일괄 스크리닝 부하 시험**
|
|
|
|
| **미션 7. 계약 승인 전 법무/계약관 수동 검토 및 조항 수정 권고 HITL 절차 설계** [고급 · 3시간] | **미션 7. 계약 승인 전 법무/계약관 수동 검토 및 조항 수정 권고 HITL 절차 설계** [고급 · 3시간] |
|
|
| --- | --- |
|
|
| **목표** | 계약 승인 전 계약관·법무 수동 검토와 조항 수정 권고를 위한 HITL 절차를 설계하고 이력 무결성과 권한 통제를 검증한다. |
|
|
| **수행** | 시스템 제안, 계약담당 상신, 계약관 검토, 법무 검토, 승인권자 결재의 순서를 상태 기계로 구현하고 역할별 권한을 최소로 둔다. 모든 단계는 사유와 근거 입력을 필수로 하고 반려 사유가 없으면 처리하지 않으며, 반려된 건은 최초 상신자의 재기안 후에만 다시 진행하고 재기안은 2회까지 허용한다. 시스템 자동 승인, 단계 건너뛰기, 상신자 본인 승인, 로그 삭제 등 우회 시도 13종이 차단되는지 역할별 권한 매트릭스와 함께 확인하고 해시 체인 감사 로그의 임의 수정 탐지를 점검한다. |
|
|
| **산출물** | src/workflow/prc01_approval_system.py |
|
|
| **평가** | **[필수] 계약관·법무 검토 HITL** — 이력 기록 무결성 100%, 승인 권한 우회 시도 차단율 100%, 자동 확정 0건, 반려 사유 필수화와 재기안 연계, 군 보안·행정 절차에 맞는 검토 순서와 이력 조회를 갖추었는가. |
|
|
|
|
| **미션 8. 1,000건 대규모 조달 계약서 일괄 스크리닝 부하 테스트 및 처리 속도 검증** [고급 · 3.5시간] | **미션 8. 1,000건 대규모 조달 계약서 일괄 스크리닝 부하 테스트 및 처리 속도 검증** [고급 · 3.5시간] |
|
|
| --- | --- |
|
|
| **목표** | 월 1,000건 규모의 계약서를 일괄 스크리닝하는 배치 파이프라인의 부하 시험과 처리 속도 검증을 수행한다. |
|
|
| **수행** | 월 1,000건씩 12개월분 가상 계약 배치를 간이 스케줄러로 자동 실행하면서 월마다 손상 레코드 5건과 2% 일시 오류를 주입한다. 일시 오류는 재시도로 복구하고 손상 레코드는 격리해 계속 진행하며, 진행률 표시와 완료 알림을 출력한다. 전체 실행 시간, 자동화 성공률, 수작업 대비 절감 시간을 계산하고 계약 수를 500건에서 4,000건으로 늘린 규모 시험과 시간 예산을 초과할 때 조항 분류를 생략하는 기능 축소 동작을 확인한다. |
|
|
| **산출물** | src/pipeline/prc01_batch_runner.py |
|
|
| **평가** | **[선택] 계약 일괄 스크리닝 부하 시험** — 전체 배치 실행 시간 5분 이내, 자동화 성공률 99% 이상, 수작업 대비 소요 시간 80% 이상 절감(가정 단가 명시), 진행률·완료 알림, 규모 확대와 기능 축소 동작을 확인했는가. |
|
|
|
|
**5단계. AAR 룰셋 재보정 및 통합 패키지 완성**
|
|
|
|
| **미션 9. AAR 기반 규정 위반 미탐 사례 분석 및 조달 룰셋/프롬프트 재보정** [고급 · 3시간] | **미션 9. AAR 기반 규정 위반 미탐 사례 분석 및 조달 룰셋/프롬프트 재보정** [고급 · 3시간] |
|
|
| --- | --- |
|
|
| **목표** | AAR을 바탕으로 규정 위반 미탐 사례를 분석하고 조달 룰셋과 조항 분류 기준을 재보정한다. |
|
|
| **수행** | AAR 세트에서 룰 스크리닝이 놓친 위반 계약의 원인을 경미 룰 단독 적중, 수의계약 한도 직하 금액, 납기 위험 문구 분산, 자료로 드러나지 않는 위반 등으로 분류한다. 등급 기준 완화, 해지·보안 조항 가중치 상향, 수의계약 한도 조정, 조항 모델 결합 등 재보정안을 AAR 세트에서 설계하고 별도 검증 세트에서 재현율·정밀도·F1로 비교해 채택·보류·기각을 정한다. 측정값으로 UAT 체크리스트 10항목을 채점하고 개선 요구 5건의 반영 여부를 기록한다. |
|
|
| **산출물** | docs/prc01_uat_feedback_report.md 및 패치 내역 |
|
|
| **평가** | **[필수] AAR 미탐 분석·룰셋 재보정** — UAT 체크리스트 90점 이상, 개선 요구 5건 반영, 미탐 원인 분류, 검증 세트에서 확인한 채택·보류·기각 판정과 재현율·정밀도 동시 제시, 재보정 근거가 기록되는가. |
|
|
|
|
| **미션 10. AI 기반 군수 조달 계약 위험 스크리닝 도구 최종 통합 및 실무 패키지 완성** [최고급 · 3시간] | **미션 10. AI 기반 군수 조달 계약 위험 스크리닝 도구 최종 통합 및 실무 패키지 완성** [최고급 · 3시간] |
|
|
| --- | --- |
|
|
| **목표** | AI 기반 군수 조달 계약 위험 스크리닝 도구를 하나의 통합 패키지로 완성한다. |
|
|
| **수행** | 입력 검증, 룰 판별, 위험 점수, 조항 분류와 위험 조항 표시, 사람 검토 큐와 해시 체인 감사 로그를 한 파일의 파이프라인으로 묶는다. 서로 다른 가상 계약군 4종으로 End-to-End 실행과 자체 점검 8항목, 함수 호출 추적 기반 커버리지를 측정하고, 원클릭 설치 스크립트 5단계와 매뉴얼 7개 장의 작성률을 점검한다. 마지막으로 조달 담당자용 브리핑 요약을 출력한다. |
|
|
| **산출물** | dist/prc01_package/, README.md, docs/prc01_final_manual.md |
|
|
| **평가** | **[필수] 통합 패키지 완성** — 원클릭 설치부터 실행까지 5단계 점검 통과, 매뉴얼 작성률 100%, End-to-End 성공, 자체 점검과 커버리지 기준 충족, 모든 검토 건이 사람 검토 대기 상태인가. |
|
|
|
|
**최종 판정**
|
|
|
|
**판정 기준 :** 모든 필수 항목([필수])에서 PASS를 받아야 최종 PASS로 인정한다.
|
|
|
|
최종 판정 결과 : ( PASS / FAIL )
|
|
|
|
평가 의견 : (필수 항목 중 하나라도 FAIL인 경우 사유를 기재한다.)
|