chore: readme 수정

This commit is contained in:
DongHyeonka
2026-07-29 18:02:44 +09:00
parent f22cf5aff2
commit c71f3432fd
+15 -15
View File
@@ -1,19 +1,19 @@
# 한국식 이력서 생성 하네스 # 한국식 이력서 생성 하네스
사실을 만들지 않고, 지원 공고에 맞는 현대적인 한국어 이력서를 생성·평가·수정하기 위한 하네스입니다. 이 저장소는 단순한 단일 프롬프트가 아니라 다음 품질 계약을 중심으로 설계합니다. 사실을 만들지 않고, 지원 공고에 맞는 현대적인 한국어 이력서를 생성·평가·수정하기 위한 하네스입니다. 이 저장소는 품질 계약을 중심으로 설계합니다.
- 모든 생성 문장은 하나 이상의 입력 근거 ID를 가집니다. - 모든 생성 문장에는 입력 근거 ID가 하나 이상 붙습니다.
- 근거 없는 경력·수치·기간·기술은 최종본에 들어갈 수 없습니다. - 근거 없는 경력·수치·기간·기술은 최종본에 들어갈 수 없습니다.
- 공고 분석, 근거 매핑, 문장 작성, 독립 평가를 서로 다른 단계로 분리합니다. - 공고 분석, 근거 매핑, 문장 작성, 독립 평가를 서로 다른 단계로 분리합니다.
- 규칙 검사와 LLM 평가를 모두 통과해야 출력합니다. - 규칙 검사와 LLM 평가를 모두 통과해야 출력합니다.
- 공고 필수 섹션·글자 수·파일 형식 설정 날짜·섹션 순서를 코드로 재검사합니다. - 공고에서는 필수 섹션·글자 수·파일 형식을, 설정에서는 날짜·섹션 순서를 코드로 재검사합니다.
- 사진·생년월일·성별·상세 주소·가족관계 등은 기본 제외합니다. - 사진·생년월일·성별·상세 주소·가족관계 등은 기본 제외합니다.
- 민간 일반형, 공공 블라인드/NCS형, 채용사 지정 양식형을 정책으로 분리합니다. - 민간 일반형, 공공 블라인드/NCS형, 채용사 지정 양식형을 정책으로 갈라 둡니다.
## 정본과 현재 출력 ## 정본과 현재 출력
이력서 내용의 정본은 Pydantic 도메인 모델 `ResumeDraft`입니다. JSON과 이력서 내용의 정본은 Pydantic 도메인 모델 `ResumeDraft`입니다. JSON과
YAML은 이 모델을 교환·저장하기 위한 직렬화 형식이지 제출용 문서 YAML은 이 모델을 교환·저장하기 위한 직렬화 형식입니다. 제출용 문서
렌더러가 아닙니다. 현재 구현된 최종 렌더러는 ATS 친화 단일 열 렌더러가 아닙니다. 현재 구현된 최종 렌더러는 ATS 친화 단일 열
Markdown뿐입니다. HTML, DOCX, PDF, HWPX 및 채용사 지정 양식 렌더러는 Markdown뿐입니다. HTML, DOCX, PDF, HWPX 및 채용사 지정 양식 렌더러는
현재 구현되어 있지 않습니다. 현재 구현되어 있지 않습니다.
@@ -27,7 +27,7 @@ Markdown뿐입니다. HTML, DOCX, PDF, HWPX 및 채용사 지정 양식 렌더
| `public_blind` | 공공기관/NCS 블라인드 | 편견 유발 정보 차단, 직무 교육·자격·경력·경험 중심 | | `public_blind` | 공공기관/NCS 블라인드 | 편견 유발 정보 차단, 직무 교육·자격·경력·경험 중심 |
| `employer_form` | 회사 지정 양식을 위한 정책 | 지정 필드·동의·채용사 요구 계약을 검증하되 전용 렌더러는 미구현 | | `employer_form` | 회사 지정 양식을 위한 정책 | 지정 필드·동의·채용사 요구 계약을 검증하되 전용 렌더러는 미구현 |
`employer_form`에서도 현재는 Markdown만 출력할 수 있으며, 사진은 Markdown `employer_form`에서도 현재는 Markdown만 출력할 수 있으며 사진은 Markdown
렌더러가 거부합니다. 공고에 `EMPLOYER_TEMPLATE` 제약이 있으면 전용 렌더러가 거부합니다. 공고에 `EMPLOYER_TEMPLATE` 제약이 있으면 전용
어댑터가 없는 현재 코어는 통과한 척하지 않고 fail-closed로 차단합니다. 어댑터가 없는 현재 코어는 통과한 척하지 않고 fail-closed로 차단합니다.
@@ -65,10 +65,10 @@ Markdown뿐입니다. HTML, DOCX, PDF, HWPX 및 채용사 지정 양식 렌더
## 개발 상태와 실행 ## 개발 상태와 실행
현재 단계는 실행 가능한 코어·CLI·Markdown 렌더러입니다. 공고 분석부터 현재 단계는 실행 가능한 코어·CLI·Markdown 렌더러입니다. 공고 분석부터
수정까지의 조정은 `LLMBackend` 프로토콜을 통해 실행되지만, 특정 LLM 수정까지의 조정은 `LLMBackend` 프로토콜을 통해 실행되지만 특정 LLM
공급자 어댑터는 저장소에 포함되어 있지 않습니다. 배포자가 시간 제한, 공급자 어댑터는 저장소에 포함되어 있지 않습니다. 배포자가 어댑터를 별도로
재시도, 비용·토큰 계측, 데이터 보존 정책을 갖춘 어댑터를 별도로 연결해야 합니다. 이 어댑터는 시간 제한, 재시도, 비용·토큰 계측, 데이터
연결해야 합니다. 보존 정책을 갖춰야 합니다.
```bash ```bash
python3 -m pytest python3 -m pytest
@@ -95,23 +95,23 @@ PYTHONPATH=src python3 -m resume_harness.cli render \
설정과 샘플에는 실명이 아닌 합성 데이터를 사용합니다. 실제 이력서 자료를 소스 관리에 커밋하지 마세요. 설정과 샘플에는 실명이 아닌 합성 데이터를 사용합니다. 실제 이력서 자료를 소스 관리에 커밋하지 마세요.
`examples/quality-report.sample.yaml`은 외부 평가 모델이 실제로 발급한 보고서가 `examples/quality-report.sample.yaml`은 외부 평가 모델이 실제로 발급한 보고서가
니라 CLI 계약과 렌더 게이트를 재현하기 위한 **합성 golden fixture**입니다. 닙니다. CLI 계약과 렌더 게이트를 재현하기 위한 **합성 golden fixture**입니다.
따라서 예제의 점수를 실제 이력서 품질 인증으로 해석하면 안 됩니다. 실제 운영에서는 따라서 예제의 점수를 실제 이력서 품질 인증으로 해석하면 안 됩니다. 실제 운영에서는
`LLMBackend` 평가 응답 또는 사람 검토 결과를 연결하고, 다중 사용자 배포라면 서명된 `LLMBackend` 평가 응답 또는 사람 검토 결과를 연결하고, 다중 사용자 배포라면 서명된
attestation까지 검증해야 합니다. attestation까지 검증해야 합니다.
이 CLI의 fingerprint는 오래된 평가가 다른 아티팩트에 적용되는 것을 막는 무결성 이 CLI의 fingerprint는 오래된 평가가 다른 아티팩트에 적용되는 것을 막는 무결성
검사이며 전자서명이 아닙니다. 품질 보고서 파일 자체를 신뢰할 수 없는 다중 사용자 검사이며 전자서명이 아닙니다. 품질 보고서 파일 자체를 신뢰할 수 없는 다중 사용자
배포는 평가 정책·모델 식별자·전체 보고서를 포함한 서명된 attestation과 신뢰 배포는 서명된 attestation과 신뢰 저장소를 추가해야 합니다. 이 attestation은
저장소를 추가해야 합니다. 필드, 검증 순서, 키 회전 및 필수 공격 테스트는 평가 정책·모델 식별자·전체 보고서를 포함해야 합니다. 필드, 검증 순서, 키 회전 및
[배포 보안 설계](docs/deployment-security.md)에 정의했습니다. 필수 공격 테스트는 [배포 보안 설계](docs/deployment-security.md)에 정의했습니다.
## 품질 릴리스 기준 ## 품질 릴리스 기준
최종 출력 조건은 총점만으로 결정하지 않습니다. 최종 출력 조건은 총점만으로 결정하지 않습니다.
- 근거 연결률 100%, 근거 없는 주장 0건 - 근거 연결률 100%, 근거 없는 주장 0건
- 구조화 기록이 있으면 역할·대표 성과를 나눈 핵심 요약, 검증된 핵심 역량, - 구조화 기록이 있으면 역할대표 성과를 나눈 핵심 요약, 검증된 핵심 역량,
경력별 역할과 복수 성과, 프로젝트별 역할·구현·검증 결과를 갖춤 경력별 역할과 복수 성과, 프로젝트별 역할·구현·검증 결과를 갖춤
- 날짜 역전·깨진 참조·중복 ID 0건 - 날짜 역전·깨진 참조·중복 ID 0건
- 금지 개인정보 또는 기밀 노출 0건 - 금지 개인정보 또는 기밀 노출 0건