#검토하던 방식을 실제 글에 써 봤다
작은 자료함에서 벡터 검색을 먼저 넣지 않은 이유에서는 필요한 원문을 먼저 고르고 반복 입력을 줄이는 방식을 검토했다. 당시 글은 개선안을 적용하기 전 상태에서 끝났다.
후속 시험에서는 새 요청 6개를 놓고 출처 선택부터 문안 작성과 검사까지 진행했다. 이력서 두 문장, 블로그 원고, 포트폴리오 구성안, 회고를 섞은 소개를 만들었다. 무관한 경험이나 근거 없는 성과를 요구하는 요청도 포함했다.
작성에는 필요한 사례와 최신 정정을 먼저 읽었다. 어떤 원문에서 가져왔는지, 그 자료에서 맡은 역할과 결과가 무엇인지 함께 남겼다. 모든 자료를 읽은 뒤 줄이는 방식 대신 요청에 필요한 자료를 선택해 보는 시험이었다.
구현은 자체 Python CLI와 JSON 출처 목록이었다. 허용한 Markdown 파일에 source_id, 역할, SHA-256, 읽을 행 범위를 등록했다. 요청에서는 필요한 출처를 명시적으로 고르고, 초안의 주장마다 어느 원문의 몇 행을 인용했는지 연결했다. 자료를 고르는 과정과 선택한 자료가 그대로인지 검사하는 과정을 나눠 보려 했다.
파일 확인에는 Python 표준 라이브러리 hashlib의 SHA-256을 썼다. hashlib 공식 문서는 바이트에서 해시를 계산하는 API 설명이다. 아래의 출처 계약은 이 API를 이용해 따로 만든 것이며, 문서가 문장 의미까지 검증해 주는 것은 아니다.
#검사기가 읽은 것
validate_brief는 현재 출처 목록에서 근거를 다시 읽어 후보와 대조했다. 원문 파일의 해시가 등록값과 같은지 확인한 뒤, 인용 행이 허용 범위 안에 있고 그 행의 문자열과 quote가 정확히 같은지 검사했다.
| 입력 | 검사 | 막는 문제 |
|---|---|---|
source_id | 등록된 출처인가 | 없는 출처 연결 |
file_sha256 | 현재 원문과 같은가 | 바뀐 원문 인용 |
행 범위·quote | 허용 행·문자열 일치 | 범위 밖·변형 인용 |
| 출처 역할 | 사실·맥락·규칙 구분 | 참고를 수행 사실로 사용 |
공개용 후보라면 출처에 공개 검토 표시가 있는지도 검사했다. 그래도 이 표의 통과가 곧 “이 문장이 사실이다”라는 판정은 아니었다. 해시는 어떤 파일을 읽었는지 고정하고, 행 검사는 어디를 인용했는지 고정한다. 그 부분이 주장한 역할과 성과를 뒷받침하는지는 따로 읽어야 했다.
#네 초안과 두 보류
6개 요청 중 4개는 내부 초안과 출처 검사를 마쳤다. 나머지 2개는 근거가 없거나 정정 기록과 충돌해 보류했다.
여기서 검사 결과 ready는 출처 계약을 통과했다는 뜻이었다. 공개해도 되는 글이라는 승인이나 실제 사용자에게 유용했다는 결과는 아니었다.
작성한 4개 요청에서는 노트 입력까지 포함한 문자 수가 38,029자에서 23,376자로 줄었다. 감소율은 38.53%였다. 필요한 원문·해시·행·역할·정정이 두 방식에서 동일한지도 확인했다.
다른 고정 질문 10개를 비교했을 때의 42.08%와는 표본이 다르다. 두 비율을 합치지 않았다. 문자 수가 줄었다고 실제 토큰이나 요금, 전체 작성 시간도 같은 비율로 줄었다고 쓰지는 않았다. 일부 선택 실행은 기존 방식보다 느렸고, 완성된 답변끼리의 A/B 비교도 하지 않았다.
#출처를 그대로 두고 문장만 바꿨다
한계는 별도 대조군에서 드러났다. 정확한 인용을 유지한 채 문장을 고의로 과장했다. 실제로 만들지 않은 자동화 시스템을 개발했다고 쓰고, 측정하지 않은 50% 시간 절감까지 넣었다.
충돌 메모를 지우자 검사기는 ready / errors=[]를 반환했다. source_id와 해시·행 범위·인용문을 바꾸지 않았으므로 출처 연결은 그대로 통과했다. 그러나 원문에는 없던 자동화 구현과 50% 절감을 주장한 문장도 남았다. 이 대조군으로 출처의 정확성과 주장의 진실성이 서로 다른 검사임을 확인했다.
원래의 과장 요청을 보류할 수 있었던 이유도 분명히 적었다. Codex가 최신 정정을 읽고 충돌과 미측정을 표시했기 때문이다. 자동 검사기가 스스로 50%라는 숫자의 거짓을 찾아낸 것은 아니었다. 고의로 바꾼 대조군은 폐기 대상이며 작성한 4개 초안에 포함하지 않았다.
#누구의 경험인지도 읽어야 했다
자료를 찾은 뒤에도 맡은 역할과 경험의 범위를 읽어야 했다. 본인의 수행 경험인지 다른 사람의 사례인지, 교육을 한 것인지 받은 것인지, 구현한 기능인지 검토만 한 것인지가 달랐다.
출처가 정확하게 붙으면 읽는 쪽은 문장까지 검증됐다고 느끼기 쉽다. 이번 시험에서는 출처 검사와 내용 대조를 따로 남겼다. 원문이 바뀌지 않았음을 확인하는 일은 필요하지만, 문장을 바르게 썼다는 답까지 주지는 않았다.
시험도 한계가 있다. Codex가 요청을 만들고 자료를 고르고 초안을 쓴 뒤 대조까지 수행했다. 독립된 검토자가 같은 결과를 얻는지, 사용자가 다시 쓸 때도 시간을 줄이는지는 확인하지 않았다. 새로운 분야나 등록하지 않은 사례의 판단 품질도 시험 밖이다.
자료함을 쓰는 방향은 이어갈 수 있겠다. 필요한 원문을 덜 중복해서 읽은 결과는 남았다. 다만 마지막 문장의 역할과 성과를 읽는 일은 검사 통과 표시 뒤에도 남아 있었다.