진단 도구에 "채우지 않을 자유"를 넣었습니다
저희는 공장의 현황을 항목별로 매기는 진단 도구를 만듭니다. 값은 담당자에게 묻는 대신 회의 기록과 기존 자료로 자동으로 채워집니다.


저희는 공장의 현황을 항목별로 매기는 진단 도구를 만듭니다. 값은 담당자에게 묻는 대신 회의 기록과 기존 자료로 자동으로 채워집니다.
앞선 글에서 그렇게 채운 값이 한 방향으로만 틀린다는 이야기를 했습니다. 만들어 둔 진단 네 건을 실측값으로 다시 채워 넣었더니, 판정이 나빠진 항목이 6개, 4개, 3개였고 좋아진 항목은 0개였습니다.
그 결과를 받고 저희가 내린 결정은 조금 이상하게 들릴 수 있습니다. 근거가 없으면 채우지 않는다를 도구의 기본 동작으로 박았습니다. 옵션이 아니라 기본값입니다.
비어 있는 진단서는 영업에 불리합니다
먼저 이 결정이 왜 불편한지부터 적겠습니다.
현황 진단서를 받아 보는 쪽 입장에서 빈칸이 많으면 일을 덜 한 것처럼 보입니다. 여백이 많은 문서와 빼곡한 문서를 나란히 놓으면 후자가 더 성의 있어 보입니다. 경쟁이 붙은 자리라면 더 그렇습니다.
내부에서도 불편합니다. 못 채운 칸이 남으면 그걸 채우러 다시 물어봐야 하고, 그건 상대의 시간을 한 번 더 쓴다는 뜻입니다. 그럴듯한 값을 넣고 넘어가면 그 왕복이 사라집니다.
그리고 이 문서는 혼자 끝나지 않습니다. 현황 진단서에서 나온 값이 할 일 목록으로 이어지고, 그 목록이 일정과 금액의 근거가 됩니다. 비어 있는 칸은 그 사슬의 앞에서부터 계속 비어 있게 됩니다 — 현황을 모르니 할 일에 안 들어가고, 할 일에 없으니 금액에도 없습니다.
그러니 빈칸을 남긴다는 것은 단순히 문서 한 장이 허전해지는 문제가 아닙니다. 뒤따르는 문서 전부가 그만큼 덜 채워진 채로 나갑니다. 그 상태로 제안을 하면 상대가 보기에 범위가 좁아 보이고, 좁은 범위는 금액도 작습니다. 빈칸을 메우고 싶은 유인이 여기서 제일 강하게 생깁니다.
그러니까 이건 더 좋아 보이는 선택지를 알면서 버린 것입니다.
그래도 그렇게 한 이유
재실행 실험에서 저희가 실제로 밟은 사고 하나가 결정을 굳혔습니다.
우리 쪽 목표 수치가 상대의 현재값 자리에 들어가 있었습니다. 우리가 "이 정도까지 줄이겠다"고 적어 둔 숫자가, 문서를 근거로 자동으로 채우는 과정에서 상대가 지금 그렇다는 값으로 옮겨 갔습니다. 점수는 멀쩡했고 결론도 그럴듯했습니다.
그 값이 그대로 갔다면 어떻게 됐을까요. 상대는 자기 회사가 이미 그 수준이라고 적힌 문서를 받습니다. 그러면 우리가 하겠다는 일의 절반이 이미 끝난 일이 됩니다. 틀린 값을 넣는 것보다 나쁜 것은, 그 값이 우리 제안의 근거가 되는 것입니다.
빈칸이었다면 이 일은 일어나지 않습니다. 빈칸은 아무 주장도 하지 않으니까요.
도구를 고치고 싶었지만 고치지 않았습니다
결과가 이상하게 나왔을 때 저희가 처음 한 일은 도구를 뜯어보는 것이었습니다. 점수 산식이 어딘가 관대한 게 아닌가, 판정 기준이 느슨한 게 아닌가.
그런데 다시 돌리기 전에 확인한 것 하나가 그 방향을 막았습니다. 처음 넣었던 답을 그대로 다시 넣으면 처음 결과가 그대로 나오는지를 먼저 봤고, 네 곳 전부 완전히 일치했습니다. 도구는 틀린 값을 정확하게 계산하고 있었습니다.
이 확인이 없었다면 저희는 산식을 고쳤을 겁니다. 그리고 고친 산식으로 같은 문서를 다시 넣었다면 숫자는 달라졌겠지만 여전히 틀렸을 것입니다. 입력이 그대로니까요. 더 나쁜 것은, 숫자가 달라진 걸 보고 "고쳤다"고 믿었을 겁니다.
그래서 도구는 손대지 않고 입력 규격만 새로 만들었습니다. 새로 추가한 것은 판정 로직이 아니라 항목 몇 개와 검사 몇 개입니다. 고칠 곳을 잘못 짚지 않은 것이 이 실험에서 얻은 것 중 가장 값어치 있는 부분일지도 모릅니다.
무엇을 어떻게 막고 있나

