๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ํ๊ธ(HWP/HWPX) ๊ณต๋ฌธ์๋ฅผ, ์๋ฌธ์ ์น์ ๊ณ์ธต(๋๋ถ๋ฅยท์ค๋ถ๋ฅยท์ฒจ๋ถ)์ ๋ณด์กดํ ์ฑ Markdown์ผ๋ก ๋ณํํ๋ Claude Code Skill์ด๋ค. ํ๊ตญ ๊ณต๊ณต๊ธฐ๊ด ์ ์ฐฐ๊ณต๊ณ ๋ฌธ 42๊ฑด์ ๋์์ผ๋ก ๊ฒ์ฆํ๋ค.
Claude Code์ ํจ๊ป ์ค๊ณยท๊ตฌํํ๋ค. ์ํคํ ์ฒ ๊ฒฐ์ (2-pass ๋ถ๋ฆฌ, ๊ฒฐ์ ๋ก ์ ์์ ๋ง ๊ท์น ๋ฑ)์ ์ค์ ์คํจ ์ฌ๋ก๋ฅผ ๊ทผ๊ฑฐ๋ก ์ธ์ ์ค ๋ฐ๋ณต์ ์ผ๋ก ๊ฒ์ฆยท์์ ํ ๊ฒ์ด๋ค โ ๊ทธ ๊ณผ์ ์
docs/DESIGN_PROCESS.md์ ์ ๋ฆฌํ๋ค.
HWPโMarkdown ๋ณํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(์: kordoc)๋ ํยท์์ยท
์ฝ๊ธฐ ์์๋ ์ถฉ์คํ ๋ณด์กดํ์ง๋ง, "์ด ์ค์ด ์ต์์ ์น์
์ ๋ชฉ์ธ์ง, ๊ทธ ํ์ ์ธ๋ถํญ๋ชฉ์ธ์ง, ์๋๋ฉด ์๋ช
๋
๊ฐ์ ๋น-ํค๋์ธ์ง"๋ ํ๋จํ์ง ๋ชปํ๋ค. ์๋ฌธ ์คํ์ผ ๋ฉํ๋ฐ์ดํฐ(ํฐํธ ํฌ๊ธฐ, ๋ณผ๋ ์ฌ๋ถ)๋ง์ผ๋ก๋ ๊ณ์ธต์
์์ ์ ์ผ๋ก ์ฌ๊ตฌ์ฑํ ์ ์๋ค โ ๊ฐ์ "1. 2. 3." ๋ฒํธ ๋งค๊น์ด ๋ฌธ์ ์ต์์ ์น์
์๋, ๊ทธ ์์
์ฒดํฌ๋ฆฌ์คํธ์๋, ๋ณ๋ ์ฒจ๋ถ(๋ถ์/์์)์๋ ๋ฐ๋ณตํด์ ์ฐ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ ๋ค๊ณ LLM์๊ฒ ๋ฌธ์ ์ ์ฒด๋ฅผ
ํต์งธ๋ก ๋ค์ ์ฐ๊ฒ ํ๋ฉด, ๋ฌธ๋จ์ด ๋น ์ง๊ฑฐ๋ ์๋ ํค๋๊ฐ ์๊ธฐ๋ ๋ฑ ์ฝํ
์ธ ์์ค ์ํ์ด ์๊ธด๋ค.
์ด ํ๋ก์ ํธ์ ํต์ฌ ์ค๊ณ ์์น์ ํ๋๋ค โ LLM์ ํ๋จ๋ง ํ๊ณ , ๋ฌธ์๋ฅผ ๋ค์ ์ฐ์ง ์๋๋ค.
flowchart TD
A["HWP/HWPX ํ์ผ"] -->|"kordoc --format json"| B["Stage1\nJSON blocks๋ก Markdown ์ด์ ์กฐ๋ฆฝ\n1ร1 ํ
์คํธ๋ฐ์ค๋ ๋ง์ปค๋ก ๊ฒฝ๊ณ ๋ณด์กด(๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง, LLM ํธ์ถ ์์)"]
B -->|"ํ๋ฌธ ํ
์คํธ"| C["Pass1a\n๊ท์น ๊ธฐ๋ฐ ํค๋ ํ๋ณด ์ถ์ถ\n๋ณผ๋ ๋จ๋
์ค ยท ๋ฒํธ ๋งค๊น ยท ๊ดํธ ๋ง์ปค(recall ์ฐ์ , ์คํ์ ํ์ฉ)"]
C -->|"ํ๋ณด ๋ชฉ๋ก๋ง ์ ๋ฌ(์๋ฌธ ์๋)"| D["Pass1b\nLLM์ด ํ๋ณด๋ณ ๊ณ์ธต ํ๋จ\nmain / sub / attachment / not_heading"]
D -->|"์ ๊ณต์ API๊ฐ ํ ํฐ ํ๋ ์ด๊ณผ๋ฅผ ์๋ ค์ค"| E["์ค์ธก Limit/Requested ๋น์จ๋ก\n๋ฐฐ์น๋ฅผ ์๋ ์ถ์"]
E -.->|"์ถ์๋ ๋ฐฐ์น๋ก ์ฌํธ์ถ"| D
D -->|"๋ถ๋ฅ ๊ฒฐ๊ณผ"| F["๊ฒฐ์ ๋ก ์ ์์ ๋ง\n๋ฐ์คยท์์ ์ค์ฝํ ๋ด๋ถ๋ ํ์๋ก ๊ฐ๋ฑ\n์๋ช
๋(~๊ทํ ยท ~(์ธ))์ ํค๋์์ ์ ์ธ"]
F -->|"ํ์ ๋ ํค๋ ์์น"| G["Pass2\nํค๋ ๋งํฌ(##/###)๋ง ์ฝ์
\n๋ณธ๋ฌธ์ ํ ๊ธ์๋ ์ฌ์์ฑํ์ง ์์"]
G --> H["์ต์ข
Markdown"]
ํ๋จ๊ณผ ๋ณํ์ ๋ถ๋ฆฌํ๋ค โ ํ๋ณด๋ฅผ ๋ฝ๋ ๊ท์น(Pass1a)๊ณผ ๋ฌธ์ฅ์ ๋ค์ ์ฐ๋ ์ผ(Pass2)์ LLM์ ์ ์ด๋ค. LLM์ ์ค์ง "์ด ์ค์ด ํค๋์ธ๊ฐ"๋ผ๋ ์ข์ ํ๋จ(Pass1b)์๋ง ์ฐ์ฌ์, ๋ฌธ๋จ ๋๋ฝ์ด๋ ํค๋ ๋ ์กฐ ๊ฐ์ ์ํ์ด ์ค๊ณ์ ์ผ๋ก ๋ฐฐ์ ๋๋ค.
ํ๋ณด ๋ชฉ๋ก๋ง LLM์ ๋๊ธฐ๊ธฐ ๋๋ฌธ์ ๋ฌธ์๊ฐ ๊ธธ์ด์ ธ๋ LLM ํธ์ถ ๋น์ฉ์ด ๊ฑฐ์ ๋์ง ์๊ณ , LLM์ด "ํ๋จ"๋ง ํ๊ณ "์์ฑ"์ ํ์ง ์์ผ๋ฏ๋ก ๋ฌธ๋จ ๋๋ฝยทํค๋ ๋ ์กฐ ๊ฐ์ ์ํ์ด ์ค๊ณ์ ์ผ๋ก ๋ฐฐ์ ๋๋ค.
LLM ๋ถ๋ฅ๋ง์ผ๋ก๋ ๋ฐ๋ณต๋๋ ํจํด์ ๋์ณค๋ค. ์๋ฅผ ๋ค์ด:
- ํ
์คํธ๋ฐ์ค(์ฝ์์) ๋ด๋ถ ์ฝํ
์ธ : ์๋ณธ HWP์ 1ร1 ํ
์คํธ๋ฐ์ค ์ ์ฒดํฌ๋ฆฌ์คํธ๊ฐ ๋ฌธ์ ์ต์์ ์น์
๋ฒํธ์ ๊ฒน์น๋ ๋ฒํธ๋ฅผ ์ฐ๋ ๊ฒฝ์ฐ, LLM์ด ๋ฌธ๋งฅ ์์ด ๋ฒํธ๋ง ๋ณด๊ณ ์ต์์๋ก ์ค๋ถ๋ฅํ๋ค. kordoc JSON์
rows==1, cols==1ํ ์ ๋ณด๋ฅผ ์ด์ฉํด ๊ฒฝ๊ณ๋ฅผ ๋ณด์กดํ๊ณ , ๋ฐ์ค ์ ์ฝํ ์ธ ๋ ํญ์ ํ์๋ก ๊ฐ์ ํ๋ค. - ์ฒจ๋ถ(๋ถ์/์์) ์ค์ฝํ ๋ด๋ถ ์ฝํ ์ธ : "ใ์์ 7ใ ์ดํ๋ฅ๋ ฅ์ฌ์ฌ..." ๊ฐ์ ๊ดํธ ๋ง์ปค๋ก ์์ํ๋ ์ฒจ๋ถ ๋ฌธ์ ๋ด๋ถ์ ์์ ๋ชฉ("3. ํ์ฌ๋ฅผ ๋ํํ๋ ์ฐ๋ฝ์ฑ ์์ ์ธ์ ์ฌํญ" ๋ฑ)์ด ๋ฌธ๋งฅ ์์ด ์ต์์ ์น์ ์ผ๋ก ์ค๋ถ๋ฅ๋๋ค. ๊ดํธ ๋ง์ปค ๊ตฌ์กฐ(ํน์ ๋จ์ด๋ฅผ ํ๋์ฝ๋ฉํ์ง ์์)๋ก ์ต์ปค๋ฅผ ์ก๊ณ , ๊ทธ ์ต์ปค๋ถํฐ ๋ค์ ๋ง์ปค ์ ๊น์ง๋ฅผ ์ค์ฝํ๋ก ์ก์ ๋ด๋ถ ์ฝํ ์ธ ๋ฅผ ํ์๋ก ๊ฐ๋ฑํ๋ค.
- ์๋ช /๋ ์ธ๋: "OO ๊ทํ"(์์ ์ฒ ์ธ์ฌ๋ง), "๋ํ์: (์ธ)"(์์ฐฐ์ ์๋ช ๋) ๊ฐ์ ์ค์ด ๊ฐํ์ ์ผ๋ก ํค๋๋ก ์ค๋ถ๋ฅ๋๋ค. ๋ ํจํด ๋ชจ๋ 42๊ฐ ๋ฌธ์ ์ ์ ์กฐ์ฌ์์ ์คํ 0๊ฑด์ผ๋ก ํ์ธ๋ ์์ ํ ๊ฒฐ์ ๋ก ์ ๊ท์น์ผ๋ก ์ฒ๋ฆฌํ๋ค.
์ด๋ฐ ๊ท์น์ ๋ชจ๋ "์ด๋ฏธ LLM์ด ํ์ ํ ํ๋จ"์ด๋ "๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ณด์กดํ ๊ตฌ์กฐ ์ ๋ณด"์๋ง ๋ฐ์ํ๋ ์ข์ ๋ฒ์๋ก ์ค๊ณํ๋ค โ "๋ฒํธ๊ฐ ์ด์ด์ง๋ฉด ์ต์์" ๊ฐ์ ์ ์ญ ๊ท์น์ ์๋์ ์ผ๋ก ์ฐ์ง ์๋๋ค. ๋ถ์/๋ณ์ฒจ์์ ๋ฒํธ๊ฐ ์ ๋นํ๊ฒ 1๋ถํฐ ๋ฆฌ์ ๋๋ ๊ฒฝ์ฐ๋ฅผ ์คํํด์ ๋ฐ๋ณต์ ์ผ๋ก ์คํจํ๊ธฐ ๋๋ฌธ์ด๋ค.
ํ๊ตญ ๋๋ผ์ฅํฐ(๊ตญ๊ฐ์ข ํฉ์ ์์กฐ๋ฌ์์คํ )์ ๊ฒ์๋ ์ค์ ์ ์ฐฐ๊ณต๊ณ ๋ฌธ 42๊ฑด(ํ๊ตยท๊ณต๊ณต๊ธฐ๊ด ๋ฐ์ฃผ, ๋ฌผํ ๊ตฌ๋งคยท๊ณต์ฌยท์ฉ์ญ ๋ฑ ๋ค์ํ ์ ํ)์ผ๋ก ๊ฒ์ฆํ๋ค. ์๋ณธ ๋ฌธ์ ์์ฒด๋ ์ค์ ๊ธฐ๊ด์ ์ ์๋ฌผ์ด๋ผ ์ด ์ ์ฅ์์ ํฌํจํ์ง ์๋๋ค(์ฐธ๊ณ : ํ๊ตญ ์ ์๊ถ๋ฒ ์ 7์กฐ 2ํธ์ ๋ฐ๋ผ ๊ตญ๊ฐยท์ง๋ฐฉ์์น๋จ์ฒด์ ๊ณต๊ณ ๋ ์ ์๊ถ ๋ณดํธ ๋์์ด ์๋๋ค). ๊ฒ์ฆ ์งํ:
- ์ฝํ ์ธ ๋ณด์กด์จ: Stage1(์๋ฌธ ์ถ์ถ) ๋๋น Pass2(์ต์ข ์ถ๋ ฅ) ๋ฌธ์ ์ ๋น์จ 42๊ฑด ์ ์ฒด 0.95~1.10 ๋ฒ์ โ ํค๋ ๋งํฌ ์ฝ์ ์ธ ๋ณธ๋ฌธ ์ ์ค/์๊ณก ์์
- ์น์ ๋ฒํธ ์ฐ์์ฑ: main_section ๋ฒํธ ์ํ์ค 42๊ฑด ์ ์ฒด์์ ์ค๋ณตยท๋น์ ์ ๊ฐญ 0๊ฑด
- ํ ๊ตฌ์กฐ: rowspan/colspan ๋ณํฉ ์
์ฒ๋ฆฌ, ๋ฐ์ค ํ๊ทธยทPUA ์ ๋์ฝ๋ ์์ฌ ์ ๊ฑฐ. ์ค์ ํค๋๊ฐ
์๋ ํ(๋ผ๋ฒจ:๊ฐ ๋์ดํ)๋ 2๋จ ํค๋(๋๋ถ๋ฅ+์๋ถ๋ฅ) ํ๋ GFM pipe-table ๋ฌธ๋ฒ์ด ํค๋ ํ์
๊ฐ์ ํ๋ ๊ฒ๊ณผ ๋ฌด๊ดํ๊ฒ ์ ํํ ์ฒ๋ฆฌํ๋ค โ ํค๋ ์๋ ํ๋ ์ ์ด์ ํ๋ก ์ ๋ง๋ค๊ณ
label: valueํ ์คํธ๋ก ์งํํ๊ณ , ์ฐ์๋ ํค๋ ํ์ ์ปฌ๋ผ๋ณ๋ก ํ๋๋ก ํฉ์น๋ค(normalize_html_tables.py). RAG ํ์๋ก ์ธ ๋(๋ค์ด์คํธ๋ฆผ์ด ํ๋ฅผ ์์ฐ์ด๋ก ๋ค์ ํํํํ๋ ๊ฒฝ์ฐ) ๋ค์ด์คํธ๋ฆผ์ด "์ด๊ฒ ์ง์ง ํค๋์ธ์ง ์์ฅ๋ ํค๋์ธ์ง"๋ฅผ ํ ์คํธ ํจํด๋ง์ผ๋ก ์ถ์ธกํ ํ์๊ฐ ์์ด์ง๋ค.
SKILL.md ์ฐธ๊ณ .
MIT