홈시리즈멘토링

© 2026 정기창. All rights reserved.

본 블로그의 콘텐츠는 CC BY-NC-SA 4.0 라이선스를 따릅니다.

☕후원하기소개JSON Formatter러닝 대기질개인정보처리방침이용약관

© 2026 정기창. All rights reserved.

콘텐츠: CC BY-NC-SA 4.0

☕후원하기
소개|JSON Formatter|러닝 대기질|개인정보처리방침|이용약관

공수 산정 (6) 내가 쓴 문서를 나는 읽을 수 없습니다 — 저주받은 지식을 우회한 기록

정기창·2026년 7월 24일

14페이지짜리 산정서를 완성했습니다. 숫자는 네 가지 방법으로 교차 검증했고, 근거는 전부 원문 인용이었고, 이 산정이 어디까지 믿을 만한지 한계까지 자백해 뒀습니다. 그리고 그 문서는 실패작이었습니다.

더 곤란한 것은 제가 그 사실을 알 방법이 없었다는 점입니다. 제가 썼으니까요. 이건 제가 게을렀다는 이야기가 아닙니다. 저자라는 자리 자체가 자기 문서의 어떤 결함을 볼 수 없게 만듭니다. 이 글은 그 구조를 확인하고 우회해 본 기록입니다.

저주받은 지식 — 아는 사람은 안 읽히는 곳을 못 찾습니다

노래 하나를 정해서 리듬을 손가락으로 두드리고 상대에게 맞히게 하는 유명한 실험이 있습니다. 두드리는 사람은 상대가 당연히 알아들을 거라고 기대하는데, 듣는 쪽은 대부분 맞히지 못합니다. 두드리는 사람 머릿속에는 멜로디가 흐르고 있지만, 듣는 쪽에 도착하는 건 불규칙한 노크 소리뿐이기 때문입니다.

이걸 저주받은 지식(curse of knowledge)이라고 부릅니다. 무언가를 알고 나면 모르던 상태가 어땠는지 재현할 수 없게 되는 현상입니다. 고약한 건 이게 자각되지 않는다는 점입니다. 두드리는 사람은 자기 머릿속에서 멜로디가 재생되고 있다는 사실조차 인식하지 못합니다. 그래서 상대가 못 맞히면 상대가 둔하다고 생각합니다.

제 산정서가 정확히 그 상태였습니다. 저는 이 문서를 처음 읽는 사람처럼 읽을 수가 없습니다. 임계경로가 왜 중요한지, 어떤 산식이 왜 낮게 나오는지 이미 다 알고 있기 때문입니다. 제 머릿속에서는 멜로디가 흐릅니다. 독자에게는 용어만 있습니다.

그래서 백 번을 다시 읽어도 "여기서 독자가 막히겠다"를 못 짚습니다. 막히는 지점이란 정보가 없는 사람에게만 존재하는 것인데, 저에게는 그 정보가 이미 있으니까요. 돌이켜 생각해보면 이건 노력의 문제가 아니었습니다. 더 꼼꼼히 읽는다고 해결되는 종류가 아니라 애초에 관측 자체가 불가능한 구조였습니다.

여기서 해법의 방향이 자동으로 나옵니다. 저자를 더 갈아 넣는 건 답이 아닙니다. 필요한 건 정보 상태가 다른 독자입니다.

필요한 건 페르소나가 아니라 정보 차단이었습니다

그래서 독자를 만들었습니다. 그런데 이 실험에서 제일 중요했던 건 누구를 흉내 내느냐가 아니라 무엇을 안 보여주느냐였습니다.

완성된 PDF 하나만 주고 다른 파일 열람을 전부 금지했습니다. 같은 저장소에 산정 근거도, 중간 계산도, 앞선 논의도 다 있었지만 하나도 열지 못하게 했습니다. 문서에 안 쓰여 있으면 모르는 것으로 취급하게 했습니다.

배경을 알면 그 순간 실험이 무의미해지기 때문입니다. 다른 문서를 읽고 온 독자는 이미 저와 같은 사람입니다. 저주받은 지식을 그대로 물려받은 독자는 독자가 아닙니다. 제가 만들어야 했던 건 특정한 성격이나 취향이 아니라 "모르는 상태" 하나였고, 그 상태는 무엇을 더하는 게 아니라 빼는 방식으로만 만들어집니다.

그러니 이건 원리상 도구를 가리지 않습니다. 사람 리뷰어에게 배경 설명 없이 문서만 건네도 같은 원리가 성립합니다. 제가 에이전트를 쓴 건 그 정보 차단을 손쉽게, 그리고 여러 번 반복해서 만들 수 있었기 때문입니다. 주인공은 도구가 아니라 정보 상태입니다.