지금 도구에 들어가 있는 것은 네 겹입니다.
겹 | 하는 일 |
|---|---|
근거 등급 | 채움마다 A·B·C·D 부여 |
표시 강제 | 낮은 등급은 |
항목 차단 | 판정·금액 항목은 A·B만 허용 |
주어 확인 | 서술의 주체가 상대인지 검사 |
등급을 문서 단위가 아니라 채움 단위로 붙이는 것이 처음에는 번거로워 보였습니다. 회의록 하나를 통째로 B등급으로 두면 간단하니까요. 그런데 실제로 해 보면 한 문서 안에서도 성격이 갈립니다. 상대가 직접 말한 대목과, 그 말을 우리가 해석해 정리한 대목이 같은 파일에 나란히 있습니다. 앞은 A에 가깝고 뒤는 C입니다. 문서에 도장 하나를 찍으면 이 둘이 같아지고, 그러면 등급을 매긴 의미가 없어집니다.
세 번째가 실험이 알려 준 것입니다. 모든 항목이 똑같이 중요하지 않습니다. 판정을 가르는 항목과 금액을 가르는 항목이 서로 다르고, 그 항목들만 정확하면 나머지가 조금 흔들려도 결과는 버팁니다. 반대로 그 항목이 틀리면 나머지가 아무리 촘촘해도 소용이 없습니다. 그래서 전부를 똑같이 조이는 대신 그 항목들에만 높은 등급을 요구합니다.
네 번째는 앞선 글에도 적었지만 저희가 제일 놀란 부분입니다. 점수를 검사하는 방식으로는 주어가 바뀐 오류를 못 잡습니다. 숫자가 정확하고 점수도 안 움직이는데 문서의 사실관계만 틀립니다. 그래서 검사 항목을 따로 하나 더 만들었습니다.
이 규칙은 저희가 마음대로 풀 수 없습니다
규격을 만들고 나서 한 가지를 더 걸었습니다. 이 규칙은 자동화가 스스로 완화하거나 수정할 수 없는 계층에 넣었습니다.
이유는 단순합니다. 규칙이 걸리면 일이 막힙니다. 근거가 부족해서 못 채우는 항목이 생기면 산출물이 늦어지고, 그 자리에서 가장 편한 해법은 규칙을 조금 느슨하게 만드는 것입니다. 한 번 그렇게 하면 다음에도 그렇게 됩니다. 검사가 검사받는 쪽 사정을 봐주기 시작하면 그건 더 이상 검사가 아닙니다.
그래서 검사하는 쪽을 고치는 일은 사람 승인 경로로만 열어 뒀습니다. 스스로 개선하는 구조를 만들 때 평가하는 쪽은 그 개선 루프 밖에 두어야 한다는 원칙이고, 저희가 발명한 게 아니라 이 분야에서 이미 정리된 이야기입니다. 다만 그것을 실제로 지키려면 "필요하면 그때 조정하자"를 미리 막아 둬야 합니다.
실제로 재실행에서 못 채운 항목이 여럿 나왔습니다. 미측정으로 처리한 것 6건, 등급이 낮아 미검증으로 남긴 것 22건이었고, 임의로 값을 넣은 건은 한 건도 없었습니다. 규칙이 실제로 작동하면 이런 숫자가 남습니다. 남지 않으면 규칙이 아니라 문구입니다.
빈칸이 많은 진단서를 받으면 어떻게 읽어야 하나

