
학습목표 / 사전지식: 이 레슨의 목표는 PDF나 계약서처럼 문장 중심으로 된 자료에서 필요한 항목만 뽑아 표로 정리하는 흐름을 익히는 것이다. 선수지식은 없다고 가정하고, 화면에서 무엇을 보고 무엇을 입력하는지부터 따라간다.
문서 추출은 긴 글을 짧게 줄이는 요약이 아니라, 문서 안에 박혀 있는 값을 정해진 칸으로 옮겨 담는 일이다. 이 수업에서는 계약서의 당사자, 날짜, 금액, 해지 조건처럼 서로 비교해야 하는 값을 표의 열로 끌어내는 장면을 기준으로 삼는다.
비정형 문서: 줄과 칸이 처음부터 표처럼 고정되어 있지 않고, 문장·조항·각주처럼 흩어져 있는 문서를 이 수업에서 부르는 말이다.
이 작업이 중요한 이유는 법무·분석 영역에서 문서를 사람이 일일이 훑는 흐름이 반복되기 때문이다. 근거 자료는 법무·분석 맥락을 “수동 검토 대체(137배 주역)”라고 제시한다. [GL-10]
여기서 사용하는 코덱스 기능은 Skills다. Skills는 지시문, 리소스, 선택 스크립트를 한 묶음으로 보관하는 방식이며, 근거 자료는 이를 "packaging instructions, resources, and optional scripts"라고 설명한다. [OF-05]
Skill은 주방의 계량컵에 가깝다. 매번 “대충 적당히 뽑아줘”라고 말하는 대신, 어떤 칸에 어떤 기준으로 담을지 미리 정해 두는 장치로 생각하면 된다. [OF-05]
progressive disclosure: 처음부터 모든 설명을 펼치지 않고, 필요한 순간에 필요한 지시만 꺼내 쓰는 방식이다. Skills는 명시 호출과 암묵 호출, progressive disclosure 흐름을 가진다. [OF-05]
실습은 코덱스의 새 대화 화면에서 시작한다고 가정한다. 화면 아래 입력창, 파일 첨부 버튼, 전송 버튼을 차례로 확인한다.
먼저 실습용 예시 계약서 PDF를 준비한다.
입력창 옆의 파일 첨부 버튼을 눌러 PDF를 올리고, 파일명이 입력창 근처에 붙어 있는지 본다. 파일명이 보이면 다음 단계로 넘어간다.
1단계는 “요약”이 아니라 “추출할 칸”을 먼저 정하는 것이다. 입력창에 아래 프롬프트를 붙여 넣고 전송한다.
Use the document extraction skill.
Extract key contract data from the uploaded PDF and return a clean table.
Columns:
- Document title
- Parties
- Effective date
- Term
- Renewal
- Payment amount
- Payment schedule
- Termination clause
- Governing law
- Missing or unclear fields
Rules:
- Do not guess.
- If a value is not found, write "Not found".
- Include short evidence snippets from the document for each extracted value.
2단계는 1차 표를 읽는 것이다. 화면에는 열 이름이 있는 표가 나오고, 값이 확인되지 않은 칸에는 “Not found”가 들어가야 한다.
이때 “Not found”는 실패 표시가 아니라 추측을 막는 안전장치로 본다. 법무·분석 문맥에서 수동 검토를 대체하려면, 없는 값을 지어내지 않는 기준이 먼저 필요하다. [GL-10]
3단계는 표를 다시 정리하는 것이다. 1차 표가 맞아 보여도 날짜 형식, 한 문서당 한 행, 근거 문구 보존 여부를 한 번 더 고정한다.
Normalize the table.
Use one row per contract.
Standardize explicit dates as YYYY-MM-DD.
Keep original wording in the evidence column.
Do not add risk notes unless the document text supports them.
4단계는 다른 도구에 붙여 넣을 수 있게 출력 형식을 요청하는 것이다. 표는 사람이 보기 좋게 받고, CSV-ready 블록은 스프레드시트에 옮기기 쉽게 받는다.
Return the final result as a markdown table.
Then provide a CSV-ready version in a fenced code block.
아래 프롬프트에서 바꿀 곳은 Fields뿐이다. 계약서가 아니라 견적서나 보고서여도, 뽑을 칸만 바꾸면 같은 흐름으로 연습할 수 있다.
Use the document extraction skill for the uploaded document.
Goal:
Convert this unstructured document into a structured table.
Fields:
[필드 1]
[필드 2]
[필드 3]
Extraction rules:
- Extract only what is present in the document.
- Do not infer missing values.
- Mark missing fields as "Not found".
- Preserve short source wording for verification.
- Return a markdown table first, then a CSV-ready block.
“Fields”는 빈 표의 머리글이다. 머리글이 흐리면 결과도 흔들리므로, 사람 이름·계약일·금액처럼 나중에 비교할 이름으로 적는다.
“Do not infer”는 추측하지 말라는 잠금장치다. 문서 안에 없는 값을 채우면 표는 깔끔해 보여도 검토 자료로 쓰기 어려워진다.
Skill로 고정할 때는 아래처럼 짧고 단호하게 적는다. Skills는 지시문, 리소스, 선택 스크립트를 묶는 방식이므로 반복할 규칙을 한곳에 담는 데 맞다. [OF-05]
You extract structured data from uploaded business documents.
Ask what fields to extract if the fields are not provided.
Never guess missing values.
Return a clean table with evidence snippets.
Use progressive disclosure for document extraction rules.
첫 응용은 문서 종류만 갈아 끼우는 것이다. 계약서라면 당사자와 조항을, 견적서라면 품목과 금액을, 보고서라면 지표와 기간을 Fields에 넣어 쓰면 된다.
다음은 여러 문서를 같은 표에 모아 비교하는 것이다. 처음부터 파일을 한꺼번에 넣기보다, 한 문서로 Fields와 Rules를 맞춰 본 뒤 같은 기준을 반복하는 편이 헷갈리지 않는다.
가장 흔한 함정은 “중요한 내용 알아서 뽑아줘”라고 시작하는 것이다. Skills는 반복 규칙을 담는 묶음이므로, 무엇을 중요하다고 볼지 먼저 적어야 같은 기준으로 다시 쓸 수 있다. [OF-05]
두 번째 함정은 근거 문구 없이 표만 받는 것이다. 법무·분석 문맥에서 수동 검토를 대체하려면 값이 어디서 왔는지 되짚을 수 있어야 한다. [GL-10]
오늘의 순서는 파일 업로드, Fields 지정, 추측 금지, 근거 문구 포함, 표와 CSV-ready 출력이다.
체크리스트는 다섯 줄이면 충분하다.
이 흐름을 Skill로 저장하면 다음 문서에서도 같은 지시를 다시 사용할 수 있다. Skills는 지시문·리소스·선택 스크립트를 묶고, 명시·암묵 호출과 progressive disclosure 흐름으로 쓰이는 기능이다. [OF-05]
본문의 [...] 표기는 아래 근거에서 확인할 수 있습니다.