5부. 실전 사례
5.4. 검증 환경 — 감사조서 하네스
AI에게 초안을 맡기되 그대로 믿지 않기 위해, 칸마다 권한을 색으로 나누고 인용 못 대면 못 쓰게 막는 환경을 짰습니다.
앞 사례에서는 이미 만들어진 재무제표를 검증했습니다. 코드가 합계를 다시 계산하고, AI는 그중 진짜 오류만 골라내는 구조였습니다.
이번에는 검증의 대상이 달라집니다. AI가 '직접 쓴' 조서 초안, 그 문장 자체를 검증하는 이야기입니다.
감사는 남이 만든 숫자를 그대로 믿지 않고 다시 짚는 일입니다. 그런데 그 조서를 이제 AI가 쓴다면, 저는 AI가 쓴 조서 역시 그대로 믿을 수 없습니다.
그래서 원칙을 하나 세웠습니다. AI에게 초안을 맡기되, 절대 그대로 믿지 않는다.
이 원칙을 아예 환경으로 만든 것이, 4단계에서 개념으로 만난 하네스입니다. 이번에는 그 하네스를 감사조서 위에서 실제로 돌려 봅니다.
1. AI에게 조서를 맡기면 무엇이 걱정되나 — 근거 없는 문장, 엉뚱한 칸
감사조서에서 가장 무서운 것은 근거 없는 문장입니다. 조서의 한 줄 한 줄은 '무엇을 보고 이렇게 판단했는지'를 남기는 기록이기 때문입니다.
그런데 AI는 근거가 없어도 그럴듯한 문장을 곧잘 지어냅니다. 읽으면 매끄러운데, 정작 그 판단을 뒷받침하는 자료가 어디에도 없는 문장입니다.
감사에서 이런 문장은 그냥 틀린 문장보다 위험합니다. 그럴듯해서 검토자마저 속기 쉽기 때문입니다.
걱정은 하나 더 있습니다. AI가 건드려서는 안 될 칸을 건드리는 것입니다.
조서에는 사람이 판단해 넣어야 할 칸, 코드가 계산해 채울 칸, AI가 서술할 칸이 뒤섞여 있습니다. AI가 제 자리가 아닌 칸까지 손대면, 검증의 기준선 자체가 흔들립니다.
감사는 근거가 생명이고, 각 칸의 주인이 정해져 있는 일입니다. AI에게 조서를 맡긴다는 건 이 두 가지가 동시에 걱정된다는 뜻입니다.
2. 그래서 조서 검토하듯 검증 환경을 짰다 — 색이 권한 경계다
먼저 조서의 정본을 엑셀이 아니라 텍스트로 옮겼습니다. 한공회 표준 감사조서를, AI가 채우기 좋은 텍스트 마스터로 가공한 것입니다.
텍스트가 정본이고, 엑셀 조서는 그 텍스트로부터 코드가 다시 만들어 내는 산출물입니다. 조서를 손으로 그리는 게 아니라, 텍스트를 고치면 조서가 재생성되는 구조입니다.
색이 곧 권한 경계
그다음 각 칸에 색을 입혔습니다. 이 색이 곧 권한의 경계입니다.
- 초록(서술): AI의 몫. 문장으로 풀어 써야 하는 칸입니다.
- 노랑(입력): 사람의 몫. 회사에서 받은 값을 사람이 넣는 칸입니다.
- 수식·연결·표준답안: 결정론의 몫. 코드가 계산하거나 정해진 답이 들어가는 칸입니다.
- 선택: 다시 사람의 몫. 판단으로 골라야 하는 칸입니다.
셀 채우기색이 역할을 정하고, 역할이 다시 '누가 처리하는가'를 결정론적으로 갈라 줍니다. 사람·AI·코드의 관할이 색으로 물리적으로 나뉘는 것입니다.