혹시 저희가 아닌 다른 곳에서 만든 현황 진단서를 받아 보실 일이 있다면, 읽는 방법을 함께 적어 두는 편이 나을 것 같습니다. 이건 저희 문서에만 해당하는 이야기가 아닙니다.
모든 칸이 채워진 문서를 먼저 의심해 보십시오. 처음 만나는 회사의 현황이 빠짐없이 파악됐다면, 안 물어본 것을 어딘가에서 가져왔다는 뜻입니다. 어디서 가져왔는지가 그 문서의 실제 등급입니다.
각 값이 어디서 왔는지 물어보십시오. "귀사 담당자가 답한 것인가, 우리가 쓴 자료에서 온 것인가, 업계 표준값인가." 이 질문에 답이 안 나오는 문서는 근거를 관리하지 않는 문서입니다.
비어 있는 칸의 처리 방식을 보십시오. 비어 있다고 적혀 있는지, 아니면 그냥 없는 것으로 되어 있는지가 다릅니다. 앞은 "아직 안 물어봤다"이고 뒤는 "귀사에는 그것이 없다"입니다. 이 둘이 구분되지 않으면 안 물어본 것이 없는 것으로 굳습니다.
판정과 금액이 걸린 칸부터 보십시오. 모든 항목이 똑같이 중요하지 않습니다. 결론과 견적을 가르는 몇 개만 정확하면 나머지는 조금 흔들려도 됩니다. 그 몇 개가 어디인지 물어보고, 그 칸의 근거를 확인하시면 됩니다.
이 네 가지는 저희에게도 그대로 묻는 질문이어야 한다고 생각합니다. 저희가 만든 진단서를 받으실 때도 같은 것을 물어봐 주시면 좋겠습니다.
아직 안 된 것
여기서부터가 이 글에서 제일 중요한 절입니다.
검사 두 개는 아직 사람 손입니다. 다른 회의 내용이 섞여 들어왔는지 보는 검사와, 그 녹취가 어떤 종류의 회의인지 분류하는 검사가 그렇습니다. 규격으로는 정의돼 있고 사람이 눈으로 하고 있지만 자동으로 돌지 않습니다.
현장에서 이 규칙이 적용된 실사용 사례는 아직 없습니다. 위 숫자는 전부 지난 자료를 다시 돌린 재실행에서 나온 것입니다. 실제 미팅에서 받은 녹취로 처음부터 돌려 본 건은 0건입니다.
사람이 하는 검사 두 개가 처리량의 상한을 정합니다. 자동으로 도는 부분이 아무리 빨라도 그 두 검사를 사람이 하는 동안은 한 번에 한 건씩입니다. 지금 규모에서는 문제가 아니지만, 이건 "아직 안 된 것"이지 "안 해도 되는 것"이 아닙니다.
그래서 "이 규칙이 현장에서 잘 듣는다"는 말은 아직 못 합니다. 지금 말할 수 있는 것은 "지난 사례에서 무엇이 어떻게 틀렸고, 그것을 막는 규격을 만들었다"까지입니다.
마지막 줄을 굳이 적는 이유가 있습니다. 저희가 앞선 글에서 못 채운 칸을 그럴듯하게 메우지 말라고 썼습니다. 그 규칙은 진단서에만 적용되는 게 아닙니다. 우리가 우리 진도를 말할 때도 같은 규칙을 받습니다. 실사용 0건을 적지 않고 "검증된 규격"이라고 쓰면, 그게 바로 앞 글에서 지적한 C등급 채움입니다.
다음에 무엇을 보면 아는가
이 규격이 실제로 쓸모가 있는지는 다음 조건이 채워질 때 판정됩니다.
처음부터 이 규칙으로 돌린 실사용 1건 — 재실행이 아니라 새 미팅에서
그 1건에서 미측정으로 남은 칸의 수와, 그 칸이 나중에 실제로 문제였는지
사람 손으로 하고 있는 검사 두 개의 자동화
이 셋이 안 나오면 지금까지의 것은 지난 자료를 잘 설명한 것이지 현장에서 듣는 규격이 아닙니다. 그 판정은 저희가 아니라 다음 한 건이 합니다.
혹시 비슷한 도구를 쓰고 계시다면 하나만 여쭙고 싶습니다. 그 도구는 못 채운 칸을 비워 둘 수 있게 되어 있습니까?
이 글이 도움이 되셨다면 공유해 주세요
새 글이 올라오면 메일로 알려드립니다
제조 현장에서 확인한 것들을 기록합니다. 광고성 발송은 하지 않습니다.
제조 AI 성숙도 자가진단 — 회사 정보 없이 10문항이면 됩니다.

제조 AI 운영체제 VEXPLOR를 만들고 있습니다. 스마트공장 구축 현장에서 데이터 표준화·온톨로지·디지털트윈·자율형공장을 다루며, 이 블로그에는 현장에서 실제로 부딪힌 문제와 그때 내린 판단을 씁니다.
contact@wace.me이 문제를 실제 현장에서 풀고 있습니다
(주)웨이스는 제조 AI 운영체제 VEXPLOR로 데이터 표준화부터 자율형공장까지 만들어가고 있습니다. 우리 공장에 적용하면 어떤 모습일지 궁금하시면 편하게 물어보세요.
함께 읽어보세요
밤새 15번을 스스로 고친 루프, 무엇이 되돌릴 수 있게 했을까요
설비 수십 대가 맞물려 돌아가는 생산 라인을 3D로 재현하는 시뮬레이터를, 밤새 사람 없이 15라운드 돌렸습니다. 빌드 → 검증 → 수정 → 릴리스를 한 묶음으로 두고 그 묶음을 반복하게 한 것입니다. 아침에 결과를 열어 봤습니다.

시뮬레이션 화면이 보여주는 것과 엔진이 계산하는 것은 같을까
저희는 공장을 짓거나 바꾸기 전에 컴퓨터 안에서 먼저 돌려 보는 가상공장 소프트웨어를 만들고 있습니다. 지난 글에서는 왜 만드는지를 적었는데, 이번 글은 그 반대쪽에 있는 이야기입니다.

로봇이 부딪히는 경로, 왜 난수 없이 피하게 만들었나
공장 라인을 컴퓨터 안에서 미리 돌려 보는 도구를 만들고 있습니다. 로봇 팔이 교시된 경로로 움직일 때 옆 설비와 부딪히는지 재는 기능을 먼저 만들었는데, 그 기능이 생기자마자 다음 요청이 따라왔습니다. 부딪힌다고 알려만 주지 말고, 피해 가는 경로도 만들어 달라는 요청입니다.
