목록으로
교육·학습을 위한 AI 활용
AI를 활용한 국어 자료 분석 및 hwpx 조판
AI를 이용해 국어 자료를 분석한 뒤, 정해진 hwpx 템플릿으로 바로 조판
🤖 활용 AI 도구
ChatGPT
저는 ChatGPT를 활용하여 국어 자료를 생산하고 있습니다.
많은 선생님들께서 이미 국어 지문 분석이나 문제 제작에 AI를 활용하고 계실 것이라고 생각합니다. 다만 AI를 활용해 내용을 만드는 것과, 그것을 실제 수업에서 사용할 수 있는 한글 문서로 조판하는 것은 또 다른 문제입니다. DOCX나 PDF 형태의 결과물은 비교적 쉽게 만들 수 있지만, HWPX 파일을 원하는 형식으로 바로 만들어 사용하는 것은 아직 쉽지 않습니다.
그래서 제가 지금까지 HWPX를 다루면서 알게 된 내용과, AI를 이용해 한글 문서를 직접 조판하는 방법을 조금씩 공유해보려고 합니다.
저는 공교육이 아닌 사교육 현장에서 고등학생들의 내신과 수능 국어를 가르치는 강사입니다. 약 2년 반 동안 AI에게 제가 지문을 분석하는 방식, 수능과 내신에서 문제가 출제되는 방식, 해설을 쓰는 방식 등을 계속 설명하고 수정해왔습니다. 지금은 제가 기본적인 검수만 하면 실제 수업 자료로 사용할 수 있을 정도의 결과물을 만들고 있습니다.
제가 GPT를 처음 본격적으로 사용하기 시작한 것은 2023년 12월쯤입니다. 당시의 GPT는 지금만큼 정확하거나 안정적이지 않았지만, 제가 원하는 방식에 맞춰 점차 결과를 개선할 수 있다는 점이 흥미로웠습니다.
처음에는 제가 기존에 만들던 수능형 분석 자료의 일부를 보조받는 정도로 사용했습니다. 제가 지문을 읽는 방식과 분석지를 쓰는 방식을 설명하고, GPT가 작성한 결과를 고쳐주고, 다시 쓰게 하는 과정을 반복했습니다. 지금 생각해보면 학생을 가르치는 것과 크게 다르지 않았던 것 같습니다.
그 과정이 길어지면서 재미있는 변화가 생겼습니다. 어느 순간부터 GPT는 제가 자료를 만드는 방식을 상당히 비슷하게 재현하기 시작했습니다. 동시에 제가 평소에는 굳이 말로 설명하지 않았던 판단 기준을 계속 질문하거나 문장으로 정리해주면서, 제가 암묵적으로 가지고 있던 지식을 명시적인 규칙으로 끌어내는 역할도 했습니다.
예를 들어 저는 학생들에게 어떤 문장이 시험에 잘 출제되는지, 어떤 선지가 그럴듯한 오답인지, 지문에서 어떤 관계를 먼저 잡아야 하는지를 자연스럽게 설명해왔습니다. 하지만 막상 “그 판단을 어떤 순서와 기준으로 하는가”를 글로 적어보라고 하면 생각보다 쉽지 않습니다. AI에게 그 일을 반복해서 설명하다 보니 저 자신의 수업 방식도 훨씬 구체적인 언어로 정리되었습니다.
올해 3월쯤에는 GPT를 통해 코딩을 한다는, 이른바 ‘바이브 코딩’에 관심을 가지게 되었습니다. 프로그래밍 경험은 거의 없었지만 GPT를 사용하는 것에는 익숙했기 때문에, 한번 해볼 만하다는 생각이 들었습니다.
처음 만든 것은 제가 사용하던 해설지용 HWPX 조판기였습니다.
AI에게 문서 파일을 만들어달라고 하면 DOCX나 PDF는 비교적 쉽게 받을 수 있습니다. 하지만 실제 수업에서는 한글 파일을 사용해야 하는 경우가 많고, DOCX를 HWPX로 변환하면 글자 모양, 문단, 표, 간격 등이 예상대로 유지되지 않는 경우가 있었습니다. 결국 다시 손으로 고쳐야 했고, 저에게는 그 작업 자체가 또 다른 반복 노동이었습니다.
그래서 GPT와 함께 HWPX 파일 자체를 보기 시작했습니다.
HWPX는 하나의 거대한 바이너리 파일이 아니라, 여러 XML 파일과 이미지 등의 리소스를 ZIP 구조 안에 묶어놓은 문서 형식입니다. 압축을 풀어 내부 파일을 확인하고 XML 구조를 읽으면 문단, 글자, 표, 그림, 스타일 등의 정보를 직접 다룰 수 있습니다.
최초의 조판기는 매우 단순했습니다.
제가 미리 만들어둔 HWPX 템플릿에 ‘지문’, ‘문제’, ‘해설’ 등이 들어갈 자리를 만들어두고, GPT가 생성한 내용을 그 자리에 넣는 방식이었습니다. 이것만으로도 꽤 편해졌습니다.
그런데 그것마저도 점점 귀찮아졌습니다.
문제마다 지문이 있고, 발문이 있고, 객관식 선지가 있고, 경우에 따라 <보기>나 <조건>이 있고, 표와 그림이 있으며, 마지막에는 정답과 해설이 있습니다. 결국 이런 요소들도 일정한 구조와 규칙을 가지고 있다는 생각이 들었습니다.
그래서 원본 HWPX 파일을 읽은 뒤 지문, 문제, 선지, 보기, 표, 그림, 정답 및 해설을 자동으로 구분하고, 제가 사용하는 템플릿에 다시 조판하는 프로그램을 만들기 시작했습니다.
4월부터 지금까지 이 작업을 계속하고 있습니다. 시작할 때는 이렇게까지 커질 줄 몰랐는데, 어느새 저는 GPT Pro의 X20 사용량 플랜까지 결제하면서 이 작업을 하고 있습니다. 반쯤 취미 생활이 된 것 같습니다.
그 과정에서 제 GPT도 HWPX의 내부 구조를 상당히 잘 다루게 되었습니다. 어느 순간부터는 별도의 변환 과정을 거치지 않고, 제가 웹에서 GPT에게 자료 제작을 요청하면 최종 결과물을 HWPX 파일로 바로 받아 수업에 사용하는 일도 가능해졌습니다.
주변 선생님들께서 방법을 물어보셔서 제가 했던 방식대로 설명해드린 적도 있습니다. 그런데 생각보다 같은 AI를 사용하더라도 결과가 쉽게 재현되지는 않았습니다. 단순히 “HWPX로 만들어줘”라고 요청하는 것과, HWPX 내부에서 어떤 부분을 어떤 방식으로 읽고 수정해야 하는지를 알고 작업시키는 것은 상당히 큰 차이가 있었습니다.
현재 저는 두 가지 작업을 병행하고 있습니다.
하나는 AI를 이용한 자료 제작입니다. 그동안 쌓아온 분석 기준과 제작 규칙을 정리한 문서와 긴 작업 맥락을 바탕으로 GPT가 초안을 만들고, 제가 검수하면서 수정 방향을 이야기합니다. 내용이 확정되면 제가 정해놓은 형식의 HWPX 파일까지 바로 조판합니다.
다른 하나는 AI가 개입하지 않는 자동 조판 프로그램입니다.
여기에는 조금 다른 생각이 들어 있습니다.
AI는 내용을 분석하고 판단하는 데에는 매우 강력하지만, 이미 확정된 내용을 문서에 옮기는 작업까지 매번 AI가 다시 판단할 필요는 없습니다. 오히려 문서 조판 단계에서는 같은 입력에 대해 항상 같은 결과가 나오고, 문제가 생겼을 때 어디서 잘못되었는지를 확인할 수 있는 것이 중요합니다.
그래서 현재 만들고 있는 프로그램은 원본 HWPX의 구조를 일정한 규칙으로 분석하고, 확정된 결과를 그대로 새로운 HWPX에 옮기는 방향으로 개발하고 있습니다. 저는 여전히 제 손으로 코드를 처음부터 작성할 수 있는 사람은 아니지만, GPT와 계속 대화하며 규칙을 정의하고 구현 결과를 검증하는 방식으로 지금까지 10만 줄이 넘는 코드베이스를 만들었습니다. 최근에는 간단한 웹페이지까지 만들어 실제 파일을 넣어보는 알파 테스트를 시작했습니다.
물론 아직 모든 HWPX를 완벽하게 처리하지는 못합니다.
실제 교육 자료를 넣어보면 같은 ‘문제지’라고 해도 제작 업체, 제작 시기, 문서 작성 방식에 따라 내부 구조가 상당히 다릅니다. 어떤 파일에서는 객관식 번호가 일반 문자이고, 어떤 파일에서는 그림입니다. 표 안에 선지가 들어가기도 하고, 지문과 문제가 서로 다른 컨테이너에 들어가기도 합니다. 오래된 자료와 최근 자료의 구조가 조금씩 다른 경우도 있습니다.
그래서 현재는 실제 자료를 계속 넣어보면서 프로그램이 처리하지 못하는 구조를 찾고, 그 사례를 특정 파일에만 맞는 예외가 아니라 가능한 한 일반적인 규칙으로 바꾸는 작업을 반복하고 있습니다.
제가 앞으로 공유하고 싶은 것은 완성된 프로그램 하나만은 아닙니다.
오히려 제가 몇 달 동안 HWPX를 직접 다루면서 알게 된 실전적인 구조와 작업 방법을 공개하고 싶습니다.
HWPX는 이미 공개된 문서 형식이고, 한글과컴퓨터에서도 관련 규격을 공개하고 있으며 GitHub에도 여러 오픈소스 프로젝트가 있습니다. 하지만 실제로 교사가 문서를 만들려고 하면 규격서에 적힌 XML 태그의 의미를 아는 것만으로는 부족합니다.
예를 들어 실제 자료 제작에서는 이런 문제가 생깁니다.
지문을 기존 한글 스타일에 맞게 넣는 방법, 문제 번호와 발문과 ①~⑤ 선지를 구분하는 방법, <보기>와 <조건>을 원래 형태대로 보존하는 방법, 밑줄이나 굵게 같은 글자 서식을 유지하는 방법, 표와 그림을 원본에서 복사하는 방법, 기존 템플릿의 스타일을 그대로 활용하는 방법, 정답과 해설을 별도의 형식으로 붙이는 방법, 그리고 이렇게 수정한 파일이 다시 한글에서 정상적으로 열리도록 HWPX 전체 구조를 유지하는 방법 등입니다.
저도 처음에는 이런 내용을 알지 못했습니다. 실제 파일을 해체해보고, 요소 하나를 바꿔보고, 다시 파일을 만들어보고, 깨지면 원인을 찾는 과정을 반복하면서 하나씩 알게 되었습니다.
따라서 제가 공개하고 싶은 것은 단순한 코드보다는 일종의 ‘HWPX 실전 지도’에 가깝습니다.
어떤 XML이 어떤 역할을 하는지뿐만 아니라, 실제 문서를 수정하거나 새로 만들 때 어떤 요소를 보존해야 하는지, 표나 그림을 옮길 때 무엇을 함께 복사해야 하는지, 템플릿의 스타일을 어떻게 이용할 수 있는지 등을 가능한 한 쉽게 정리하려고 합니다.
이 자료는 두 가지 방식으로 활용할 수 있을 것 같습니다.
첫째는 코딩을 전혀 모르는 선생님들이 자신의 AI에게 이 자료를 제공하고, 기존 HWPX 템플릿과 원하는 내용을 함께 주어 직접 문서를 만들어보는 것입니다.
저 역시 처음에는 코딩을 전혀 모르는 상태에서 시작했습니다. 반드시 프로그램을 직접 개발하지 않더라도, AI에게 문서 구조를 충분히 설명해줄 수 있다면 지금보다 훨씬 안정적으로 HWPX를 다룰 수 있습니다.
둘째는 반복적인 문서 작업이 많은 분들이 자신의 작업에 맞는 자동화 도구를 만드는 것입니다.
제가 만드는 프로그램은 국어 문제지를 대상으로 하고 있지만, 원리는 반드시 국어에만 한정되지는 않습니다. 영어, 수학, 과학 등에서도 반복되는 문서 구조와 업무 규칙이 있다면 같은 방식의 자동화가 가능하다고 생각합니다.
개인적으로는 이런 기술과 방법이 특정 사람만의 노하우로 남을 필요는 없다고 생각합니다.
특히 교육 현장에는 여전히 내용의 질과는 별개로 너무 많은 시간이 문서 편집에 사용됩니다. 표의 크기를 맞추고, 문제 번호를 옮기고, 선지를 정렬하고, 그림을 복사하고, 한글 파일의 간격을 맞추는 일에 교사가 몇 시간씩 사용하는 경우가 흔합니다.
그 시간이 조금이라도 줄어든다면 교사는 수업과 내용에 더 많은 시간을 사용할 수 있고, 결과적으로 학생들도 더 좋은 자료를 접할 수 있습니다.
저 역시 처음부터 거창한 프로그램을 만들려고 했던 것은 아닙니다. 그저 제가 반복해서 하고 있던 한글 작업이 귀찮았고, 조금 덜 하고 싶어서 시작했습니다. 그런데 그 과정을 따라가다 보니 AI를 활용해 전문적인 업무를 규칙으로 정리하는 방법, 그 규칙을 프로그램으로 옮기는 방법, 그리고 HWPX라는 문서 형식 자체를 이해하게 되었습니다.
아직 프로젝트는 진행 중입니다. 앞으로도 처리하지 못하는 파일이 계속 나올 것이고, 예상하지 못했던 예외를 많이 만나게 될 것이라고 생각합니다.
다만 지금까지 작업하면서 한 가지는 분명하게 느꼈습니다.
HWPX는 AI가 다룰 수 없는 파일이 아닙니다.
단순히 파일을 던져주고 알아서 처리하라고 하는 것과, 그 파일이 어떻게 구성되어 있고 무엇을 보존하고 무엇을 수정해야 하는지를 알려주는 것은 전혀 다른 문제입니다.
제가 몇 달 동안 시행착오를 겪으며 정리한 내용을 공개하면, 다른 분들은 제가 처음부터 겪었던 시행착오 중 상당 부분을 건너뛸 수 있을 것이라고 생각합니다.
우선은 HWPX의 기본적인 내부 구조와 템플릿을 이용한 조판 방식, 스타일 적용, 표와 그림을 다루는 방법, 그리고 간단한 예제부터 차례대로 정리해보려고 합니다.
그리고 가능하다면 이후에는 제가 실제로 GPT에게 어떤 자료를 주고 어떻게 작업을 요청하는지, 코딩 경험이 거의 없는 상태에서 어떤 방식으로 자동화 프로그램을 발전시켜왔는지도 함께 공유해보겠습니다.
궁극적으로는 자료 자동화의 방법이 가능한 한 널리 공유되어, 많은 학생들이 질 좋은 자료로 공부하고 학교와 학원의 선생님들이 지금보다 조금이라도 ‘노가다 한글 작업’에서 벗어날 수 있었으면 합니다.
많은 선생님들께서 이미 국어 지문 분석이나 문제 제작에 AI를 활용하고 계실 것이라고 생각합니다. 다만 AI를 활용해 내용을 만드는 것과, 그것을 실제 수업에서 사용할 수 있는 한글 문서로 조판하는 것은 또 다른 문제입니다. DOCX나 PDF 형태의 결과물은 비교적 쉽게 만들 수 있지만, HWPX 파일을 원하는 형식으로 바로 만들어 사용하는 것은 아직 쉽지 않습니다.
그래서 제가 지금까지 HWPX를 다루면서 알게 된 내용과, AI를 이용해 한글 문서를 직접 조판하는 방법을 조금씩 공유해보려고 합니다.
저는 공교육이 아닌 사교육 현장에서 고등학생들의 내신과 수능 국어를 가르치는 강사입니다. 약 2년 반 동안 AI에게 제가 지문을 분석하는 방식, 수능과 내신에서 문제가 출제되는 방식, 해설을 쓰는 방식 등을 계속 설명하고 수정해왔습니다. 지금은 제가 기본적인 검수만 하면 실제 수업 자료로 사용할 수 있을 정도의 결과물을 만들고 있습니다.
제가 GPT를 처음 본격적으로 사용하기 시작한 것은 2023년 12월쯤입니다. 당시의 GPT는 지금만큼 정확하거나 안정적이지 않았지만, 제가 원하는 방식에 맞춰 점차 결과를 개선할 수 있다는 점이 흥미로웠습니다.
처음에는 제가 기존에 만들던 수능형 분석 자료의 일부를 보조받는 정도로 사용했습니다. 제가 지문을 읽는 방식과 분석지를 쓰는 방식을 설명하고, GPT가 작성한 결과를 고쳐주고, 다시 쓰게 하는 과정을 반복했습니다. 지금 생각해보면 학생을 가르치는 것과 크게 다르지 않았던 것 같습니다.
그 과정이 길어지면서 재미있는 변화가 생겼습니다. 어느 순간부터 GPT는 제가 자료를 만드는 방식을 상당히 비슷하게 재현하기 시작했습니다. 동시에 제가 평소에는 굳이 말로 설명하지 않았던 판단 기준을 계속 질문하거나 문장으로 정리해주면서, 제가 암묵적으로 가지고 있던 지식을 명시적인 규칙으로 끌어내는 역할도 했습니다.
예를 들어 저는 학생들에게 어떤 문장이 시험에 잘 출제되는지, 어떤 선지가 그럴듯한 오답인지, 지문에서 어떤 관계를 먼저 잡아야 하는지를 자연스럽게 설명해왔습니다. 하지만 막상 “그 판단을 어떤 순서와 기준으로 하는가”를 글로 적어보라고 하면 생각보다 쉽지 않습니다. AI에게 그 일을 반복해서 설명하다 보니 저 자신의 수업 방식도 훨씬 구체적인 언어로 정리되었습니다.
올해 3월쯤에는 GPT를 통해 코딩을 한다는, 이른바 ‘바이브 코딩’에 관심을 가지게 되었습니다. 프로그래밍 경험은 거의 없었지만 GPT를 사용하는 것에는 익숙했기 때문에, 한번 해볼 만하다는 생각이 들었습니다.
처음 만든 것은 제가 사용하던 해설지용 HWPX 조판기였습니다.
AI에게 문서 파일을 만들어달라고 하면 DOCX나 PDF는 비교적 쉽게 받을 수 있습니다. 하지만 실제 수업에서는 한글 파일을 사용해야 하는 경우가 많고, DOCX를 HWPX로 변환하면 글자 모양, 문단, 표, 간격 등이 예상대로 유지되지 않는 경우가 있었습니다. 결국 다시 손으로 고쳐야 했고, 저에게는 그 작업 자체가 또 다른 반복 노동이었습니다.
그래서 GPT와 함께 HWPX 파일 자체를 보기 시작했습니다.
HWPX는 하나의 거대한 바이너리 파일이 아니라, 여러 XML 파일과 이미지 등의 리소스를 ZIP 구조 안에 묶어놓은 문서 형식입니다. 압축을 풀어 내부 파일을 확인하고 XML 구조를 읽으면 문단, 글자, 표, 그림, 스타일 등의 정보를 직접 다룰 수 있습니다.
최초의 조판기는 매우 단순했습니다.
제가 미리 만들어둔 HWPX 템플릿에 ‘지문’, ‘문제’, ‘해설’ 등이 들어갈 자리를 만들어두고, GPT가 생성한 내용을 그 자리에 넣는 방식이었습니다. 이것만으로도 꽤 편해졌습니다.
그런데 그것마저도 점점 귀찮아졌습니다.
문제마다 지문이 있고, 발문이 있고, 객관식 선지가 있고, 경우에 따라 <보기>나 <조건>이 있고, 표와 그림이 있으며, 마지막에는 정답과 해설이 있습니다. 결국 이런 요소들도 일정한 구조와 규칙을 가지고 있다는 생각이 들었습니다.
그래서 원본 HWPX 파일을 읽은 뒤 지문, 문제, 선지, 보기, 표, 그림, 정답 및 해설을 자동으로 구분하고, 제가 사용하는 템플릿에 다시 조판하는 프로그램을 만들기 시작했습니다.
4월부터 지금까지 이 작업을 계속하고 있습니다. 시작할 때는 이렇게까지 커질 줄 몰랐는데, 어느새 저는 GPT Pro의 X20 사용량 플랜까지 결제하면서 이 작업을 하고 있습니다. 반쯤 취미 생활이 된 것 같습니다.
그 과정에서 제 GPT도 HWPX의 내부 구조를 상당히 잘 다루게 되었습니다. 어느 순간부터는 별도의 변환 과정을 거치지 않고, 제가 웹에서 GPT에게 자료 제작을 요청하면 최종 결과물을 HWPX 파일로 바로 받아 수업에 사용하는 일도 가능해졌습니다.
주변 선생님들께서 방법을 물어보셔서 제가 했던 방식대로 설명해드린 적도 있습니다. 그런데 생각보다 같은 AI를 사용하더라도 결과가 쉽게 재현되지는 않았습니다. 단순히 “HWPX로 만들어줘”라고 요청하는 것과, HWPX 내부에서 어떤 부분을 어떤 방식으로 읽고 수정해야 하는지를 알고 작업시키는 것은 상당히 큰 차이가 있었습니다.
현재 저는 두 가지 작업을 병행하고 있습니다.
하나는 AI를 이용한 자료 제작입니다. 그동안 쌓아온 분석 기준과 제작 규칙을 정리한 문서와 긴 작업 맥락을 바탕으로 GPT가 초안을 만들고, 제가 검수하면서 수정 방향을 이야기합니다. 내용이 확정되면 제가 정해놓은 형식의 HWPX 파일까지 바로 조판합니다.
다른 하나는 AI가 개입하지 않는 자동 조판 프로그램입니다.
여기에는 조금 다른 생각이 들어 있습니다.
AI는 내용을 분석하고 판단하는 데에는 매우 강력하지만, 이미 확정된 내용을 문서에 옮기는 작업까지 매번 AI가 다시 판단할 필요는 없습니다. 오히려 문서 조판 단계에서는 같은 입력에 대해 항상 같은 결과가 나오고, 문제가 생겼을 때 어디서 잘못되었는지를 확인할 수 있는 것이 중요합니다.
그래서 현재 만들고 있는 프로그램은 원본 HWPX의 구조를 일정한 규칙으로 분석하고, 확정된 결과를 그대로 새로운 HWPX에 옮기는 방향으로 개발하고 있습니다. 저는 여전히 제 손으로 코드를 처음부터 작성할 수 있는 사람은 아니지만, GPT와 계속 대화하며 규칙을 정의하고 구현 결과를 검증하는 방식으로 지금까지 10만 줄이 넘는 코드베이스를 만들었습니다. 최근에는 간단한 웹페이지까지 만들어 실제 파일을 넣어보는 알파 테스트를 시작했습니다.
물론 아직 모든 HWPX를 완벽하게 처리하지는 못합니다.
실제 교육 자료를 넣어보면 같은 ‘문제지’라고 해도 제작 업체, 제작 시기, 문서 작성 방식에 따라 내부 구조가 상당히 다릅니다. 어떤 파일에서는 객관식 번호가 일반 문자이고, 어떤 파일에서는 그림입니다. 표 안에 선지가 들어가기도 하고, 지문과 문제가 서로 다른 컨테이너에 들어가기도 합니다. 오래된 자료와 최근 자료의 구조가 조금씩 다른 경우도 있습니다.
그래서 현재는 실제 자료를 계속 넣어보면서 프로그램이 처리하지 못하는 구조를 찾고, 그 사례를 특정 파일에만 맞는 예외가 아니라 가능한 한 일반적인 규칙으로 바꾸는 작업을 반복하고 있습니다.
제가 앞으로 공유하고 싶은 것은 완성된 프로그램 하나만은 아닙니다.
오히려 제가 몇 달 동안 HWPX를 직접 다루면서 알게 된 실전적인 구조와 작업 방법을 공개하고 싶습니다.
HWPX는 이미 공개된 문서 형식이고, 한글과컴퓨터에서도 관련 규격을 공개하고 있으며 GitHub에도 여러 오픈소스 프로젝트가 있습니다. 하지만 실제로 교사가 문서를 만들려고 하면 규격서에 적힌 XML 태그의 의미를 아는 것만으로는 부족합니다.
예를 들어 실제 자료 제작에서는 이런 문제가 생깁니다.
지문을 기존 한글 스타일에 맞게 넣는 방법, 문제 번호와 발문과 ①~⑤ 선지를 구분하는 방법, <보기>와 <조건>을 원래 형태대로 보존하는 방법, 밑줄이나 굵게 같은 글자 서식을 유지하는 방법, 표와 그림을 원본에서 복사하는 방법, 기존 템플릿의 스타일을 그대로 활용하는 방법, 정답과 해설을 별도의 형식으로 붙이는 방법, 그리고 이렇게 수정한 파일이 다시 한글에서 정상적으로 열리도록 HWPX 전체 구조를 유지하는 방법 등입니다.
저도 처음에는 이런 내용을 알지 못했습니다. 실제 파일을 해체해보고, 요소 하나를 바꿔보고, 다시 파일을 만들어보고, 깨지면 원인을 찾는 과정을 반복하면서 하나씩 알게 되었습니다.
따라서 제가 공개하고 싶은 것은 단순한 코드보다는 일종의 ‘HWPX 실전 지도’에 가깝습니다.
어떤 XML이 어떤 역할을 하는지뿐만 아니라, 실제 문서를 수정하거나 새로 만들 때 어떤 요소를 보존해야 하는지, 표나 그림을 옮길 때 무엇을 함께 복사해야 하는지, 템플릿의 스타일을 어떻게 이용할 수 있는지 등을 가능한 한 쉽게 정리하려고 합니다.
이 자료는 두 가지 방식으로 활용할 수 있을 것 같습니다.
첫째는 코딩을 전혀 모르는 선생님들이 자신의 AI에게 이 자료를 제공하고, 기존 HWPX 템플릿과 원하는 내용을 함께 주어 직접 문서를 만들어보는 것입니다.
저 역시 처음에는 코딩을 전혀 모르는 상태에서 시작했습니다. 반드시 프로그램을 직접 개발하지 않더라도, AI에게 문서 구조를 충분히 설명해줄 수 있다면 지금보다 훨씬 안정적으로 HWPX를 다룰 수 있습니다.
둘째는 반복적인 문서 작업이 많은 분들이 자신의 작업에 맞는 자동화 도구를 만드는 것입니다.
제가 만드는 프로그램은 국어 문제지를 대상으로 하고 있지만, 원리는 반드시 국어에만 한정되지는 않습니다. 영어, 수학, 과학 등에서도 반복되는 문서 구조와 업무 규칙이 있다면 같은 방식의 자동화가 가능하다고 생각합니다.
개인적으로는 이런 기술과 방법이 특정 사람만의 노하우로 남을 필요는 없다고 생각합니다.
특히 교육 현장에는 여전히 내용의 질과는 별개로 너무 많은 시간이 문서 편집에 사용됩니다. 표의 크기를 맞추고, 문제 번호를 옮기고, 선지를 정렬하고, 그림을 복사하고, 한글 파일의 간격을 맞추는 일에 교사가 몇 시간씩 사용하는 경우가 흔합니다.
그 시간이 조금이라도 줄어든다면 교사는 수업과 내용에 더 많은 시간을 사용할 수 있고, 결과적으로 학생들도 더 좋은 자료를 접할 수 있습니다.
저 역시 처음부터 거창한 프로그램을 만들려고 했던 것은 아닙니다. 그저 제가 반복해서 하고 있던 한글 작업이 귀찮았고, 조금 덜 하고 싶어서 시작했습니다. 그런데 그 과정을 따라가다 보니 AI를 활용해 전문적인 업무를 규칙으로 정리하는 방법, 그 규칙을 프로그램으로 옮기는 방법, 그리고 HWPX라는 문서 형식 자체를 이해하게 되었습니다.
아직 프로젝트는 진행 중입니다. 앞으로도 처리하지 못하는 파일이 계속 나올 것이고, 예상하지 못했던 예외를 많이 만나게 될 것이라고 생각합니다.
다만 지금까지 작업하면서 한 가지는 분명하게 느꼈습니다.
HWPX는 AI가 다룰 수 없는 파일이 아닙니다.
단순히 파일을 던져주고 알아서 처리하라고 하는 것과, 그 파일이 어떻게 구성되어 있고 무엇을 보존하고 무엇을 수정해야 하는지를 알려주는 것은 전혀 다른 문제입니다.
제가 몇 달 동안 시행착오를 겪으며 정리한 내용을 공개하면, 다른 분들은 제가 처음부터 겪었던 시행착오 중 상당 부분을 건너뛸 수 있을 것이라고 생각합니다.
우선은 HWPX의 기본적인 내부 구조와 템플릿을 이용한 조판 방식, 스타일 적용, 표와 그림을 다루는 방법, 그리고 간단한 예제부터 차례대로 정리해보려고 합니다.
그리고 가능하다면 이후에는 제가 실제로 GPT에게 어떤 자료를 주고 어떻게 작업을 요청하는지, 코딩 경험이 거의 없는 상태에서 어떤 방식으로 자동화 프로그램을 발전시켜왔는지도 함께 공유해보겠습니다.
궁극적으로는 자료 자동화의 방법이 가능한 한 널리 공유되어, 많은 학생들이 질 좋은 자료로 공부하고 학교와 학원의 선생님들이 지금보다 조금이라도 ‘노가다 한글 작업’에서 벗어날 수 있었으면 합니다.