⚖️ 프롬프트/도메인 판단 기준 (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] |