1
Judge-Standard
kyeongmin edited this page 2026-03-05 11:55:05 +09:00

⚖️ 프롬프트/도메인 판단 기준 (Judge Standard v2)

핵심 원칙 1: 판단 단위는 "파일"이 아닌 **"블록"**이다.
하나의 파일 안에 프롬프트, 도메인, 코드도메인, 제외 대상이 동시에 존재할 수 있다.

핵심 원칙 2: 분류 먼저, 목적 판단은 나중이다.
블록의 성격(무엇인가?)을 확정한 뒤, 목적(어디로 가는가?)을 판단한다.

핵심 원칙 3: 사고는 영어로, 폴더명은 한글로.
내부 판단 로직과 기준은 영어 용어를 사용하되, 최종 생성되는 모든 폴더명은 한글로 표기한다.


1. 3대 분류 정의

구분 정의 핵심 질문
프롬프트 (Prompt) AI의 사고 논리와 행동 양식을 정의하는 자연어 지시문 "이 텍스트를 AI에게 주면 AI가 특정 행동을 시작하는가?"
도메인 (Domain) AI가 작업 수행 시 참조해야 할 모든 재료. 전문 지식·규정·수치 텍스트 및 CSS/HTML/JS 코드 포함 "이 내용은 AI가 작업할 때 참고해야 할 재료인가?"
코드도메인 (CodeDomain) 목적별로 재사용 가능한 Python 함수·클래스 단위 코드 "이 Python 코드는 프로젝트가 바뀌어도 그대로 가져다 쓸 수 있는가?"
제외 일회성 실행 로직, 환경설정, 라이브러리, 단순 데이터 "위 세 가지 중 어느 것도 해당하지 않는가?"

2. 판단 순서 (Decision Flow)

반드시 이 순서대로 진행한다. 순서를 바꾸지 않는다.

① 파일 수집
   └─ 라이브러리(node_modules, site-packages, venv) 경로는 이 단계에서 물리적 제외

② 전체 텍스트 캡처
   └─ 인코딩 보정 (CP949 ↔ UTF-8) 수행
   └─ 바이너리 파일(.png, .exe, .zip 등)은 이 단계에서 제외

③ 블록 단위 해체
   └─ 파일을 통째로 보지 않는다
   └─ 함수/변수/클래스/섹션/태그 단위로 분리

④ 블록별 분류 판단 (아래 3번 섹션 기준 적용)
   └─ 프롬프트인가? → 프롬프트/
   └─ 도메인인가?   → 도메인/
   └─ 코드도메인인가? → 코드도메인/
   └─ 해당없음?     → 제외 + 로그 기록

⑤ 목적 판단 (아래 4번 섹션 기준 적용)
   └─ 이 블록은 어느 목적 폴더로 들어가는가?
   └─ 목적은 미리 고정하지 않는다 — 블록 내용을 읽고 귀납적으로 결정

⑥ 정제 및 저장
   └─ 프롬프트: 코드 불순물 제거, 자연어만 남김
   └─ 도메인: 원본 내용 그대로 보존
   └─ 코드도메인: 함수·클래스 단위로 독립 완결되도록 정리

3. 분류별 판단 기준 상세

3-1. 프롬프트 (Prompt) 판단 기준

다음 3가지를 모두 충족해야 프롬프트로 인정한다.
하나라도 없으면 프롬프트 자격 없음 → 도메인 판단으로 이동.

요소 설명 예시
AI 수신자 AI를 명시적으로 지칭 "당신은 ~입니다", "너는 ~역할이야", {"role": "system", ...}
행동 지시 구체적인 작업 또는 I/O 구조 지시 "다음 데이터를 분석하여 표로 출력하라"
가변 블록 데이터를 교체하며 반복 사용 가능 {content}, [여기에 입력], {{변수명}}

3-2. 도메인 (Domain) 판단 기준

다음 두 그룹 중 하나 에 해당하면 도메인이다.

그룹 A — 텍스트 지식

유형 설명 예시
법규·규정 조항 번호가 포함된 법령·기준 텍스트 "측량법 시행령 제12조: ..."
전문 수치 도량형, 설계 기준값, 허용 오차 등 "수평각 오차 허용범위 ±10″"
업무 절차 특정 분야의 표준 작업 절차 "GNSS 측량 성과 검사 절차: 1. ..."
기술 용어 분야별 용어 정의 및 해설 "삼각측량: 세 점의 각도를 측정하여..."

그룹 B — 코드 재료 (CSS / HTML / JS)