독자가 둘이어야 했던 이유

정보를 차단한 독자를 둘 만들었습니다. 읽는 목적이 다르면 같은 문장에서 다른 것이 걸리기 때문입니다.

  • 수신자 — 기획자이자 비개발자. 그리고 검토 대상이 된 기획 문서를 직접 쓴 사람입니다. 즉 자기 기획에 애착이 있습니다.
  • 전달자 — 디자이너. 이 문서를 들고 수신자를 설득해야 하는 사람입니다.

미리 못 박아 둡니다. 이 글에 인용하는 반응은 전부 사람이 아니라 페르소나를 씌운 에이전트의 출력입니다. 실제 인물의 발언이 아닙니다. 이 구분은 글 끝까지 중요하고, 마지막에 이 방법이 어디까지만 유효한지 따로 정리하겠습니다.

전달자 쪽에는 더 구체적인 과제를 줬습니다. 예상되는 반박 네 개를 주고 "문서에서 답을 실제로 찾아보라"고 시켰습니다. 답이 문서에 있느냐 없느냐를 제가 판단하는 게 아니라, 못 찾는 게 나오면 그게 곧 구멍이라는 뜻입니다.

결과 — "문서는 이겼는데 읽히지 않는다"

수신자 쪽 반응은 "세 번 접었다가 세 번 다시 폈다"였습니다. 결국 항복하긴 했습니다. 문제는 전달자 쪽이었습니다.

"그대로는 못 준다."

전달 거부였습니다. 이 문서로 회의를 진행해야 하는 쪽이 이 문서를 들고 갈 수 없다고 한 겁니다. 그리고 그 진단이 정확했습니다.

논쟁에서 이기게 설계됐지, 회의를 굴러가게 설계되지 않았다. 반박은 읽은 사람만 한다. 안 읽는 사람은 반박도 안 하고 그냥 무시한다.

이 한 문장이 제 착각을 정확히 찍었습니다. 저는 예상 반박을 하나하나 막는 데 14페이지를 썼습니다. 그런데 반박을 하려면 일단 읽어야 합니다. 안 읽히는 문서는 반박당하지 않습니다. 그냥 무시당합니다. 결국 제가 이긴 논쟁은 벌어지지도 않을 논쟁이었습니다.

인상이 아니라 수치로 나온 것들

독자 반응은 인상이라 반박하기 쉽습니다. 그래서 세어 봤습니다.

핵심 용어 네 개가 정의 없이 총 114회 사용되고 있었습니다. 그중 하나는 30회를 쓰면서 정의가 한 번도 나오지 않았습니다. 다른 하나는 유일한 풀이가 11쪽에 있었는데, 그 용어는 이미 3쪽에서 결론의 단위로 쓰이고 있었습니다. 결론을 읽는 시점에 그 결론의 단위가 무슨 뜻인지 알 방법이 없었다는 뜻입니다.

전부 저에게는 자명한 말들이었습니다. 저주받은 지식은 이렇게 생긴 자국을 남깁니다.

굵은 글씨 301개, 문장 180개

강조도 세어 봤습니다. 굵은 글씨가 301개, 문장이 약 180개였습니다. 문장당 1.7개입니다.

이건 강조가 아니라 배경입니다. 전부 강조하면 아무것도 강조되지 않습니다. 저는 중요한 걸 강조했다고 생각했지만, 실제로 한 일은 중요도의 차이를 지운 것이었습니다. 저에게는 전부 중요했으니까요.

그래서 최강 논거가 안 보이는 자리에 묻혔습니다

강조가 균일해지면 진짜 중요한 것도 같이 평평해집니다. 예상 반박 1순위는 "AI로 개발하면 빠르잖아요"였고(이 반박을 어떻게 분해했는지는 3편에 썼습니다), 그에 대한 직답이 문서에 분명히 있었습니다. 13쪽 표의 여덟 번째 칸에요.

이 문서에서 가장 중요한 한 줄이 가장 안 읽히는 자리에 있다.

더 압권인 게 있습니다. 전달자가 "세 번 찾았다. 없다. 이 문서의 가장 큰 구멍이다"라고 한 반박 재료가 이미 문서 안에 있었습니다. 표 셀 하나에 묻혀 있었을 뿐입니다.

그러니까 문제는 쓸 게 없는 게 아니었습니다. 꺼낼 수가 없었던 겁니다. 있는데 못 찾는 것과 애초에 없는 것은 독자 입장에서 완전히 같습니다. 이 사실이 이번 실험에서 제일 아팠습니다.

