📖 Comprehensive Wiki Migration from Prompts to _Geulbeot
92
%EC%8B%A4%ED%96%89%EC%9B%90%EC%B9%99.md
Normal file
92
%EC%8B%A4%ED%96%89%EC%9B%90%EC%B9%99.md
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
# 실행 원칙 (Execution Rules)
|
||||||
|
|
||||||
|
## 기본 원칙
|
||||||
|
|
||||||
|
> 위키를 읽고 실행한다. 판단이 모호하면 Judge-Standard를 다시 읽는다.
|
||||||
|
> 기준서(Judge-Standard, Organize-Standard)는 절대 수정하지 않는다.
|
||||||
|
> Step 위키만 이슈 피드백을 받아 개선된다.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 실행 순서
|
||||||
|
|
||||||
|
1. Judge-Standard 위키 숙지
|
||||||
|
2. Organize-Standard 위키 숙지
|
||||||
|
3. Step-00부터 Step-12까지 순서대로 실행
|
||||||
|
4. 현재 Step 통과 기준 충족 후에만 다음 Step으로 이동
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 진행현황 이슈 관리
|
||||||
|
|
||||||
|
- "진행현황" 이슈가 없으면 먼저 생성한다
|
||||||
|
- 각 Step 완료 후 해당 Step의 코멘트 템플릿을 채워 "진행현황" 이슈에 코멘트로 등록한다
|
||||||
|
- 코멘트는 누적한다. 기존 코멘트를 수정하거나 삭제하지 않는다
|
||||||
|
|
||||||
|
### 코멘트 형식
|
||||||
|
```
|
||||||
|
### [Step-XX] 단계명 - YYYY-MM-DD
|
||||||
|
|
||||||
|
(Step 위키의 코멘트 템플릿 내용 채워서 작성)
|
||||||
|
|
||||||
|
→ 결과: 통과 / 재실행 / 이슈 #번호 등록 후 계속 진행
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 문제 발생 시 처리 절차
|
||||||
|
|
||||||
|
**① 별도 이슈 생성**
|
||||||
|
- 제목: [Step-XX] 문제 내용 요약
|
||||||
|
- 본문: 문제 상황 구체적으로 기술
|
||||||
|
|
||||||
|
**② 이슈에 코멘트 1 — 원인 분석**
|
||||||
|
```
|
||||||
|
## 원인 분석
|
||||||
|
- Step이 적용되지 않은 이유:
|
||||||
|
- Step 위키의 어느 부분이 부족했는가:
|
||||||
|
- Judge-Standard 또는 Organize-Standard와의 충돌 여부:
|
||||||
|
```
|
||||||
|
|
||||||
|
**③ 이슈에 코멘트 2 — 변경 대상 및 이유**
|
||||||
|
```
|
||||||
|
## 변경이 필요한 부분
|
||||||
|
- 변경 대상: Step-XX 위키의 어느 섹션
|
||||||
|
- 현재 내용:
|
||||||
|
- 변경 제안:
|
||||||
|
- 변경 이유:
|
||||||
|
- 다른 Step 영향 여부:
|
||||||
|
```
|
||||||
|
|
||||||
|
**④ 이슈에 코멘트 3 — 해결 방향 및 임시 조치**
|
||||||
|
```
|
||||||
|
## 해결 방향 및 임시 조치
|
||||||
|
- 문제 항목 임시 처리:
|
||||||
|
- Step 위키 반영 필요 여부: 예 / 아니오
|
||||||
|
- 반영 후 재실행 필요 여부: 예 / 아니오
|
||||||
|
- 사용자 판단이 필요한 사항:
|
||||||
|
```
|
||||||
|
|
||||||
|
**⑤ 해결 전까지 해당 항목은 _검토필요로 격리하고 다음 Step을 계속 진행한다**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 승인이 필요한 Step
|
||||||
|
|
||||||
|
아래 Step은 결과를 사용자에게 보고하고 승인 후 다음 Step으로 이동한다
|
||||||
|
|
||||||
|
| Step | 승인 내용 |
|
||||||
|
|------|-----------|
|
||||||
|
| Step-01 | 수집된 파일 목록 |
|
||||||
|
| Step-03 | 캡처된 파일 목록 |
|
||||||
|
| Step-04 | 블록 분류 결과 |
|
||||||
|
|
||||||
|
나머지 Step은 자율 실행 후 진행현황 이슈에 코멘트만 등록한다
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. 판단 단위 원칙
|
||||||
|
|
||||||
|
- 파일 전체를 하나의 단위로 보지 않는다
|
||||||
|
- 반드시 블록 단위(함수/변수/섹션/태그)로 해체 후 각 블록을 개별 판단한다
|
||||||
|
- 하나의 파일에서 프롬프트, 도메인, 코드도메인, 제외가 동시에 나올 수 있다
|
||||||
342
Judge-Standard.-.md
Normal file
342
Judge-Standard.-.md
Normal file
@@ -0,0 +1,342 @@
|
|||||||
|
# ⚖️ 프롬프트/도메인 판단 기준 (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)
|
||||||
|
|
||||||
|
### ✅ 프롬프트로 판단
|
||||||
|
|
||||||
|
```python
|
||||||
|
system_prompt = """
|
||||||
|
당신은 전문 퍼블리싱 개발자입니다.
|
||||||
|
아래 콘텐츠를 A4 인쇄용 HTML 보고서로 변환하세요.
|
||||||
|
|
||||||
|
## 입력
|
||||||
|
{content}
|
||||||
|
|
||||||
|
## 제약
|
||||||
|
- 원본 텍스트 절대 변경 금지
|
||||||
|
- 3단 구조(box-cover, box-summary, box-content) 필수
|
||||||
|
"""
|
||||||
|
```
|
||||||
|
→ **프롬프트** ✅ AI 수신자 + 행동 지시 + `{content}` 가변 블록 3가지 모두 충족
|
||||||
|
→ 목적: `문서생성/프롬프트/`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ✅ 도메인 — 텍스트 지식으로 판단
|
||||||
|
|
||||||
|
```
|
||||||
|
측량법 시행령 제12조(지적측량 성과 검사):
|
||||||
|
측량을 완료한 날부터 30일 이내에 실시하여야 한다.
|
||||||
|
허용 오차 기준: 경계점 좌표 ±0.03m 이내
|
||||||
|
```
|
||||||
|
→ **도메인** ✅ 법규 + 전문 수치
|
||||||
|
→ 목적: `문서생성/도메인/측량규정/`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ✅ 도메인 — 코드 재료(CSS)로 판단
|
||||||
|
|
||||||
|
```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보고서/`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ✅ 코드도메인으로 판단
|
||||||
|
|
||||||
|
```python
|
||||||
|
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` 단위, 재사용 가능, 독립 완결
|
||||||
|
→ 목적: `한글문서처리/코드도메인/`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### ❌ 제외로 판단
|
||||||
|
|
||||||
|
```python
|
||||||
|
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]` 환경변수·경로 설정
|
||||||
|
|
||||||
|
```python
|
||||||
|
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]` |
|
||||||
217
Organize-standard.-.md
Normal file
217
Organize-standard.-.md
Normal file
@@ -0,0 +1,217 @@
|
|||||||
|
# 📂 Organize Standard v2
|
||||||
|
|
||||||
|
## 핵심 원칙
|
||||||
|
|
||||||
|
> **원칙 1:** 폴더 구조는 목적 중심이다.
|
||||||
|
> "무엇을 하기 위한 자료인가"를 기준으로 폴더를 구성한다.
|
||||||
|
|
||||||
|
> **원칙 2:** 같은 목적의 프롬프트·도메인·코드도메인은 한 폴더 안에 모인다.
|
||||||
|
> 작업 시 한 폴더만 열면 모든 재료가 갖춰진다.
|
||||||
|
|
||||||
|
> **원칙 3:** 파일명이 곧 내용의 보증서다.
|
||||||
|
> 파일명만 보고 "이걸 AI에 주면 이런 결과가 나온다"를 즉시 알 수 있어야 한다.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 저장소 구조
|
||||||
|
|
||||||
|
```
|
||||||
|
Prompts/
|
||||||
|
├── {목적}/
|
||||||
|
│ ├── 프롬프트/
|
||||||
|
│ ├── 도메인/
|
||||||
|
│ │ └── {세부주제}/
|
||||||
|
│ └── 코드도메인/
|
||||||
|
│
|
||||||
|
└── _검토필요/
|
||||||
|
```
|
||||||
|
|
||||||
|
목적 폴더명은 귀납적으로 결정한다. 미리 고정하지 않는다.
|
||||||
|
판단 기준은 Judge-Standard-목적판단 참조.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 파일명 규칙
|
||||||
|
|
||||||
|
### 프롬프트
|
||||||
|
```
|
||||||
|
{AI모델}_{목적}_{핵심과업}_v{버전}.md
|
||||||
|
|
||||||
|
예)
|
||||||
|
Claude_문서생성_A4보고서생성_v01.md
|
||||||
|
GPT_분석_측량데이터요약_v02.md
|
||||||
|
Gemini_자동화_HWPX일괄변환_v01.md
|
||||||
|
```
|
||||||
|
|
||||||
|
### 도메인 — 텍스트 지식
|
||||||
|
```
|
||||||
|
{분야}_{세부주제}_{내용}_v{버전}.md
|
||||||
|
|
||||||
|
예)
|
||||||
|
측량_법규_지적측량성과검사기준_v01.md
|
||||||
|
토목_설계기준_도로선형허용오차_v01.md
|
||||||
|
```
|
||||||
|
|
||||||
|
### 도메인 — CSS/HTML/JS
|
||||||
|
```
|
||||||
|
{용도}_{형식}_{내용}_v{버전}.md
|
||||||
|
|
||||||
|
예)
|
||||||
|
A4보고서_CSS_인쇄레이아웃_v01.md
|
||||||
|
A4보고서_HTML_3단구조_v01.md
|
||||||
|
시스템UI_CSS_대시보드레이아웃_v01.md
|
||||||
|
```
|
||||||
|
|
||||||
|
### 코드도메인
|
||||||
|
```
|
||||||
|
{기능}_Python_v{버전}.py
|
||||||
|
|
||||||
|
예)
|
||||||
|
HWPX텍스트추출_Python_v01.py
|
||||||
|
PDF파싱유틸_Python_v01.py
|
||||||
|
인코딩변환_Python_v01.py
|
||||||
|
```
|
||||||
|
|
||||||
|
### 파일명 금지 사항
|
||||||
|
|
||||||
|
| 금지 | 이유 |
|
||||||
|
|------|------|
|
||||||
|
| General, 기타, 기본 | 목적 불명확 |
|
||||||
|
| v999, v000 | 기계적 폴백 이름 |
|
||||||
|
| 한글 깨짐 문자 | 즉시 폐기 |
|
||||||
|
|
||||||
|
### 버전 규칙
|
||||||
|
|
||||||
|
| 상황 | 처리 |
|
||||||
|
|------|------|
|
||||||
|
| 최초 생성 | v01 |
|
||||||
|
| 내용 수정 | v02, v03 순차 증가 |
|
||||||
|
| 버전 건너뜀 금지 | v01 → v03 불허, 반드시 v02 존재 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 파일 내부 구조
|
||||||
|
|
||||||
|
### 프롬프트 파일
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
title: A4 보고서 생성 프롬프트
|
||||||
|
ai_model: Claude
|
||||||
|
purpose: 문서생성
|
||||||
|
version: 1.0.0
|
||||||
|
source_path: geulbeot/app.py
|
||||||
|
tags: [html, a4, report]
|
||||||
|
last_updated: 2026-03-05
|
||||||
|
---
|
||||||
|
|
||||||
|
## 페르소나
|
||||||
|
당신은 전문 퍼블리싱 개발자입니다.
|
||||||
|
|
||||||
|
## 절대 원칙
|
||||||
|
1. 원본 텍스트 절대 변경 금지
|
||||||
|
2. 3단 구조 필수
|
||||||
|
|
||||||
|
## 참조 도메인
|
||||||
|
{{도메인: ../도메인/A4보고서/A4보고서_CSS_인쇄레이아웃_v01.md}}
|
||||||
|
{{도메인: ../도메인/A4보고서/A4보고서_HTML_3단구조_v01.md}}
|
||||||
|
|
||||||
|
## 제약 조건
|
||||||
|
- 원본 텍스트 절대 변경 금지
|
||||||
|
- 분량: {page_count}페이지 이내
|
||||||
|
|
||||||
|
## 입력
|
||||||
|
{content}
|
||||||
|
|
||||||
|
## 요청
|
||||||
|
위 기술 표준을 참조하여 입력 콘텐츠를 A4 보고서로 변환하라.
|
||||||
|
```
|
||||||
|
|
||||||
|
### 도메인 파일 — 텍스트 지식
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
title: 지적측량 성과 검사 기준
|
||||||
|
domain_field: 측량
|
||||||
|
version: 1.0.0
|
||||||
|
tags: [측량, 법규, 성과검사]
|
||||||
|
last_updated: 2026-03-05
|
||||||
|
---
|
||||||
|
|
||||||
|
## 내용
|
||||||
|
(전문 지식·법규·수치 원문 그대로)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 도메인 파일 — CSS/HTML/JS
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
title: A4 인쇄 레이아웃 CSS
|
||||||
|
domain_field: 시스템UI
|
||||||
|
version: 1.0.0
|
||||||
|
tags: [css, a4, print]
|
||||||
|
last_updated: 2026-03-05
|
||||||
|
---
|
||||||
|
|
||||||
|
## 내용
|
||||||
|
(CSS/HTML/JS 코드 블록 그대로)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 코드도메인 파일
|
||||||
|
|
||||||
|
```
|
||||||
|
# title: HWPX 텍스트 추출 유틸
|
||||||
|
# purpose: 한글문서처리
|
||||||
|
# version: 1.0.0
|
||||||
|
# last_updated: 2026-03-05
|
||||||
|
|
||||||
|
def extract_text_from_hwpx(file_path: str) -> str:
|
||||||
|
"""재사용 가능한 독립 함수만 포함"""
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Switching 연결 방식
|
||||||
|
|
||||||
|
프롬프트 파일 내부에서 도메인을 참조하는 문법이다.
|
||||||
|
파일 내용 수정 없이 도메인 버전만 교체하여 동작을 변경할 수 있다.
|
||||||
|
|
||||||
|
### 참조 문법
|
||||||
|
|
||||||
|
```
|
||||||
|
{{도메인: ../도메인/{세부주제}/{파일명}}}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 버전 스위칭 예시
|
||||||
|
|
||||||
|
```
|
||||||
|
변경 전: {{도메인: ../도메인/A4보고서/A4보고서_CSS_인쇄레이아웃_v01.md}}
|
||||||
|
변경 후: {{도메인: ../도메인/A4보고서/A4보고서_CSS_인쇄레이아웃_v02.md}}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 무결성 확인 기준
|
||||||
|
|
||||||
|
| 확인 항목 | 기준 |
|
||||||
|
|-----------|------|
|
||||||
|
| 모든 프롬프트에 참조 도메인 명시 | 도메인 없는 프롬프트는 미완성 |
|
||||||
|
| 참조된 도메인 파일 실제 존재 | 깨진 링크 0개 |
|
||||||
|
| 버전 번호 연속성 | 건너뜀 불허 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. 오류 등록 방식
|
||||||
|
|
||||||
|
실행 중 발생한 오류는 Gitea 이슈 1개에 모아서 등록한다.
|
||||||
|
해결 후 위키 해당 페이지 업데이트 → 이슈 Close.
|
||||||
|
|
||||||
|
```
|
||||||
|
이슈 제목: [YYYY-MM-DD] 추출 오류 로그
|
||||||
|
|
||||||
|
[SKIP: Access Denied] 경로
|
||||||
|
[SKIP: Encoding Error] 경로
|
||||||
|
[MANUAL: HWP Review Required] 경로
|
||||||
|
[MANUAL: Review Required] 경로
|
||||||
|
[INFO: No Prompt Pattern] 경로
|
||||||
|
[ERROR: File Corrupted] 경로
|
||||||
|
```
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
- {{변수명}}
|
- {{변수명}}
|
||||||
|
|
||||||
### 필터 2. 제약 조건 존재 여부
|
### 필터 2. 제약 조건 존재 여부
|
||||||
AI의 자유도를 통제하닔 조건이 반드시 존재해야 한다
|
AI의 자유도를 통제하는 조건이 반드시 존재해야 한다
|
||||||
- 예: "3줄로 요약할 것", "전문가 어조로 작성", "원본 텍스트 변경 금지"
|
- 예: "3줄로 요약할 것", "전문가 어조로 작성", "원본 텍스트 변경 금지"
|
||||||
|
|
||||||
### 필터 3. 완성문 배제
|
### 필터 3. 완성문 배제
|
||||||
|
|||||||
Reference in New Issue
Block a user