방구석컴퍼니
← 이야기 목록
AI 활용2026-08-22

남의 자동화를 이식할 때 진짜 걸림돌은 코드가 아니라 부품의 성질이다

남의 자동화 사례를 내 업무로 옮길 때 무엇이 넘어오고 무엇이 죽는지, 두 직군에 같은 파일을 돌려 실측으로 갈라본 기록입니다.

방구석컴퍼니

혼자 일하는 사람 · 작업 기록

저장만 해두고 못 옮긴 자동화 사례가 있는 분을 위한 글입니다.

같은 파일에 재료만 바꿔 두 업무를 돌렸더니, 조립 단계 세 개는 그대로였는데 부품 세 개 중 하나가 통째로 죽었다. 그 하나를 모르고 넘어가면 결과는 나오되 값이 틀린다.

이식은 번역이 아니라 절단이다. 남의 자동화를 내 업무 말로 바꿔 적는 작업이 아니라, 내 환경에서 못 굴러갈 부분을 먼저 잘라내는 작업이다. 이 순서를 뒤집으면 결과가 나와도 속이 빈다.

같은 파일 한 장에 재료만 바꿔 두 직군 업무를 돌려봤다. 메신저 주간보고와 창고 재고표다. 조립 순서는 세 단계가 그대로 같았는데, 부품 세 개 중 하나에서만 판정이 갈렸다. 그 하나가 이 글의 주제다.

왜 옮기기 전에 잘라내야 하는가?

먼저 잘라내야 한다. 남은 구조에 내 것을 얹는 쪽이 순서다. 반대로 하면 못 가져올 조건이 설계 안에 남아 있다가 실행 단계에서 터진다.

근거는 실패 사례 쪽에 있다. 커뮤니티에 올라온 엑셀 병합 후기에서, AI가 만든 매크로 코드 안에 특정 파일 이름이 그대로 박혀 있었다. 그 파일에서는 돌았고 다음 달 파일에서는 안 돌았다. 저장 위치 문제로 목록에 뜨지도 않았다.

이건 옮긴 사람의 실력 문제가 아니다. 원본이 그 사람 파일에 붙어 있었을 뿐이다. 붙어 있는 것을 먼저 떼어내지 않으면 옮길 대상 자체가 특정되지 않는다.

잘라낼 대상은 어떻게 특정하는가?

세 가지로 나뉜다. 앞의 둘은 있고 없고의 문제이고, 세 번째만 성질의 문제다.

판정 질문확인 시점실패했을 때 나타나는 증상
경로·파일명이 코드에 박혀 있는가사례를 읽는 순간새 파일에서 실행 자체가 안 됨
그 재료를 내가 불러올 수 있는가재료를 지목하는 순간읽을 대상이 비어 있음
내 재료가 원본과 같은 성질인가실행해봐야 드러남돌긴 도는데 값이 틀림

세 번째 줄의 "확인 시점"만 다르다. 앞의 둘은 눈으로 잡히고 실패하면 즉시 멈춘다. 세 번째는 멈추지 않고 틀린 값을 만들어낸다. 그래서 여기가 가장 비싸다.

부품의 성질이 다르다는 것은 무엇인가?

이름이 같은 부품인데 한 업무에서는 성립하고 다른 업무에서는 성립하지 않는 현상이다. 세 갈래로 나뉜다.

더하기인가 배치인가. 은행 명세서는 금액이 숫자라 합계가 성립한다. 반면 메신저 진행상황은 문장이라 더할 대상 자체가 없다. 그래서 주간보고 쪽에서는 합계 부품이 통째로 잘려나가고, 사람별로 묶어 배치하는 부품이 대신 들어왔다.

쌓인 것인가 남아 있는 양인가. 재고표에서는 합계가 살아남았다. 다만 조건이 붙었다. 은행·카드는 기간 동안 일어난 일을 쌓아 더하는 것이고 재고는 그 시점의 잔량이다. 같은 출처가 두 번 들어오면 잔량은 두 배로 잡힌다. 그래서 "같은 창고는 한 주에 한 장만"이라는 제약이 새로 생겼다.

한 줄이 한 건인가. 한 행에 건이 여럿 얹혀 있으면 세는 단위부터 다시 정의해야 한다.

이 세 갈래 모두 원본 사례를 아무리 정확히 읽어도 드러나지 않는다. 내 재료를 넣어봐야 갈린다.

판단과 손질의 경계는 어디인가?

전부 물어보는 설계는 친절이 아니라 떠넘기기다. 반대로 전부 알아서 하는 설계는 값을 조용히 바꾼다. 경계선은 값이 바뀌는가에 있다.

묻지 않고 처리해야 하는 것:

  • 표기 흔들림 (9개·5박스처럼 숫자에 글자가 붙은 값, BOX박스)
  • 원본이 넣어둔 합계·총계 줄 제거
  • 첫 줄 이름이 파일마다 다른 것을 하나로 맞추기
  • 글자 깨짐 같은 읽기 방식 문제

반드시 물어야 하는 것:

  • 무엇을 포함하고 뺄지
  • 어느 기준으로 묶을지
  • 결과를 어떤 형식으로 낼지
  • 서로 다른 이름이 같은 것인지

