AI로 정책문서 종합해 조직설계안 만들고 한글문서로 자동 생성하기

요약

흩어진 정책문서 7건(PDF·구형 HWP·HWPX·확장자 없는 한글파일)을 AI에게 한꺼번에 읽히고, 그 내용을 근거로 행정조직 설계안(본부 1개, 5과 20팀, 민간위탁 중간지원조직 5개)을 만든 뒤, 한글(hwpx) 문서로 표·조직도까지 포함해 자동 생성한 실전 기록이다. 사용자는 문서 파일만 던지고 피드백만 했고, 조사→설계→집필→한글파일 산출까지 AI가 수행했다. 피드백 4라운드(팀 재편, 명칭 변경, 교육팀 이관·복원, 조직도 표 변환)에도 매번 몇 분 안에 새 판본이 나왔다.

왜 이 기술인가

  • 정책 제안 실무에서 최종 산출물은 거의 항상 한글(HWP/HWPX) 문서다. AI가 마크다운으로만 결과를 주면 사람이 다시 한글로 옮기는 노동이 남는다.
  • 조직설계처럼 근거 문서가 여러 건(발제문, 설계안, 시정기획서, 조직도 PDF)인 작업은 “어느 문서의 어느 대목이 근거인지”가 생명이다. AI에게 원문 전체를 읽히면 근거 있는 설계가 나온다.
  • 판본 관리: 조직안은 회의 때마다 바뀐다(팀 통폐합, 명칭 변경, 되돌리기). 문서를 코드로 생성해 두면 수정 요청이 와도 해당 줄만 고쳐 몇 분 만에 새 hwpx가 나온다.

단계별 따라하기

1단계 — 근거 문서를 형식 불문 전부 읽힌다

형식방법
PDFAI가 페이지 범위를 지정해 직접 읽음 (대용량은 1~20쪽씩 분할)
.hwpxZIP이므로 XML에서 텍스트 추출
구형 .hwpOLE 바이너리 — olefile로 BodyText 스트림을 zlib 해제해 UTF-16 디코드
확장자 없는 파일파일 시그니처(매직넘버)로 판별 후 위 방법 적용

함정: 대용량 한글파일 추출 시 서로게이트 문자로 UTF-8 저장이 실패할 수 있다. text.encode('utf-8','ignore').decode('utf-8')로 정리하고 저장하면 된다.

2단계 — 설계 원칙을 원문에서 찾게 한다

“조직도의 5개 과에 각 4팀을 설계하라”는 요청에 대해, AI가 창작하게 두지 말고 원문 속 단서를 찾게 한다. 이번 사례에서는 인수위 문서의 “시민주권경제과 4개 팀 + 민간위탁 시민자산지원센터 15명 내외”라는 한 줄이 전체 설계의 원형이 됐다 — ‘사업 단위 = 팀 단위’ 원칙을 전 과에 확장한 것. 근거 문서명과 날짜를 설계안 본문에 함께 남기면 회의에서 “이건 어디서 나온 얘기냐”에 바로 답할 수 있다.

3단계 — 산출물을 3종 동기화로 관리한다

  • md 파일(프로젝트 폴더): 원본이자 검색 가능한 기록
  • 웹 아티팩트: 회의 공유용 (링크 하나로 전달, 수정 시 같은 링크 갱신)
  • hwpx: 공식 제출용

수정 요청이 오면 셋을 모두 갱신한다. 하나만 고치면 판본이 갈라져 사고가 난다.

4단계 — 한글문서는 템플릿에서 생성한다

빈 문서를 만들지 말고, 같은 조직에서 쓰던 기존 hwpx를 서식 템플릿으로 삼는다:

  1. 템플릿의 문단 XML에서 스타일 ID(제목·장 제목·불릿·표 셀)를 채록
  2. 파이썬으로 본문 XML을 조립 — 문단은 문자열 템플릿, 표는 행×열 배열로
  3. 템플릿 ZIP에서 본문(section0.xml)만 교체해 재패키징

이렇게 하면 새 문서가 기존 문서들과 서식이 완전히 같아서, 받아보는 쪽에서 “우리 문서”로 읽힌다.

5단계 — 조직도는 병합 표로 그린다

한글에서 그리기 개체로 조직도를 자동 생성하는 것은 위험하다. 대신 셀 병합(colSpan) 표로 조직도를 만든다:

[            시민주권위원회 (전폭 병합, 음영)            ]
[                  ▼ 심의·의결 (전폭)                    ]
[            시민주권본부 — 5과 20팀 (전폭, 음영)         ]
[ ①과 ] [ ②과 ] [ ③과 ] [ ④과 ] [ ⑤과 ]   ← 5분할, 음영
[팀4개] [팀4개] [팀4개] [팀4개] [팀4개]     ← 셀당 여러 문단
[        중간지원조직(민간위탁) 5개 (전폭)               ]

행정기관 조직도 문서 대부분이 실제로 이런 표 구조라서 결과물이 자연스럽다. “과별 업무·팀별 사업을 1쪽 총괄표로”라는 요청도 같은 방법(21행×3열, 표 앞뒤 쪽나눔)으로 해결된다.

교훈

  1. 원문 전체를 읽히는 비용을 아끼지 말 것. 요약본만 주면 그럴듯한 창작이 나오고, 원문을 주면 “인수위 문서 4팀 구상”같은 결정적 단서를 AI가 찾아낸다.
  2. 판본은 파일명으로(v2, v3, v4). 특히 출력 대상 한글파일이 한글 프로그램에서 열려 있으면 덮어쓰기가 잠겨 실패한다 — 새 파일명으로 내보내는 것이 오히려 안전하다.
  3. 피드백은 짧게 자주. “교육팀을 중간지원조직으로 이관” → 다음 회의에서 “다시 살려” 같은 번복도, 문서가 코드로 생성되는 구조에서는 부담이 없다.
  4. 확정된 결정과 남은 결정을 문서 끝에 분리해 두면, 회의가 거듭될수록 문서가 의사결정 기록이 된다.

참고


이 문서는 연대지능 공동위키에도 같은 내용으로 올라가 있다. 원본: AI로-정책문서-종합해-조직설계안-만들고-한글문서로-자동생성하기