可研报告撰写引擎(산업 프로젝트 타당성 조사 보고서 · 대외 납품 완전 전투 매뉴얼)
스킬 형태 표기: 본 스킬 = 타당성 조사 보고서 작성의 「Word 완전판 + Excel 산출표 세트」 납품 버전입니다. 산출물 형태: ① Word 보고서 전체 원고 (표지→본문→첨부표, 국가발전개혁위원회 2023 대강 기준) ② Excel 투자 산출표 세트 (수식 모두 구축됨) 동일 업무군의 자매 스킬 (납품 형태별 구분): PPT 버전 타당성 조사 발표 자료, PDF 버전 타당성 조사 보고서 — 별도 정리 중 (계획 중, README 스킬 로드맵 참조) 사용법 요약: 고객/프로젝트 측에서 자료 제공 → 본 엔진 6단계 진행 → 납품 3종 세트 (보고서 docx + 산출표 xlsx + 작성 설명서 docx)를 사용자 채팅창에 전송 본 엔진은 2026년 9월 실제 대규모 프로젝트 (3000억 해양산업 클러스터 · 9개 분책 · 20만자)의 전 과정 실전 경험에서 정리되었으며, 모든 함정 회피 지점을 포함합니다.
v1.6 업그레이드 사항 (본 버전): ①
report_qa.py장문서 QA (캐시/단정 검증/정규식 검사 및 수정) 및pipeline_check.py파이프라인 자가 점검 추가, 순수 Python 표준 라이브러리, 제로 의존성 설치 즉시 실행; ② "보고서 품질 3관문" 및 "납품 전 검증 체크리스트" 추가, "감에 의존한 납품"을 "항목별 체크 납품"으로 변경; ③ "페이지 나누기 및 이미지 철칙 (Word 렌더링 ≠ LibreOffice 렌더링)" 및 PDF 버전 납품 추가; ④ "수정 및 기준 정렬" 장 추가, 고객 수정본/데이터 변경 시 실수 방지; ⑤ 재무 산출 기준 및 4대 표 연계 검사표, 민감도 분석 요구사항 추가.
1. 트리거 조건 및 포지셔닝
트리거: 고객/의뢰 측에서 「타당성 조사 보고서」「타당성 조사」「입문 보고서」「자금 조달 실사 보고서」 요청; 고객이 분산된 자료 (프로젝트명/위치/규모/몇 장의 사진)를 제공하며, 투자자 제출/심사/투자 유치를 위한 공식 보고서 필요.
자매 스킬과의 역할 분담:
| 스킬 | 용도 |
|---|---|
| 본 엔진 | 대외 납품 고객용 타당성 조사 (규정 준수 최고 기준 = 국가발전개혁위원회 2023 대강) |
| report-production-pipeline | 일반 보고서 생산 파이프라인 (5단계 + 자가 점검 스크립트), 본 엔진의 2~4단계와 동형 |
| feasibility-study-writing | 내부 의사 결정/비즈니스 방안论证 |
| mh-calculation | 재무 산출 엔진 (17개 표, 본 엔진 산출에서 호출) |
상업 납품 레드라인 (은밀한 대행):
- 고객이 직접 서명하여 납품, 우리는 내용만 제공 — 작성 기관/날짜/서명란은 모두 비워두어 고객이 기입
- 절대 AI 흔적 노출 금지 (파일명에 "최종판/AI/이중 모델 검토" 금지, 메타데이터 삭제, 본문에 AI 기호 없음)
- 자격증/날인: 고객에게 자격증을 보유한 엔지니어링 컨설팅 기관에 연계하여 협력하도록 안내 (규정 준수 레드라인 + 고객 유치 포인트)
- 가격 기준: "빠름 + 전문성" 판매, 맞춤형 기준 80,000~150,000원, 30,000원 이하 저가형은 취급하지 않음
2. 업계 최고 기준: 두 가지 대강 (먼저 유형 판단 후 집필)
국가발전개혁위원회 발전투자규범〔2023〕304호 「투자 프로젝트 타당성 조사 보고서 작성 대강 및 설명」 — 타당성 조사 작성의 유일한 규정 준수 기준.
| 유형 구분 | 정부 투자 프로젝트 (일반 대강 11장) | 기업 투자 프로젝트 (참조 대강 10장) |
|---|---|---|
| 자금 출처 | 정부 투자/자본금 투입/특별채 | 기업 자체 조달/시장화 자금 조달 |
| 대표 고객 | 성투/플랫폼/정부 프로젝트 | 민간기업/산업 투자/혼합 소유제 |
| 강조 | 건설 필요성/사회적 효익/자금 균형 | 시장 수요/수익성/비즈니스 모델 |
전체 장별 상세 요구사항은 references/ (gov-dagang-2023.md 정부 버전, ent-dagang-2023.md 기업 버전) 참조, 작성 시 장별 대조 필수.
유형 판단 자가 점검 (오판 시 전체 수정, 먼저 4가지 질문에 답변)
- 자금 원천: 재정 자금/특별채/정부 플랫폼 출자 → 정부 버전; 기업 자체 조달/상업 대출/시장화 자금 조달 → 기업 버전.
- 제출 대상: 국가발전개혁위원회 승인/허가, 재정 자금 신청 → 정부 버전; 은행 대출 심사, 투자자 의사 결정, 투자 유치 → 기업 버전.
- 초점은 누구의 필요인가: 공공 필요 (지역 낙후/민생/상위 계획 강제 요구사항) → 정부 버전; 시장 수요 및 수익성 → 기업 버전.
- 이러한 장이 있는가: 성과 관리 방안, 탄소중립 분석 → 정부 버전 전용; 비즈니스 모델/마케팅 전략/경쟁 분석 더 높은 비중 → 기업 버전.
혼합 출자 (정부 자본금 + 기업 자체 조달) 시: 승인/보고 기준을 주 대강으로 하고, 기업 재무 논증은 "투·융자 및 재무 방안" 장에 통합하며, 개요에 이중 기준 명시.
3. 6단계 워크플로우 (전 과정)
Step 0: 자료 목록화 + 유형 판단 + 수주 3문 (0.5h)
작성 전 세 가지 질문 먼저:
- 용도 (입문 승인/은행 자금 조달/투자 유치 설명/내부 의사 결정) → 판형 깊이와 대강 결정
- 의뢰인 성격 (정부 플랫폼/민간기업) → 정부 버전 또는 기업 버전 대강 결정
- 마감 기한 → 모드 A (완전 7
15일) 또는 모드 B (초안 빠른 납품 13일) 결정 ⭐
자료 목록화 「보유 vs 부족」, 부족분은 한 번에 질문하여 주고받지 않도록. 투자 추정치 부족 → 업계 기준 추정 및 "XX 업계 관행에 따라" 표기; 토지/입지 부족 → 공개 계획 실사. 고객이 제공한 정보가 적음 → 모드 B 진행.
완료 판단 기준: 유형 판단 결론 한 문장으로 작성 (정부 버전/기업 버전 + 근거); 자료 부족 목록 문서화; 모드 A/B 명확히 결정.
Step 0.5: 자료 요청 목록 (3배치, 한 번에 요청하여 작성 중 질문 금지)
| 배치 | 내용 | 부족 시 결과 |
|---|---|---|
| 첫 번째 배치 수량·가격 및 투자 기초 | 건설 내용 및 규모, 장비 목록 및 견적, 토지 가격/임대료, 수도·전기·가스비, 인건비 | 부족 시 "사전 논증 버전"만 가능, 투자 추정은 업계 관행 기준 |
| 두 번째 배치 주체 및 규정 준수 권리 확인 | 사업자등록증/주체 서류, 용지 사전 심사 및 입지 선정, 환경 평가/에너지 평가/수자원 평가/안정성 평가, 해역 사용 등 승인 및 처리 상태 | 부족 시 규정 준수 모듈은 "처리 중"으로만 작성 가능, 심사 시 지적 대상 |
| 세 번째 배치 시장 및 주문 실증 | 의향 주문/프레임워크 계약, 상하류 계약, 유사 프로젝트 운영 데이터, 정책 근거 서류 | 부족 시 시장 분석은 공개 데이터에만 의존, 깊이 저하 |
목록 템플릿: references/data-request-list.md. 목록 발송 시 동시에 설명: "두 번째 배치 부족 시 사전 논증 버전만 가능" — 전문성인 동시에 추가 수수료 포착 포인트.
Step 1: 온라인 실사 (필수! 1~3시간, 4개 병렬 경로)
검색 없이 작성 금지. 타당성 조사가 "격식 갖춤"과 "템플릿 문구"의 분수령 = 모든 판단에 데이터/정책 근거.
- 정책 측면: 성·시 산업 정책/특별 계획/업계 진입 → 검색어 「[업종] 15·5 계획」「[성·시] 산업 정책 [업종]」
- 시장 측면: 업계 규모/성장률/경쟁 구도 → 증권사 리포트/업계 협회/통계청, 다중 출처 교차 확인
- 지역 측면: 입지 선정지 산업단지/토지/인프라/유사 프로젝트 → 검색어 「[도시] [업종] 산업단지」
- 기준 측면: 유사 프로젝트 투자 강도/수익률 → mh-calculation 업계 기준과 대조
각 핵심 데이터별 출처 기록 (기관+연도+링크), 작성 시 출처 표시. 데이터 부족 시 억지로 채우지 말고, "실사 확인 필요" 작성 및 업계 범위 제공.
데이터 수집 채널 (페이지 난이도 순서대로, 첫 번째 단계에서 포기하지 말 것) :
- 1단계: 일반 크롤링/검색 엔진 요약 — 정책 원문, 뉴스, 공개 보고서
- 2단계: 안티 크롤링 우회 크롤링 (JS 렌더링, Cloudflare 챌린지 처리) — 정부 웹사이트, 업계 협회, 리포트 사이트
- 3단계: 브라우저 직접 제어 (클릭/페이지 넘김/양식) — 상호작용이 필요한 데이터 (조회 시스템, 공시 데이터베이스)
- 수집된 원자료 파일 저장 및 기록 유지 (
<프로젝트명>/실사/디렉토리 내 출처별 명명), 작성 시 재확인 가능, 수정 시 재검색 불필요.
완료 판단 기준: 핵심 숫자에 대해 "누가 말했나, 몇 년도, 어떤 기준인가" 모두 답변 가능; 원자료 저장 및 재확인 가능.
Step 2: 분업 작성 (모델 매트릭스 — 이것이 20만자 대작을 가능하게 하는 핵심)
하나의 모델이 전체 내용을 한 번에 처리하도록 하지 마십시오. 역할 분담:
- 주 브레인 (현재 대화 모델): 구조 골격 구성, 총론/개요/전략 논증 작성, 최종 조립 및 교정
- 확장 모델 (더 강력한 모델 API, 예: DeepSeek V4 Pro / Qwen Max): 재무 평가, 시장 분석 등 중대 장의 심층 확장 — 장별로 "해당 장 현황+확장 요구사항+예시" 입력, max_tokens 크게 설정 (12000+, 그렇지 않으면 reasoning이 출력을 소진하여 0 출력)
- 산출 모델: mh-calculation 호출하여 IRR/NPV/회수 기간 계산 (수동 계산 금지)
- 검토 모델 (똑똑한 모델로 전문 읽고 결함 찾기): Qwen/Doubao를 베테랑 실무자 신분으로 전문 읽기 (요약 제공 금지)로 논리적 허점/기준 불일치/데이터 왜곡 발견
- 시각 모델 (레이아웃 검수, Step 4 참조): Mimo 2.5 / DeepSeek Vision / GLM-4V / Qwen VL 교차 검사
경험: 동일 key로 2단계 조정 가능 (flash 일상용/pro 심층용); 검토 시 전문 진짜 텍스트 제공, 요약 금지, 그렇지 않으면 무의미.
작성 전 먼저 장별 목록 작성 (각 장 = 무엇을 말할 것인가|무엇으로 말할 것인가|어디서 왔는가), 증거 열이 비어 있는 장은 Step 1으로 돌아가 보충, 빈 증거를 가지고 작성 시작 금지. 목록 템플릿은 templates/report-plan.md 참조.
완료 판단 기준: 장별 목록 3개 열 모두 완비, 공백 없음; 각 장 초고에 데이터, 출처, 논리 체인 폐쇄 존재.
Step 3: 품질 3관문 (AI 초안 → 납품 가능 사이의 관문, 건너뛰지 마십시오)
| 관문 | 수행 내용 | 통과하지 못할 경우 조치 |
|---|---|---|
| ① 반성 | 과정 검토: 데이터 완전한가? 출처 신뢰할 수 있는가 (1차/2차)? 논리에 비약이 있는가? | 데이터 보충, 출처 변경, 논증 보충 |
| ② 심사 | 목록 항목별 확인: 결론과 증거 일치하는가? 과도한 추론 있는가? 반대 의견 반박되었는가? 숫자/명칭/날짜 정확한가? 기준 통일되었는가? | 항목별 수정, "대략 맞음" 금지 |
| ③ 수정 | 수정 후 반드시 수정 부분 재스캔 (특히 새 오류 유입 여부 확인), 및 전문 구 기준 잔여물 재스캔 | 재스캔 통과하지 못하면 한 번 더 반복 |
체크리스트 버전: templates/review-checklist.md. 기계 실행 가능 최소한의 검사:
python3 scripts/pipeline_check.py 보고서.md # 출처 표기/불확실성 공개/반대 시각/결론/구조/숫자 기준
python3 scripts/pipeline_check.py 보고서.md --strict --json # 종료 코드 0이 아니면 심각한 문제 있음, 자동화에 직접 연결 가능
초안 작성과 심사는 동일 라운드에서 완료할 수 없음 — 자신이 쓴 것은 자신이 실수를 발견하기 어렵다는 것은 인지 법칙이지 태도 문제가 아님. 시각 변경/모델 변경/최소 한 라운드 변경.
Step 4: 레이아웃 엔지니어링 (AI 초안 → 전문 납품 버전, scripts 원클릭)
AI가 생성한 docx를 직접 납품 = 비전문가 특징. scripts 파이프라인으로 처리:
# 1) 처음부터 골격 생성: 표지+서명 페이지+자동 목차+머리글/바닥글 (스타일 시스템 내장)
python3 scripts/gen_report_docx.py "프로젝트 전체 명칭" "" 출력.docx
# (중간 매개변수=작성 기관, 대외 납품 시 항상 빈 문자열 전달하여 공백 유지)
# 2) 기존 초안/고객 docx: 겉장 추가 (표지/서명 페이지/목차 필드) → scripts/face_docx.py --help 참조
python3 scripts/face_docx.py 입력.docx 출력.docx "프로젝트 전체 명칭" "" "KY-2026-×××"
# 3) 레이아웃 정제 (AI 흔적 제거+스타일 재구성+표 미화) ⭐ 가장 자주 사용
python3 scripts/docx_polish.py 입력.docx 출력.docx "프로젝트 전체 명칭" --title "보고서 제목"
# 4) 산출표 세트 (수식 구축, 파랑=입력) ⭐ 전문가 버전 v2 (3선표+5색 의미+표지 입력 설명)
python3 scripts/gen_model_xlsx_v2.py 출력.xlsx "프로젝트명" 총투자만원 달성수입만원 건설기간 운영기간
# 예시: python3 scripts/gen_model_xlsx_v2.py 산출표.xlsx "×× 프로젝트" 3000000 600000 4 16
# 5) 작성 설명서 및 자료 요청 목록 (1~2페이지, 납품 3종 세트 중 하나)
python3 scripts/gen_shuoming.py 출력.docx "프로젝트 이름" "약 3000억원"
4.1 페이지 나누기 및 이미지 철칙 (Word 렌더링 ≠ LibreOffice 렌더링 — 피와 눈물의 결론)
핵심 인식: LibreOffice로 PDF 변환하여 레이아웃 자체 확인 ≠ Word/WPS 열람 효과. 고객 90%는 Word/WPS 사용, 페이지 나누기/이미지 잘림 문제는 Word 엔진에서만 드러남, 먼저 XML 확인 후 결론 내려야 함.
| 증상 | 근본 원인 | 수정 |
|---|---|---|
| 이미지가 가느다란 선/모서리만 보임 | Normal 스타일 lineRule="exact" 고정 행간이 인라인 이미지 잘라냄 (Word特有, LO는 안 자름) | 본문 스타일 행간을 atLeast로 변경 (시각적 행간 유지하되 이미지가 확장 가능); 이미지 포함 단락에 명시적 spacing line=240 lineRule=auto |
| 한 페이지에 한 줄/큰 공백 | 표 모든 행에 cantSplit(페이지 나누기 금지) 설정 → 큰 표가 페이지에 안 들어가면 전체 표가 다음 페이지로 이동 | 표 머리글 행만 cantSplit 잠금, 데이터 행 전부 페이지 나누기 허용; 표 머리글에 tblHeader 추가 (페이지 넘기면 자동 머리글 반복) |
| 표가 Word 비정상 페이지 나누기 발생 | 표 총 너비가 판형 초과 (A4 판형=8730 twips, 3cm 왼쪽 여백) | gridCol을 ≤8700 twips로 비례 축소 |
| 본문 잔존 문장 고아 행 (페이지 하단 2행 문장 끊김) | 단락이 페이지 경계에 걸쳐 2행만 남음 | 해당 단락에 keepLines 추가 (단락 내 페이지 나누기 금지), 전체 단락을 다음 페이지로 이동 |
| 마지막 페이지 고아 행 ("(全文完)" 혼자 한 페이지) | 부록 큰 표 후 마무리 단락이 공간 부족으로 마지막 페이지로 밀림 | 마무리 표시 직접 삭제 또는 앞 표 압축 |
| 표지 "작성 기관:______" 밑줄 | 밑줄 공백 점유 run (<w:u>+공백) | 기관명 기재 시 밑줄 공백 run 삭제, 점유 밑줄 유지 금지 |
수정 후 반드시 다시 렌더링하여 재확인: fitz로 페이지별 스캔하여 max_y<350의 "거의 빈 페이지" 및 이미지 너비>200pt 확인하여 완전성 확인.
4.2 PDF 버전 납품 (투자자 열람 형태)
- LibreOffice
soffice --headless --convert-to pdf로 충분, 제목 대강이 자동으로 책갈피 생성 (766개=전문 수준) - 페이지 번호 필드/목차 필드가 점유물로 렌더링되는 것은 정상 현상 (Word F9로만 새로 고침) — PDF는 LO 렌더링 영향 받지 않음, docx는 고객에게 Word 열기 후 F9 누르도록 안내
- 대용량 docx (>10MB, 다량 이미지 포함) 모바일/IM 미리보기에서 이미지 표시되지 않을 수 있음 → 납품 시 PDF 버전 첨부 + Word로 열도록 안내
Step 5: 보고서 QA (숫자 및 기준 자동 검진)
python3 scripts/report_qa.py stats 보고서.docx # 규모 검진: 페이지 수/단락/문자/인라인 이미지
python3 scripts/report_qa.py grep 보고서.docx "구 기준|구 숫자" # 정규식 검사 (표 셀 포함, 표 누락 시 숫자 절반 누락)
python3 scripts/report_qa.py check 보고서.docx baseline.json # 단정 검증: 금지어 100% 0 적중, 필수 항목 반드시 등장
python3 scripts/report_qa.py cache 보고서.docx # 순수 텍스트 캐시 구축, 수정 중 반복 검사 속도 ~14배
- 수정 후 납품 전, 고객의 각 요구사항을 하나의 단정(금지어/필수 등장)으로 작성, 한 명령으로 전체 적중 자체 증명 — 사람이 3번 스캔하는 것보다 신뢰성 높음
- 단정 세트가 비어 있으면 명시적 경고 발생, "0/0 전부 초록색"의 허위 양성 방지
Step 6: 시각 검수 + 납품 (3종 세트 + 이중 출력)
시각 검수 (납품 전 마지막 관문): AI 레이아웃 문제는 텍스트 검사로 보이지 않음, 반드시 이미지로 렌더링하여 시각 모델이 "직접" 보도록 해야 함. 단일 모델은 대충 처리/오판 가능 → 2개 이상 교차 검증 사용, 문제 발견 시 좌표 데이터로 재확인 후 수정.
# 환경 변수 중 하나 선택 (추천 순서: 무료 → 저렴하고 빠름 → 예비)
export ZHIPU_API_KEY=... # ① GLM-4V-Flash (무료, 속도 1.6초/페이지) — 최우선
export DASHSCOPE_API_KEY=sk-... # ② qwen3-vl-flash (百炼千问 시각 Flash, 저렴하고 빠름)
export MIMO_API_KEY=... # ③ 小米 Mimo 2.5 (네이티브 멀티모달)
export DEEPSEEK_API_KEY=... # ④ DeepSeek vision (예비 — DeepSeek는 주로 작업 작성에 사용, 시각에 점유 최소화)
python3 scripts/vision_check.py 보고서.docx # docx→핵심 페이지 렌더링→다중 모델 검토 (①→②→③→④ 자동 폴백)
검수 기준 (한 모델이라도 지적한 항목은 사람이 직접 판단):
| 항목 | 검사 방법 | 통과 기준 |
|---|---|---|
| 표 페이지 넘김 | 표가 페이지 경계에서 끊기거나 머리글 반복 이상 | 고객 버전 Word 열람 시 가독성에 영향 없는 부분만 통과 |
| 이미지 표시 | 이미지 잘림/비율 왜곡/흐림/참조 직후 위치 이탈 | 이미지 완전 표시, 원본 비율 유지, 텍스트 설명과 일치 |
| 레이아웃 일관성 | 제목 스타일/번호 체계/줄 간격/들여쓰기 통일 | 문서 전체에서 통일, 시각적 혼란 없음 |
| 머리글/바닥글/페이지 번호 | 각 절 머리글의 텍스트 정확성, 페이지 번호 연속성 | 머리글과 해당 장 일치, 페이지 번호 1부터 순차 증가 |
납품 산출물 구성:
<프로젝트명>_타당성조사보고서_v1.7.docx # Word 전체 원고 (표지+서명+목차+본문+첨부표)
<프로젝트명>_재무산출표_모델.xlsx # Excel 재무 모델 (수식 구축, 입력 항목 파랑 표시)
<프로젝트명>_작성설명서.docx # 데이터 출처/가정/제한 사항 설명
<프로젝트명>_타당성조사보고서_v1.7.pdf # 휴대폰/태블릿 읽기용 PDF
발송 시 첨언:
안녕하세요, 납품 자료 첨부합니다. docx는 Word로 여시고 자동 목차 업데이트 시 F9 누르세요. 파란색 글씨가 들어간 숫자는 의뢰 측에서 실제 상황에 맞게 조정하시면 됩니다. 수정이 필요하시면 말씀해 주세요. (과금 안내: 변경 양이 많으면 별도 견적, 마이너 수정은 포함)
4. 수정 및 기준 정렬 (고객이 수정본을 보내는/데이터가 변경되는 위험 방지)
이유: 타당성 조사에서 가장 흔한 수정 요청 유형: 1) 숫자 변경 (투자 규모/수익 예측); 2) 정책/기준 변경 (최신 문건에 맞춤); 3) 고객 팀 내 의견 불일치/상사가 쓰레기통에 던짐.
대응 원칙:
- 최초 작성 시 출처/가정을 분리하여 보관 — 나중에 변경/반박 시 근거로 사용
- 변경 사항을 변경 로그로 기록 — 무의식적으로 누락/되돌리기 방지
- 고객 수정본 처리는 증분 검사 (전체 재검토 금지): 고객이 보낸 단어/숫자 개조만 검사, 다시 QA 실행
절차:
- 고객 수정 의견을
scripts/report_qa.py check의 baseline.json 단정으로 전환 (예: "금지어: 더블체크 없이 대충 결정") - 수정 후
--strict모드 QA 실행 - 인간이 수정 부분 재스캔 (머리글/바닥글/번호 체계가 변경으로 인해 깨졌는지 확인)
기준 정렬이 싸움으로 번질 경우 (고객이 경험이 없어서):
- 데이터 출처 식별: "이것은 XX 증권사 리포트에서 나온 것으로, 해당 데이터가 업계에서 일반적으로 인정받는 출처이며, 더 정확한 출처가 있으면 저희가 업데이트하겠습니다"
- 반대 의견 등록: "해당 결론(OO)에 대해 반대 의견이 있습니다. 반대 의견(XX)을 별첨에 등록하여 심사 기관이 자체 판단할 수 있도록 하십시오"
5. 일반적인 함정 (수없이 밟아서 체계적으로 정리)
| 함정 | 증상 | 원인 | 해결 |
|---|---|---|---|
| ☐ 유형 오판 | 정부 투자 보고서인데 기업 수익에만 집중, 또는 그 반대 | 첫 단계에서 유형 명확히 판단하지 않음 | Step 0의 4가지 질문 필수, 결론 한 문장 기록 |
| ☐ 표 숫자 불일치 | 본문 "총 투자 12억"이라 쓰고 표에는 "12.5억" | 본문과 표가 서로 다른 데이터 출처 사용 | gen_model_xlsx_v2.py 생성 후, report_qa.py로 핵심 숫자 교차 검사 |
| ☐ AI 흔적 미제거 | "물론입니다", "다음과 같습니다", "위의 분석에서 알 수 있듯이" + 특정 서식 | 정제 스크립트 실행 누락 | docx_polish.py 반드시 실행 (내장된 120개 이상의 문구 정규식 필터) |
| ☐ 정책 인용 누락 | "국가가 관련 정책을 발표했습니다"라고 쓰고 구체적인 발행 번호 없음 | 실사 소홀 | Step 1 반드시 실행, 각 정책 인용에 발행 번호 및 년월 기록 |
| ☐ 출처 누락 | "업계 규모 1.2조" — 누가 말했는가? 어디서 왔는가? | 실사 원자료 기록 저장하지 않음 | 실사 원자료 저장 후 작성, 모든 숫자에 하이퍼링크/각주 출처 표시 |
| ☐ 페이지 나누기/이미지 잘림 | 고객이 "이미지가 안 보여요/표가 이상해요"라고 함 | PDF로 납품하지 않음 / Word로 확인하지 않음 | 먼저 PDF로 검사하고, 최종 docx를 Word로 켜서 확인 (LibreOffice 단독은 안 됨) |
| ☐ 번호/기준 불일치 | 앞의 "1.2.3"을 "1.3.2"로 잘못 표기 / 연도 오타 | 수동 수정 시 자동 번호 매기기 체계 깨짐 | 수정 후 report_qa.py regex 검사 "\d+.\d+.\d+" 번호 중복/누락 확인 |
6. 참고 자료 템플릿
references/gov-dagang-2023.md— 정부 투자 프로젝트 대강 (11장 38절) 세부 요구사항references/ent-dagang-2023.md— 기업 투자 프로젝트 대강 (10장 37절) 세부 요구사항references/data-request-list.md— 고객 전송 표준화된 자료 요청 목록references/financial-models.md— 재무 산출 모델 공식 및 구축 지침templates/report-plan.md— 장별 작성 계획 템플릿templates/review-checklist.md— 검토 체크리스트 (QA로 가져와 자동화 가능)
각 프로젝트는 먼저 이 템플릿을 프로젝트 디렉토리로 복사하고, 해당 프로젝트의 구체적인 요구사항에 맞게 수정하십시오.
부록: 환경 변수 구성
| 환경 변수 | 설명 | 획득 위치 |
|---|---|---|
OPENAI_API_KEY | OpenAI 호환 API 키 (DeepSeek, Qwen 등 사용 가능) | 각 모델 플랫폼 |
ZHIPU_API_KEY | 지푸 AI GLM-4V 시각 검사 (무료, 우선) | https://open.bigmodel.cn |
DASHSCOPE_API_KEY | Alibaba Cloud Baizhi Qwen 시각 Flash | https://dashscope.aliyun.com |
MIMO_API_KEY | 小米 Mimo 멀티모달 | https://mimo.xyz |
DEEPSEEK_API_KEY | DeepSeek (시각 예비) | https://platform.deepseek.com |
구성 가이드: scripts/check_env.py를 실행하여 환경 변수 구성을 확인하고 누락된 변수에 대한 구체적인 안내를 제공합니다.