기계적 문체 감사가 실제 독자에게 3전 3패했습니다

독자와 별도로 문체·용어 감사도 돌렸습니다. 어휘 선택, 톤, 반복 표현을 규칙 기준으로 점검하는 쪽입니다. 이쪽이 지적한 것 중 셋이 독자 반응과 정면으로 충돌했습니다. 그리고 매번 독자 쪽이 옳았습니다.

문체 감사의 지적 페르소나 에이전트의 반응 판정
"'조작'은 전투적 어휘다, 빼라" 전달자가 그 문장을 통째로 인용하며 "가장 우아한 답"으로 꼽음 유지
"'인정'이 7회 반복된다, 일괄 교체하라" 두 페르소나 모두 "문서가 이미 인정하고 있습니다"를 설득 지점으로 꼽음 유지
"'무너지다'는 전투적이다" 수신자: "이 문단 때문에 나머지 13페이지를 믿게 됐다" 유지

세 지적 모두 규칙으로는 타당했습니다. 전투적 어휘를 줄이고 반복 표현을 없애는 건 대체로 옳은 조언입니다. 그런데 이 문서에서는 셋 다 틀렸습니다. 규칙이 지목한 표현들이 하필 독자가 가장 강하게 반응한 지점이었습니다. 그대로 따랐으면 문서의 심장을 도려낼 뻔했습니다.

그런데 왜 규칙은 틀리고 독자는 맞았을까요. 뜯어보니 저와 문체 감사가 같은 것을 결여하고 있었습니다. 저는 정보가 너무 많아서 못 봤고, 감사는 규칙만 있고 독자가 없어서 못 봤습니다. 둘 다 문장이 실제로 무슨 일을 하는지 관측할 수 없는 자리에 있었던 겁니다. 볼 수 있었던 건 정보를 차단당한 독자뿐이었습니다. 쌓아둔 규칙이 어느 순간 일을 방해하기 시작한다는 건 에이전트 메모리를 감사하면서도 겪은 적이 있는데, 이번엔 문체 규칙이 그랬습니다.

결국 이렇게 정리했습니다. 규칙은 통계고 독자는 사실입니다. 규칙은 여러 문서에 평균적으로 맞는 일반화이고, 이 문서는 평균이 아니라 하나의 사례입니다. 사례에 대한 직접 증거가 있으면 일반화는 물러나야 합니다.

불편함은 삭제 신호가 아니었습니다

수신자가 가장 불편해한 장이 있었습니다. 상대 기획을 가장 세게 압박하는 부분입니다. 자기 기획에 애착이 있는 사람이 읽으면 기분이 나쁠 수밖에 없는 장이라, 저는 이걸 톤 다운 후보로 보고 있었습니다.

그런데 전달자가 이 장을 명시적으로 사수해 달라고 했습니다.

세다. 기분 나빠할 거다. 그래도 그대로 두시라. 이게 이 문서의 심장이고, 톤을 낮추면 무기가 무뎌진다.

여기서 하나 배웠습니다. 불편함은 제거 신호가 아닙니다. 그리고 더 중요한 건, 두 독자가 충돌했을 때 판정자가 수신자가 아니라 전달자였다는 점입니다. 수신자는 이 문서를 좋아할 이유가 없는 사람입니다. 그의 불쾌감을 기준으로 문서를 깎으면 문서는 무해해지고, 무해한 문서는 아무것도 하지 못합니다.

흥미로운 건 수신자의 분노를 뜯어보니 대부분 세기 때문이 아니었다는 겁니다. 같은 말을 두 번 하는 것 때문이었습니다. 상대 문서를 칭찬하는 대목이 두 번 나오는데, 반응이 이랬습니다. "처음엔 칭찬인 줄 알았는데, 두 번째 읽으니 알리바이로 보인다."

같은 호의도 반복되면 계산으로 읽힙니다. 그러니 답은 톤 다운이 아니라 중복 제거였습니다. 세서 기분 나빴던 게 아니라 반복돼서 의심스러웠던 겁니다. 이 둘을 구분하지 못했으면 저는 엉뚱한 데를 고쳤을 겁니다.

내 지시가 만든 결함 두 건

애석하게도 결함 중 일부는 제가 직접 만든 것이었습니다. 그것도 좋은 의도로요.

첫째, "범위 축소를 제안하지 마라"는 원칙을 걸었습니다. 산정하는 사람이 범위까지 정하면 그건 산정이 아니라 영업이라고 생각했기 때문입니다. 원칙 자체는 지금도 옳다고 봅니다. 문제는 결과였습니다. 마무리 절이 물음표 세 줄로 끝나 버렸고, 전달자 반응이 이랬습니다. "그 원칙 때문에 나는 회의를 못 끝낸다."