마지막 항목이 특히 중요하다. 재고표 실행에서 정확히 여기서 멈췄다. 한쪽은 콜롬비아 원두, 다른 쪽은 원두 콜롬비아로 적혀 있었다. 이름 통일은 값이 바뀌는 판단이라 사람 몫이다.

에러가 나지 않는 실패는 왜 더 위험한가?

글자가 다르면 프로그램은 다른 항목으로 본다. 한 줄이어야 할 것이 두 줄로 갈라진다. 총재고 66이 51과 15로 나뉘어 나오는데, 경고는 하나도 뜨지 않는다.

에러가 나는 실패는 고칠 기회가 있다. 에러가 나지 않는 실패는 멀쩡해 보이는 표를 남기고 판단만 틀어놓는다. 발주 수량을 그 표로 정하면 손실은 조용히 발생한다.

그래서 결과 보고에 두 가지가 붙어야 한다. 하나는 빈 곳을 정상과 이상으로 갈라서 알려주는 것이고, 다른 하나는 검산이다.

검산은 구체적으로 무엇을 대조하는가?

실행 로그는 이렇게 나왔다.

계측 항목
입력 파일3 (직전 회차 산출물 1건 제외)
입력 행 → 유효 행21 → 20 (원본 합계 행 1건 제거)
묶은 뒤 품목9
출처별 수량 격자27 중 7 공란

숫자만으로는 맞는지 알 수 없다. 그래서 지난주 결과와 대조했다. 콜롬비아 71에서 66으로, 종이컵 40에서 43으로 움직였다. 만약 이름 통일이 실패해 한 창고가 빠졌다면 콜롬비아가 51로 나와 지난주보다 20이나 줄었을 것이다. 그 낙차가 없으니 세 곳이 제대로 합쳐졌다고 판정할 수 있다.

빈 곳 7개도 갈라서 봤다. 에티오피아 원두는 한 창고에만, 헤이즐넛 시럽도 한 창고에만 있으니 나머지가 비는 건 정상이다. 이상한 건 뚜껑이었다. 파주만 비어 있는데 파주는 종이컵을 30박스 갖고 있다. 컵이 있는데 뚜껑 줄이 통째로 없다. 진짜 없는 건지 이번에 안 적어 보낸 건지는 파일만 봐서는 판정할 수 없어 사람에게 넘겼다.

이 방법이 실패했던 지점 — 첫 판은 되묻지 않았다

첫 판에서는 이 파일이 아무것도 묻지 않았다. 사례와 내 상황을 받으면 바로 설계를 뽑아냈다.

그런데 뽑힌 설계가 내 폴더에서 안 돌았다. 읽으라는 파일 경로가 내 컴퓨터에 없는 이름이었다.

원인은 하나였다. 비어 있는 부품을 비어 있다고 표시하지 않고 그럴듯한 기본값으로 채웠다. 그 값이 틀렸다는 걸 알 방법이 실행 실패밖에 없었다.

원인이 하나였으니 처방도 하나다. 세 부품 중 하나라도 비면 실행을 멈추고 되묻게 했다. 다만 되묻는 방식은 세 갈래로 나눴다 — 선택지를 주고, 왜 묻는지 밝히고, 답에 따라 갈래가 생기는 질문만 따로 묻는다. 갈래가 없는 질문까지 하나씩 물으면 그건 다시 떠넘기기가 된다.

이 방법이 안 통하는 경우는?

결과 숫자를 옮기려는 경우. 남이 올린 절감 시간이나 수익은 그 사람 조건에서 난 값이다. 옮겨지는 것은 조립 순서뿐이다.

한 번에 끝내려는 경우. 질문과 답이 몇 차례 오간다. 그 오감 자체가 비용이 아니라 이 방법의 본체다.

바이너리 형식 산출물이 필요한 경우. hwp처럼 직접 생성이 막힌 형식은 텍스트로 받아 옮기는 우회가 필요하다.

무엇부터 하면 되는가?

이 글에서 다룬 판정은 네 가지였다. 잘라낼 세 조건, 부품 성질 세 갈래, 판단과 손질의 경계, 검산 두 가지다. 대응하는 행동도 넷이다.

  1. 저장만 해둔 자동화 사례 하나를 고르고, 그 사례에서 내 손이 못 닿는 재료가 뭔지 한 줄로 적는다
  2. 내 재료를 넣었을 때 성질이 달라지는 부품이 있는지 세 갈래로 따진다
  3. 값이 바뀌는 판단은 남기고 나머지는 위임한다는 경계를 미리 정한다
  4. 산출이 나오면 직전 회차와 견줘 차이가 설명되는지 본다

네 번째를 건너뛰면 앞의 셋이 무의미해진다. 에러가 없는 결과를 검산 없이 믿는 것이, 이 작업에서 유일하게 되돌리기 어려운 실수다.

여러분 업무에서는 어느 부품이 성질이 다를 것 같나요?

전 과정을 화면으로 담은 영상은 여기 있습니다 — https://youtu.be/nqBGajOekeY

새 글 알림

이런 작업 기록, 계속 받아보실래요?

네이버 블로그 이웃추가하면 새 글이 피드로 바로 떠요. 광고 없이 진짜 이야기만.