유형 설명 예시
인쇄·레이아웃 CSS A4 규격, 인쇄용 스타일 @page, @media print, 210mm 포함 블록
보고서 HTML 구조 반복 사용 가능한 레이아웃 뼈대 섹션 구조, 헤더·푸터 템플릿
UI 컴포넌트 CSS/HTML 버튼, 표, 배지 등 재사용 UI 요소 독립 동작하는 컴포넌트 단위
JS 로직 페이지네이션, 인쇄 트리거 등 function 또는 const fn = 단위 독립 함수

판단 기준: "이 CSS/HTML/JS를 다른 문서나 프로젝트에 그대로 가져다 쓸 수 있는가?"
YES → 도메인 / NO → 제외


3-3. 코드도메인 (CodeDomain) 판단 기준

Python 코드만 해당한다. CSS/HTML/JS는 도메인으로 분류.

다음 2가지를 모두 충족해야 코드도메인으로 인정한다.

요소 설명
재사용 가능성 프로젝트·문서가 바뀌어도 그대로 또는 최소 수정으로 사용 가능
독립 완결성 def 또는 class 단위로 떼어내도 의미와 기능이 완결됨

해당 예시:

  • HWPX 텍스트 추출 함수
  • PDF 파싱 유틸 함수
  • 인코딩 감지·변환 함수
  • HTML 생성 헬퍼 클래스

비해당 예시:

  • if __name__ == "__main__": 블록 → 제외
  • API 키 설정, 경로 설정 → 제외
  • 외부 라이브러리 호출만 하는 래퍼 → 제외

3-4. 제외 판단 기준

다음 중 하나라도 해당하면 즉시 제외 + 로그 기록.

유형 로그 코드 예시
환경변수·API 키·경로 설정 [SKIP: Config] API_KEY = "sk-...", BASE_DIR = ...
일회성 실행 블록 [INFO: No Reuse Value] if __name__ == "__main__":
외부 라이브러리 코드 [SKIP: Library] node_modules, site-packages 하위 전체
단순 데이터·로그 출력 [INFO: Data Only] CSV 데이터, print 로그, 결과 출력물
50자 미만 단편 [MANUAL: Too Short] 맥락 없는 짧은 문장·변수명

4. 목적 판단 기준

목적은 미리 고정하지 않는다.
블록 내용을 읽고, 핵심 동사+명사를 추출하여 귀납적으로 목적 폴더명을 결정한다.

4-1. 목적 판단 절차

① 블록의 핵심 과업을 한 문장으로 요약
   예: "A4 HTML 보고서를 생성한다"

② 핵심 동사+명사 추출
   예: 생성 + 보고서 → "문서생성"

③ 기존 목적 폴더 중 일치하는 것이 있는가?
   YES → 기존 폴더에 수납
   NO  → 새 목적 폴더 생성 (한글로)

4-2. 목적 폴더명 규칙

원칙 설명
한글 행위동사+명사 "무엇을 하는가"가 폴더명에 드러나야 함
기타, 일반, General 금지 목적 불명확 → [MANUAL: Review Required]로 격리
10개 이상 누적 시 하위 폴더 검토 세분화 필요 여부 판단

목적 폴더명 예시:

핵심 과업 폴더명
HTML 보고서 생성 문서생성
데이터 분석·요약 분석
반복 작업 자동화 자동화
RAG용 지식 정제 RAG화
웹 데이터 수집 크롤링
문서·텍스트 개선 정제
시스템 화면 구성 시스템UI
HWPX 문서 처리 한글문서처리

위 예시는 참고용이며, 실제 파일 내용에 따라 추가·변경된다.


5. 최종 폴더 구조

Prompts/
├── 문서생성/
│   ├── 프롬프트/
│   │   └── Claude_A4보고서생성_v01.md
│   ├── 도메인/
│   │   ├── A4보고서/
│   │   │   ├── CSS_인쇄레이아웃_v01.md
│   │   │   ├── HTML_보고서구조_v01.md
│   │   │   └── JS_페이지네이션_v01.md
│   │   └── 측량규정/
│   │       └── 측량법시행령_2025_v01.md
│   └── 코드도메인/
│       └── HWPX_텍스트추출_v01.py
│
├── 분석/
│   ├── 프롬프트/
│   ├── 도메인/
│   └── 코드도메인/
│
├── 자동화/
│   ├── 프롬프트/
│   ├── 도메인/
│   └── 코드도메인/
│
└── _검토필요/              ← MANUAL 대상 격리 폴더
    └── [MANUAL: ...]