회의는 다음 행동이 정해져야 끝납니다. 물음표만 남기고 나오면 그건 아무것도 결정하지 않은 회의가 됩니다. 결국 "제안은 안 하되 계산은 한다"로 풀렸습니다. 무엇을 빼라고 말하지는 않되, 무엇을 빼면 숫자가 어떻게 되는지는 계산해서 놓아두는 것입니다. 선택은 상대가 하고, 선택지의 값은 제가 제공합니다.

둘째, 예상 반박에 대한 답을 「이 산정의 한계」 절에 배치했습니다. 정직해 보이려고 그렇게 했습니다. 그런데 같은 문장이 「한계」라는 제목 아래 놓이는 순간 답이 아니라 변명으로 읽혔습니다. 배치가 문장의 뜻을 바꿔 버린 겁니다. 여기서도 빼는 게 답이 아니었습니다. 승격이 답이었습니다.

고친 것

진단이 이 정도로 구체적이면 수정은 오히려 단순해집니다.

  • 표지 앞에 1페이지 요약본을 신설했습니다. 전달자가 회의에서 실제로 쓸 도구입니다.
  • 용어 풀이 네 줄을 각 용어의 첫 등장 위치에 넣었습니다. 뒤쪽에 모아두면 없는 것과 같습니다.
  • 묻힌 논거 두 개를 표 셀에서 꺼내 독립 문단으로 승격했습니다.
  • 굵은 글씨를 301개에서 34개로 줄였습니다. 페이지당 두 개꼴입니다.
  • 전문 용어는 부록으로 이관했습니다.

마지막 항목이 특히 부끄러웠습니다. 검증하는 사람은 부록을 보고 기획하는 사람은 본문을 봅니다. 문서마다 독자가 다르다는 건 기획 문서를 종류별로 정리하면서 이미 알고 있던 이야기인데, 정작 제 문서에서는 두 독자를 한 본문에 밀어 넣고 둘 다 못 읽게 만들고 있었습니다.

그리고 제일 반직관적이었던 건 강조를 줄인 것입니다. 강조를 줄이는 것이 강조를 만드는 유일한 방법입니다. 301개일 때 이 문서에 강조된 문장은 사실상 0개였고, 34개가 되고 나서야 비로소 34개가 됐습니다. 고백하자면 이 글을 쓰면서도 굵은 글씨를 몇 번이나 지웠습니다.

이 방법의 한계 — 정보 결함은 잡지만 반응은 못 맞힙니다

여기까지 읽고 "페르소나 에이전트로 독자 반응을 예측할 수 있다"고 정리하면 곤란합니다. 그건 제가 주장할 수 있는 범위를 한참 넘습니다.

에이전트는 그 사람이 아닙니다. 실제 수신자가 이 문서를 어떻게 받아들일지, 정말 화를 낼지, 어느 대목에서 설득될지는 여전히 모릅니다. 페르소나 반응을 실제 반응의 예측치로 쓰면 안 됩니다. 그건 그냥 그럴듯한 소설입니다.

다만 이 실험이 실제로 잡아낸 것들을 보면 성격이 조금 다릅니다.

  • 이 용어가 설명 없이 나온다
  • 이 문장이 무슨 뜻인지 모르겠다
  • 이 답을 찾으려고 세 번 뒤졌는데 못 찾겠다
  • 여기서 기분이 나쁘다

이건 취향이나 성격의 문제가 아니라 정보 상태의 문제입니다. 그리고 정보 상태는 사람과 달리 복제할 수 있습니다. 문서만 주고 나머지를 막으면 그 독자는 진짜로 모릅니다. 모르는 상태에서 읽으면 설명 없는 용어는 진짜로 걸리고, 표 여덟 번째 칸은 진짜로 안 보입니다.

그러니 경계는 이렇게 그어집니다. 사람은 복제할 수 없지만 무지는 복제할 수 있습니다. 저주받은 지식이 저에게서 앗아간 것이 정확히 그 무지였고, 이 실험이 돌려준 것도 그것 하나입니다. 딱 그만큼만 주장하겠습니다 — 독자의 반응은 예측하지 못하지만, 문서의 정보 결함은 신뢰할 만하게 짚어냅니다. 저는 후자만 받았고, 후자만으로도 문서가 바뀌었습니다.

교훈

자기가 쓴 문서의 가독성은 자기가 판정할 수 없습니다. 노력이 아니라 구조의 문제입니다. 저주받은 지식은 저자에게서 "모르는 상태"를 영구히 앗아가고, 그건 다시 읽는다고 돌아오지 않습니다. 그러니 판정은 반드시 밖에서 와야 합니다.