셀 채우기색이 사람·AI·코드의 관할을 물리적으로 가른다
초록 칸 밖은 못 건드린다
이제 AI 초안을 주입하는 장치에 안전선을 그었습니다. AI가 쓴 문장은 오직 초록 칸에만 들어갑니다.
주입기는 초록이 아닌 주소를 아예 거부합니다. 그리고 주입 전후를 대조해, 초록 외의 셀이 하나라도 바뀌면 그 자리에서 실패로 처리합니다.
인용 못 대면 안 쓴다
문장의 근거도 그냥 넘어가지 않습니다. AI는 조서 작성 지침(지식관리 MCP로 대 주는 근거)을 인용해 문장을 쓰되, 그 인용이 검증을 통과한 문장만 남깁니다.
인용을 대지 못하면 문장을 지어내지 않습니다. 대신 그 칸은 빈칸으로 두고, 비고에 사유를 남깁니다.
'인용 못 대면 안 쓴다'는 감사 실무의 원칙이, 여기서는 코드 규약이 된 것입니다.
숫자 쪽은 결정론이 지킵니다. 시산표는 '자산 + 비용 = 부채 + 자본 + 수익'의 차대가 맞아야 통과하고, 중요성이나 감사요약 같은 값은 한 번 정해 둔 데이터에서 조서로 자동 주입됩니다.
3. 사람이 손대도 대사가 맞아야 통과한다 — 왕복 동등성
여기서 새 문제가 생깁니다. 텍스트가 정본이라지만, 실제로는 사람이 엑셀 조서를 열어 직접 손보는 일이 생기기 때문입니다.
정본은 텍스트인데 수정은 엑셀에서 일어나면, 둘이 어긋납니다. 그대로 두면 다음 재빌드 때 사람이 고친 내용이 날아갑니다.
그래서 왕복(round-trip)이 맞아야 통과하게 했습니다. 사람이 엑셀에서 손댄 것을 텍스트로 되반영하고, 그 텍스트로 조서를 다시 빌드했을 때 결과가 같아야 한다는 규칙입니다.
엑셀에서 텍스트로, 텍스트에서 다시 엑셀로 — 한 바퀴 돌아 제자리로 오는지를 대사하는 것입니다.
이때 무엇을 비교할지가 중요합니다. 값·수식·역할색·메모·병합처럼 '내용'에 해당하는 것만 비교합니다.
테두리나 폰트 같은 장식은 비교하지 않습니다. 어차피 코드가 매번 다시 그리는 부분이라, 같은지 따질 대상이 아니기 때문입니다.

한 바퀴 돌아 제자리로 오는지를 대사하고, 깨지면 커밋이 막힌다
그리고 이 대사를 커밋 직전에 한 번 더 자동으로 돌립니다. 조서 팩 전체를 다시 빌드해, 왕복 동등성이 어딘가에서 깨지지 않았는지 점검하는 게이트입니다.
이 게이트를 통과하지 못하면 커밋이 막힙니다. 검토자 서명이 없으면 조서가 마감되지 않는 것과 같은 자리입니다.
말하자면 이 게이트는, 제가 저 자신도 못 믿어서 세워 둔 자동 검토자입니다.
4. 결국 AI를 신뢰하되 검증한다 — 감사의 정신을 코드로
감사인은 검토자 서명을 하기 전에 숫자를 다시 대사합니다. 초안을 믿지 않아서가 아니라, 믿더라도 검증하는 것이 감사의 기본이기 때문입니다.
이 하네스가 하는 일이 정확히 그것입니다. AI가 낸 조서 초안을, 사람이 검토하듯 결정론 게이트로 자동 대사합니다.
판단은 AI가 하되, 그 결과가 넘어도 되는 선은 코드가 지킵니다.
반복은 결정론으로, 판단은 AI에게 — 그 판단을 조서라는 가장 엄격한 자리에서 검증까지 붙인 것입니다.
다만 솔직히 밝혀 둘 것이 있습니다. 지금은 이 골격과 파이프라인이 서 있고, 실제로 완성된 조서는 아직 일부(1100·1200·1300·2100 등)입니다.
나머지는 이 방식으로 하나씩 채워 가는 중입니다. '전 조서가 자동으로 검증된다'가 아니라, '검증되는 자리부터 조서를 늘려 간다'가 지금의 정직한 그림입니다.
여기까지가 5부, 실전 사례입니다. 서식을 닫고, 재무제표를 검증하고, 이제 AI가 쓴 조서까지 자동으로 대사하는 데 이르렀습니다.
세 사례를 관통하는 태도는 하나였습니다. AI를 좁은 자리에 앉히고, 그 자리를 코드가 지키게 하는 것입니다.
마지막 6부에서는 이 태도를 어떻게 계속 키워 갈지를 이야기합니다. 모르면 AI에게 묻고, 얻은 경험을 다시 나누는 방법으로 넘어가겠습니다.
이 커리큘럼 그대로 팀·조직 교육이 필요하신가요? 실무자 눈높이의 강의·워크숍으로 진행합니다.