연구 · 실무 · 2026-05-17
한글 양식이 깨진 원인을 스킬 수정으로 남기기
표 전체를 감싼 문단을 본문으로 취급하면서 한글 양식의 텍스트가 엉키는 문제를 추적했습니다. Codex로 셀 안의 실제 문단만 편집하도록 고치고 OpenClaw의 HWPX 도구와 사용 규칙에 반영했습니다.
THE EVIDENCE & LIMITS
기록을 더 자세히 보기
어떤 기록으로 확인했나요?
2026년 5월 Codex 수정·시험 기록과 현재 설치된 HWPX 생성기·스킬을 대조했습니다. 당시 수정 시험과 9월 9일 보관본의 압축·XML 검사를 구분해 설명합니다.
01내용이 맞아도 양식이 망가질 수 있습니다
2026년 5월 문서 작업에서는 기존 한글 양식의 제목과 본문을 바꾸면서 표와 서식을 유지해야 했습니다. 문장을 새로 쓰는 능력만으로는 해결되지 않았습니다. 생성된 HWPX의 압축이 정상이고 XML도 읽히는데, 실제 양식의 텍스트 배치가 기대와 다르게 보이는 문제가 있었습니다. 파일 형식 검사와 사용자가 편집할 수 있는 문서인지 확인하는 일은 서로 다른 단계였습니다.
5월 17일 기록에서 원인은 표를 포함한 상위 문단을 편집 대상으로 잡는 방식으로 좁혀졌습니다. HWPX의 표는 문단 내부에 들어갈 수 있습니다. 이 상위 문단의 모든 하위 텍스트를 모으면 여러 셀의 내용이 하나의 긴 문장처럼 이어집니다. 그 결과를 순서대로 다시 쓰는 방식은 셀별로 나뉘어 있어야 할 내용을 잘못 다루게 됩니다.
02실제 셀 문단을 편집 단위로 삼았습니다
Codex는 비서의 HWPX 생성 스크립트를 살펴보고 표를 포함한 상위 문단을 걸러내는 로직을 추가했습니다. 실제 텍스트를 가진 셀 안의 문단만 편집 목록에 들어가도록 바꾼 것입니다. 이 공통 기준은 문구 치환, 전체 문단 처리, 양식 검사, 미리보기 생성에 함께 적용했습니다. 한 기능만 고치고 다른 경로에서 같은 문제가 되풀이되는 것을 줄이기 위한 수정이었습니다.
OpenClaw 스킬 문서에도 표가 많은 고정 양식에서는 위치 순서에 따른 전체 재작성보다 기존 문구나 표시된 필드를 기준으로 치환하도록 남겼습니다. 비서는 양식을 검사해 필요한 문구를 준비하고, 생성기는 그 편집 범위를 지키며 파일을 만듭니다. 이 사례의 핵심 산출물은 한 문서의 내용보다 다음 문서에도 적용되는 편집 규칙입니다.
같은 날에는 결과를 저장할 대상을 잘못 선택한 문제도 정정했습니다. 지정된 수정 대상의 기존 상태를 보관한 뒤 내용을 반영하고, 잘못 바뀐 현재본은 작업 전 상태로 복원했습니다. 양식 편집 로직을 고치는 것과 별개로 입력 파일, 수정 대상, 보관본을 명확히 구분해야 한다는 운영상의 교훈도 남았습니다.
03압축·줄 배치·미리보기도 함께 관리했습니다
앞선 5월 10일 작업에서는 원본 HWPX의 ZIP 구성 요소, 파일 순서, 압축 방식과 메타데이터를 가능한 한 유지하도록 생성기를 보완했습니다. mimetype 항목은 첫 번째에 무압축으로 두고, 본문을 바꾸면 미리보기 텍스트도 다시 만들었습니다. 본문은 수정되었는데 검색이나 미리보기에는 예전 문구가 남는 상태를 피하기 위한 조치입니다.
또한 편집한 문단의 기존 줄 배치 캐시를 지워 한글이 다시 조판할 수 있게 했습니다. 당시 요청된 장평 95%, 자간 -5도 글자모양 정의에 반영했지만, 한 줄에 억지로 넣기 위해 더 강하게 압축하는 자동 처리는 추가하지 않았습니다. 이 수치는 해당 양식 작업의 설정이며 모든 한글 문서에 적용할 보편적인 서식 기준은 아닙니다.
04기록에 남은 검사와 현재 확인한 산출물
5월 17일 수정 기록에는 Python 문법 검사, 생성한 시험 HWPX의 ZIP 검사, 실제 편집 문단을 이용한 양식 검사가 남아 있습니다. 시험 결과에서 500자를 넘는 합쳐진 문단은 0개였고, 가장 긴 편집 문단은 99자로 기록되었습니다. 이는 표 전체의 텍스트를 하나의 문단으로 잘못 수집하던 증상이 해당 시험에서 사라졌다는 근거입니다.
사례 정리 과정에서는 당시 보관된 HWPX 산출물 한 건도 다시 확인했습니다. 파일이 존재하고 ZIP 무결성 검사와 본문 XML 파싱을 통과했으며, 미리보기 텍스트와 첫 번째 무압축 mimetype 항목도 확인했습니다. 이 보관본은 해당 수정 이전에 만든 파일입니다. 이번 재검사는 그 보관본의 압축·XML 상태만 확인했으며, 수정 결과 검증이나 한글 앱 시각 검수는 아닙니다. 수정 동작의 근거는 앞서 설명한 당시 시험 기록과 설치된 코드입니다.
05한 번의 수정을 다음 작업의 규칙으로 남기기
문서 자동화의 실패는 결과 파일 하나를 고치는 것으로 끝내면 다음 양식에서 다시 나타날 수 있습니다. 이 작업은 원인을 코드의 편집 단위로 설명하고, 같은 기준을 도구의 검사 기능과 스킬 문서에 함께 반영했습니다. 대화 중 얻은 해결책이 OpenClaw가 다음에 읽을 작업 규칙으로 남았다는 점에서 Codex와 비서의 역할이 연결됩니다.
다른 문서 작업에도 적용할 순서는 분명합니다. 먼저 원본 양식의 구조를 확인하고, 바꿀 필드와 보존할 구조를 정한 다음, 산출물의 압축·XML·미리보기와 실제 화면을 차례로 확인하는 것입니다. HWPX를 생성하는 기능과 바이너리 HWP로 저장하는 기능도 구분해야 합니다. 이 도구의 확인된 출력은 HWPX이며, HWP가 필요하면 한글에서 별도로 변환하는 단계가 남습니다.