정확한 문서와 설득하는 문서는 다릅니다. 저는 정확성에 14페이지를 썼는데 그게 전달을 보장하지 않았습니다. 안 읽히면 정확성은 0입니다. 곱해지는 값이라, 앞이 아무리 커도 뒤가 0이면 전체가 0입니다.

문체 규칙보다 실제 독자 반응이 상위입니다. 규칙은 통계고 독자는 사실입니다. 3전 3패가 그걸 보여줬습니다.

그리고 전달자가 있는 문서라면 판정자는 수신자가 아니라 전달자입니다. 그가 설명할 수 없는 문장은 존재하지 않는 것과 같습니다. 아무리 정교해도 전달자의 입을 통과하지 못하면 그 문장은 회의실에 도착조차 하지 못합니다.

여섯 편을 닫으며

이 시리즈를 1편부터 다시 훑어보니 하나로 꿰이는 게 있었습니다.

1편에서 저는 시급에서 시간을 역산해 놓고 그걸 추정이라고 믿고 있었습니다. 그 사실을 찾아낸 건 제가 아니라 검증하려고 띄운 외부의 시선이었습니다. 2편에서는 입력이 겹치지 않는 네 가지 방법으로 교차 검증하면서, 불일치를 숨기지 않고 먼저 공개하는 편이 문서를 강하게 만든다는 걸 배웠습니다. 3편에서는 AI 가속을 일괄 계수 대신 압축 등급으로 쪼갰고, 못 줄이는 부분이 결국 바닥을 만든다는 것을 확인했습니다. 4편에서는 재사용 자산을 실사했더니 견적이 내려가는 게 아니라 정확해졌습니다. 5편에서는 상대 문서가 스스로 규정한 제약으로 상대 일정을 반박했습니다.

그리고 6편에서, 그렇게 만든 문서가 안 읽혔습니다.

결국 1편과 6편이 같은 이야기였다는 생각이 들었습니다. 1편은 제 추정을 제가 검증할 수 없었고, 6편은 제 문장을 제가 판정할 수 없었습니다. 둘 다 제가 저를 못 보는 자리였고, 둘 다 밖에서 봐줘야 보였습니다. 다른 건 대상뿐입니다. 한 번은 숫자였고, 한 번은 문장이었습니다.

공수 산정으로 여섯 편을 쓰고 남은 결론이 방법론이 아니라는 게 조금 뜻밖입니다. 아무리 정교하게 계산해도, 그 계산을 검증해 줄 시선과 그 결론을 옮겨 줄 사람이 없으면 문서는 서랍에서 끝납니다. 산정은 숫자를 만드는 일이 아니라, 그 숫자가 다른 사람의 머릿속에 도착하게 만드는 일이었습니다. 이걸 6편에 와서야 알았습니다.

공수 산정저주받은 지식인지 편향테크니컬 라이팅문서 가독성AI 에이전트페르소나 테스트

관련 글

공수 산정 (1) 예산에 맞춰 범위를 줄였는데, 그 범위도 예산에 안 맞았습니다

예산이 고정된 외주에서 "이 예산이면 여기까지 됩니다"를 계산해 제시하는 건 옳은 접근입니다. 그런데 예산을 시급 하한으로 나눈 107시간에 맞춰 범위를 줄인 뒤, 같은 범위를 예산과 무관하게 다시 재니 137시간이었습니다. 28% 차이가 어디서 왔는지의 기록입니다.

관련도 93%

AI 코딩 에이전트의 메모리도 결국 부채가 됩니다 — 감사와 정리의 기록

AI 코딩 에이전트에 규칙과 메모리를 부지런히 쌓았지만, 어느 순간부터 그 기억이 되려 발목을 잡기 시작했습니다. 가장 위험했던 '폐기된 정책의 화석'부터 메모리 부채의 유형을 정리하고, 적대적 검증·3진 판정·근거 부담 차등으로 감사해 걷어낸 과정을 돌아봅니다.

관련도 93%

공수 산정 (4) 재사용할 코드가 63시간어치 있었는데 견적은 28% 올랐습니다

"이미 만들어 둔 게 많으니 재사용하면 빨라지지 않나." 추측으로 답하지 않으려고 코드베이스를 실사해 재사용 자산을 63시간어치 찾았습니다. 그런데 견적은 오히려 28% 올랐습니다. 자산이 몰린 자리와 견적이 튀는 자리가 정확히 어긋나 있었기 때문입니다.

관련도 92%