6. 파일 유형별 추출 방식

확장자 추출 방법 추출 단위
.py 멀티라인 문자열("""..."""), messages 리스트, PROMPT_ 접두사 변수, def·class 블록 변수값 / 함수 / 클래스 단위
.js / .ts 템플릿 리터럴(`...`), prompt: 키값, system: 키값, function 단위 함수 / 변수 블록 단위
.html <style> 태그, <script> 태그, 레이아웃 구조 전체 태그 블록 단위
.css @media print, .sheet, @page 포함 블록 규칙 셋 단위
.md / .txt ## Prompt, You are a..., Act as... 이후 섹션 섹션 단위
.json / .yaml prompt, system, messages 키 값 키-값 단위
.pdf 텍스트 추출 후 위 기준 적용 단락 단위
.hwp / .hwpx hwp5txt 또는 pyhwpx로 변환 후 적용, 실패 시 [MANUAL: HWP Review Required] 단락 단위
.docx / .pptx / .xlsx 텍스트 추출 후 위 기준 적용 슬라이드·섹션 단위

7. 판단 예시 (Few-shot)

프롬프트로 판단

system_prompt = """
당신은 전문 퍼블리싱 개발자입니다.
아래 콘텐츠를 A4 인쇄용 HTML 보고서로 변환하세요.

## 입력
{content}

## 제약
- 원본 텍스트 절대 변경 금지
- 3단 구조(box-cover, box-summary, box-content) 필수
"""

프롬프트 AI 수신자 + 행동 지시 + {content} 가변 블록 3가지 모두 충족
→ 목적: 문서생성/프롬프트/


도메인 — 텍스트 지식으로 판단

측량법 시행령 제12조(지적측량 성과 검사):
측량을 완료한 날부터 30일 이내에 실시하여야 한다.
허용 오차 기준: 경계점 좌표 ±0.03m 이내

도메인 법규 + 전문 수치
→ 목적: 문서생성/도메인/측량규정/


도메인 — 코드 재료(CSS)로 판단

@media print {
    @page { size: A4; margin: 0; }
    body { -webkit-print-color-adjust: exact; }
}
.sheet {
    width: 210mm; height: 297mm;
    background: white; margin: 20px auto;
}

도메인 A4 인쇄 CSS, 재사용 가능, 독립 완결
→ 목적: 문서생성/도메인/A4보고서/


코드도메인으로 판단

def extract_text_from_hwpx(file_path: str) -> str:
    """HWPX 파일에서 텍스트를 추출하는 재사용 함수"""
    with zipfile.ZipFile(file_path) as z:
        content = z.read('Contents/content.hml')
    return content.decode('utf-8')

코드도메인 Python def 단위, 재사용 가능, 독립 완결
→ 목적: 한글문서처리/코드도메인/


제외로 판단

ANTHROPIC_API_KEY = "sk-ant-api03-..."
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
OUTPUT_DIR = "D:/for python/report_pipeline/output"

제외 [SKIP: Config] 환경변수·경로 설정

if __name__ == "__main__":
    process_pdf_to_word()

제외 [INFO: No Reuse Value] 일회성 실행 블록


8. 혼재 파일 처리 원칙

하나의 파일에서 여러 분류가 발견될 경우 각 블록을 독립 추출하여 해당 목적 폴더에 별도 저장한다.

원본: app.py (1개 파일)
  ├── system_prompt 변수    → 문서생성/프롬프트/Claude_A4보고서생성_v01.md
  ├── A4 CSS 문자열         → 문서생성/도메인/A4보고서/CSS_인쇄레이아웃_v01.md
  ├── extract_hwpx() 함수   → 한글문서처리/코드도메인/HWPX_텍스트추출_v01.py
  ├── 측량 법규 주석 블록   → 문서생성/도메인/측량규정/측량법기준_v01.md
  └── API_KEY, __main__     → 제외 [SKIP: Config]

9. 오류 로그 기준

오류 유형 로그 코드
접근 거부 [SKIP: Access Denied]
인코딩 오류 [SKIP: Encoding Error]
환경설정 파일 [SKIP: Config]
AI 패턴 없음 [INFO: No Prompt Pattern]
재사용 가치 없음 [INFO: No Reuse Value]
단순 데이터 [INFO: Data Only]
파일 손상 [ERROR: File Corrupted]
HWP 변환 실패 [MANUAL: HWP Review Required]
50자 미만 단편 [MANUAL: Too Short]
판단 불가 [MANUAL: Review Required]