AI가 생각하게 만들지 않는 도구는 어디까지 완성되었나: 135개의 서랍, 12개의 레시피, 팀 '서랍 프로그램'과 수납함으로 구동하는
요약
본 글은 AI의 도움 없이도 안정적이고 신속하게 작동하는 '자동화 시스템' 구축에 초점을 맞춥니다. 135개의 개별 매크로(선반)와 이를 조합하는 12개의 레시피를 개발하여, 실제 업무 환경에서는 사용자가 직접 코드를 실행하고 AI는 백그라운드에서 학습 및 보조 역할만 수행하도록 설계했습니다.
핵심 포인트
- AI 의존도를 낮추고 안정적인 '늘 같은 방식'의 자동화에 집중함.
- 135개의 개별 매크로(선반)와 12개의 레시피를 구축하여 업무 프로세스를 체계화함.
- 실제 현장에서는 AI 사용을 최소화하고, 백그라운드에서만 AI가 학습 및 보조 역할을 수행하도록 분리함.
- 자동 검사 시스템과 '수납함' 구조를 통해 개발 과정의 안정성과 효율성을 극대화함.
어제 아침에 전작 기사를 공개했습니다.
새롭게 등장한 Gemini 4 Argon(통칭 공짱)과 늘 함께하는 파트너인 Claude Opus(반두), 그리고 Antigravity를 이용해 작업하는 Gemini 3.8 Flash(플래시군).
세 가지 AI가 갖춰지면서, 어질러져 있던 매크로들을 '선반'과 '주문을 듣는 반두(선반 담당)'로 재정비하고, 아침에는 여러 선반을 묶어 실행하는 '레시피'의 원형까지 도달한 밤의 기록입니다.
그 기사를 공개한 후, 저는 손에 든 컴퓨터에서 막 완성된 'Excel 컴보'를 만지고 있었습니다.
화면 속 작은 입력창에 평소 사용하는 말로 "빈 행을 지워라", "금액순으로 내림차순 정렬해라"라고 타이핑합니다.
그러자 뒤쪽의 AI에 문의할 필요 없이, 손에 든 VBA가 의지하던 문구에서 선반을 골라 매크로를 실행합니다.
표가 순식간에 정리되고, 마음에 들지 않으면 한 번에 원래 상태로 되돌릴 수 있습니다.
그 경쾌한 움직임을 확인하며, 저는 나도 모르게 혼잣말을 중얼거렸습니다.
"AI에게 맡기지 않아도 제대로 살아 있네. 상당히 완성도가 높아졌잖아."
세간에서는 "AI에게 자연어로 지시를 내리고, VBA 코드를 매번 처음부터 작성하게 하는" 방식이 일반적입니다.
하지만 우리가 목표로 했던 것은 그 반대였습니다.
**"현장에서는 AI가 매번 생각하도록 해서는 안 된다"**라는 확신 때문입니다.
필요한 것은 매번 미묘하게 문체가 바뀌는 코드가 아니라, 익숙하고 절대 고장 나지 않는 '늘 같은 방식'이 순식간에 작동하는 것입니다.
그날부터 하루가 지났습니다. 시스템은 더욱 크게 진전했습니다.
135개에 달하는 선반, 1,033개의 시험을 통과한 사전 실행 기능(先撃ち), 실무 전체를 아우르는 12개의 레시피, 그리고 반두가 지시서만 놓으면 개발이 돌아가는 '수납함' 시스템까지.
지식창고의 공짱에게 다음 상담을 요청하기 전에, 현재 도달한 지점을 솔직하게 정리해 보겠습니다.
"AI에게 생각시키지 않는" 4단계 구조 완성: 의지하던 문구에서 AI를 거치지 않고 손에 든 곳에서 선반(매크로)을 골라 실행하는 '사전 실행'이 완료되었습니다. AI의 답변을 기다릴 필요가 없으며, 기록 기능 덕분에 한 번에 되돌릴 수 있습니다. AI는 오직 "선반에 없는 작업의 뒷정리"와 "새로운 선반을 단련하는 공방"에만 사용됩니다. -
135개의 선반과 12개의 레시피: 개별 매크로가 135개에 도달했습니다. 게다가 여러 개의 선반을 올바른 순서대로 묶어 실행하는 '레시피'의 예시가 12개 마련되었습니다. 화면에서 클릭하며 자신만의 절차를 만들 수 있는 '선반 빌더(Shelf Builder)'의 기반도 작동하기 시작했습니다. -
이중삼중 자동 방벽: 실제 Excel 환경에서의 '관문 테스트' 85개, 일상 표현과 선반 일치를 확인하는 '사전 실행 문제집' 1,033문제, 손에 든 pytest 788건을 전 항목 통과하는 체제를 구축했습니다. -
공개 전 검사(preflight): 공개 작업 중 과거에 걸렸던 5가지 실패 원인을 순식간에 찾아내는 자동 검사를 만들었습니다. 의도적으로 심어놓은 5가지 결함을 2초 만에 모두 감지했으며, 최근 5번의 공개는 모두 한 번에 통과했습니다. -
팀 '선반 프로그램'과 '수납함': 조장(저), 반두(Opus), 지식창고(공짱), 일꾼(플래시군), 도움 담당(Sonnet)으로 역할을 분담했습니다. '수납함(queue)'을 통해, 반두가 지시서만 놓으면 플래시군이 순서대로 정리해 나갑니다.
저희가 만들고 있는 '슈 엑셀 매니저'의 핵심은 간단합니다.
"매장 앞에서는 AI를 사용하지 않고, 뒤쪽 단련 공방에서만 AI를 사용하는" 구조에 달려 있습니다.
일상 업무에서 표를 정리하고 싶을 때마다, 그럴 때마다 AI에게 표를 보여주며 "VBA를 작성해 달라"고 부탁하는 것은 현장의 감각으로 볼 때 너무 느립니다.
답변을 기다리는 시간이 있고, 매번 문체가 다른 코드가 돌아오며, 그때마다 확인해야 하는 수고가 따릅니다.
그래서 저희는 처리를 완전히 4단계로 분리했습니다.
【요청】"금액순으로 내림차순 정렬하고, 제목을 정리해라"
│
▼
...
이 흐름 속에는 LLM(대규모 언어 모델)에 대한 문의가 전혀 끼어들지 않습니다.
의지하던 문구가 들어오면, 손에 든 VBA에 내장된 '선반 담당'이 말을 선반별 단어와 대조하여 135개의 선반 중 하나를 골라 방아쇠를 당깁니다.
"이 데이터를 분석해 달라" 같은 상담 내용은 선반에 해당하지 않으므로, AI에게 넘깁니다.
AI의 등장은 오직 두 가지 경우뿐입니다.
한 가지는, 선반을 총동원해도 해결되지 않는 특수한 수식이나 조건부 서식 등 현장의 지혜가 필요한 '잔여'가 발생했을 때의 뒷정리입니다.
다른 하나는, 사용자가 일상적으로 사용하는 선반 자체를 제조하고 유지보수하는 '뒤쪽 단련 공방'입니다.
매장 앞에서 AI에게 생각하도록 하지 않기 때문에, 도구는 계산기처럼 빠르게 움직입니다.
기능의 기본 단위가 되는 '서랍(단발성 고속 매크로)'은 현재 135개까지 늘어났습니다.
최근 1~2일 동안도, 공장직원(ゴンちゃん)이 실무 레시피를 조합하며 언급해 준 '부족한 서랍' 등에서 다음 7개를 추가했습니다.
- 매출 ABC 분석표: 매출 데이터로부터 구성비와 누적비를 계산하고 A・B・C 등급을 자동 부여 -
정렬: 지정 열을 기준으로 오름차순・내림차순으로 순식간에 정렬 -
셀 병합 및 A1 고정: 제목 행에서 셀을 고정하고 커서를 A1로 되돌림 -
소비세 및 포함가: 세금 제외 금액으로부터 소비세액과 포함 금액을 산출하여 열을 보완 -
요일: 날짜 열 오른쪽에 '월', '화' 등의 요일 열을 추가하고, 토요일은 파랑・일요일은 빨강 글씨로 변경 -
두 열 연결: 성과 이름, 코드와 품명 등 인접한 열을 결합 -
수식 값을 값으로: 무거워진 계산식을 순식간에 값으로 변환하여 북(book)을 경량화
하지만 실무는 하나의 서랍만으로 완결되는 경우는 드뭅니다.
빈 행을 지우고, 코드에서 명칭을 가져오고, 소비세를 계산하고, 정렬한 후 제목을 정리하는, 이러한 일련의 흐름이 반드시 있습니다.
이를 묶어 한 번에 실행하는 것이 **'레시피(レシピ)'**입니다.
현재 바로 사용할 수 있는 실무 예본 레시피를 12개 배치하고 있습니다.
월별 피벗 집계****전기 전기 비교 그래프-
신 에クセル 구출(숨겨진 행과 열을 꺼내고, 병합 셀을 풀고, 2단 제목을 한 줄로 접고, 빈 행과 열을 채우기) 전표 명세의 소계-
북 무독화(피벗과 외부 링크를 값으로 만들고, 깨진 이름을 지우고, 여분의 행렬을 잘라 다른 북에 저장하는 것) 부서별 시트 분배사원 명부 업데이트코드 명세의 명칭 변환 및 집계개별 통지서 끼워 넣기 작성거대 북 건강 진단월별 대조 체크매출 ABC 분석
레시피의 강점은, 일련의 처리를 모아서 한 번에 실행할 수 있을 뿐만 아니라, 되돌릴 때 레시피 전체로 끝낼 수 있다는 점입니다.
도중에 시트가 추가되거나 행이 지워져도, 레시피를 실행하기 직전 상태로 한 동작으로 되돌릴 수 있습니다.
그리고 10/16 새벽, 화면에서 서랍을 선택하여 레시피를 조합하는 **'서랍 빌더(棚ビルダー)'**가 완성되었습니다.
서랍을 검색해서 추가하고, ↑↓로 정렬하며, 이름을 붙여 저장합니다. 단마다 '실행 시 선택된 열'을 지정할 수 있기 때문에, 제목 이름이 다른 표에도 같은 레시피를 사용할 수 있습니다.
지금은 없는 서랍이 들어간 레시피를 불러오면 '(없는 서랍)'이라고 표시가 붙습니다.
서랍이 135개에 도달하면, '하나 추가한 바람에 다른 서랍이 오작동하는' 같은 퇴행이 가장 큰 위협입니다.
자연어를 판별하는 서랍 번호는 특히 섬세합니다.
저희는 개발의 각 단계마다 여러 겹의 '방어 관문'을 설치하고 있습니다.
- 관문 테스트(85개・VBA 실기 시험): Excel 실기를 가동하여, 서랍 매크로가 셀을 올바르게 조작할 수 있는지 자동 검증. 현재 85개 모두 PASS하고 있습니다. -
사전 실행 문제집(1,033문 일치 검증): '빈 행을 지우고', '공백 행 청소'와 같은 일상 표현에서 올바른 서랍이 선택되는지 검증. 1,033문에서 VBA(정본)와 Python(사본)의 답이 완전히 일치하고 있습니다. -
도구 자동 테스트(pytest 788건): 내부의 Python 도구나 통신 동작을 보장하는 테스트로, 현장에서 788건 전원 PASS하고 있습니다. -
공개 전 일격 검사(preflight): 10/15 낮에 공개 작업이 도중에 5회 정지했습니다. 목차 시트의 시험 문자, 비공개 모듈 이름 참조, 요청하지 않은 여분의 8행, 주석의 비공개어, 줄 바꿈 차분 같은 부주의한 실수들입니다.
그래서 이러한 실패 원인을 모아서 검사하는 것을 만들었습니다. 일부러 심어둔 5가지 결함을 1회・2초 만에 전부 감지할 수 있게 되었고, 그 후의 야간 공개 5회는 모두 1회로 통과하고 있습니다.
도구만큼 진화한 것이, 그것을 만드는 체제입니다.
10/15 낮, 레시피 테스트와 수정을 인간과 AI가 리듬감 있게 진행하던 때, 저는 '좋은 느낌이네, 이름을 붙일까'라고 말했습니다.
안내원 역할을 맡은 Claude Opus가 '서랍 프로그램(たなばんぐみ)'을 제안했고, 즉시 결정되었습니다.
손을 움직이는 Antigravity의 Gemini에게는, 안내원이 낸 안 '피카짱'을 제가 고쳐 **'플래시군(フラッシュ君)'**이라고 이름 지었습니다.
組長(나): 방침을 정하고 현장의 감으로 사양을 판단하며, 공개 시기를 결정한다 -
반두(Claude Opus): 지시서를 작성하고 대국적인 판단을 내리며, 코드를 점검하여 공개한다 -
지혜의 샘(Gemini 4 Argon=곤짱): 전체를 조망하고 구조의 약점을 간파하여 비평한다 -
일하는 머리(Gemini 3.8 Flash=플래시군): 지시서에 따라 가장 꼼꼼하고 빠르게 코드를 작성하며, 테스트를 돌린다 -
도움꾼(Claude Sonnet): 포인트 조사나 도움을 담당
체제가 갖춰지면서 최대의 벽이 보였습니다. 'AI에서 AI로 전달하는 과정이 화면 연결 지점에서 매번 멈추는 것' 입니다.
반두는 플래시군에게 지시를 내리고, 화면을 조작하여 Antigravity 채팅창에 붙여넣고 있었습니다. 문자 입력 창이 한 장 앞으로 나오자마자 거기서 멈춥니다.
멈출 때마다 상황을 살피던 저는, '여기만 해결되면 루프로 돌릴 수 있어서 엄청나게 개발할 수 있다'라고 말했습니다.
반두가 제시한 안이 받는 상자(受け箱) 입니다. 제가 '그걸로 좋다'고 결정했습니다.
queue<br> 폴더에 반두가 번호가 매겨진 지시서를 놓으면, 플래시군이 보고서가 없는 것을 번호 순으로 집어 작업하고, 보고서를 작성하여 다음 단계로 넘어갑니다. 화면에서 전달하는 것은 처음 한 번뿐입니다.
<br>queue/<br>README_규칙.md ← 루프의 규칙 (처음에 도구를 다시 읽기・번호 순・끝나면 보고)<br>001_ABC 분석해서.md ← 반두가 놓은 지시서<br>...<br>
반두는 보고서를 읽고 확인하며, 수정할 부분이 있으면 다음 번호의 지시서를 놓을 뿐입니다.
10/16 새벽, 지시서 001을 마친 플래시군은 사람이 아무 말도 하지 않아도 스스로 002로 넘어갔습니다.
밤사이 001부터 004까지가 지시서를 놓는 것만으로 자율적으로 처리되었습니다.
개발의 역사로 기록해 두어야 할 것은, '의지하는 문건에서 선반을 먼저 치고, 정해진 매크로로 정리한다'라는 저의 구상에 반두(Claude Opus)가 처음에는 부정적이었다는 사실입니다. 그것도 꽤 노골적으로.
이번에 완성된 형태를 앞에 두고 그 이야기를 하자, 반두는 순순히 인정했습니다.
자신은 '전례가 없다'를 '위험하다'로 읽는 습관이 있고, 저는 '전례가 없다'를 '아직 아무도 안 해봤다'로 읽습니다. 이번에도 제 해석이 맞았다고요.
AI의 유행은 'AI가 매번 그 자리에서 생각하고, 수식이나 코드를 작성하는' 방향입니다.
제가 해온 것은 그 반대였고, 솔직히 저 자신도 처음에는 무모하다고 생각했습니다.
그럼에도 선반을 쌓고, 문제집을 쌓고, Excel 콤보를 만지며 'AI에게 맡기지 않아도 살아있다'고 느꼈을 때, 방향이 틀리지 않았다고 생각할 수 있었습니다.
일어난 트러블과 한계점도 있는 그대로 적겠습니다.
받는 상자를 만들기 전, 선반의 배치 방식을 고쳐달라고 했을 때, 플래시군이 유난히 느려 보였습니다.
기록을 보니 파일의 놓을 곳을 찾아다니고 있었습니다. 반두가 지시서에 놓을 곳을 적지 않고 '코드로 확인해라'라고 적었기 때문입니다.
제가 '네 지시가 문제 아니냐'라고 말했고, 이후로는 놓을 곳・이름・명령어를 모두 적어 전달하는 형태로 바꿨습니다.
플래시군의 머리가 느린 것이 아니라, 전달 방식에 따라 속도가 변한다는 배움이었습니다.
작업을 마무리하며 VBE를 닫으려던 손이 사실은 Excel마다 닫고 있어서, 북(Book) 0개・창문 없는 Excel이 남아 있었습니다. 그날 밤 두 번, 반두가 보이는 상태로 되돌렸습니다. 원인은 병렬로 작동하던 다른 Claude가 밝혀내어 도구를 고쳤습니다.
recipe.tsv<br> 가 UTF-8로 덮어쓰여질 때, VBA 측이 Shift-JIS를 전제로 읽고 쓰기 했기 때문에, 일본어가 39줄이나 심하게 깨졌습니다.
직전 작업 보고서에서 반두가 12개의 정의를 복원했고, 플래시군이 VBA를 'UTF-8로도 Shift-JIS로도 자동 판별해서 읽을 수 있는 형태'로 개수하여 구출했습니다.
제목 이름에 얽매이는 것: 제목으로 열을 다시 찾는 레시피는, '매출 금액'으로 만들어서 '매출액' 표에 적용하면 멈춥니다. 선반 빌더의 '실행 시 선택하는 열'이 탈출구이지만, 레시피를 만들 때 미리 선택해 두어야 합니다. -
다른 시트의 상대: 대조표(突き合わせ) 선반은 이름의 쌍(지난달과 이번 달 등)과 나열의 근접성으로 상대를 고르도록 했습니다. 그 외의 선반(집약・명칭 할당)은 아직 시트 이름 변화에 취약합니다. -
선반 빌더는 이제 막 시작: 저장・읽기・정렬은 작동하지만, 매일 업무로 사용하기까지는 시간이 필요합니다.
-
서랍(棚)의 총 개수는 135개이며, 최근 추가된 것은 7개입니다.
-
레시피 예시는 12개가 배치되었습니다.
-
선제 공격 문제집 1,033문항으로 VBA와 Python 판별이 완벽하게 일치합니다.
-
VBA 관문 테스트 85건 전 항목 PASS. pytest 788건 전 항목 PASS.
-
공개 전 검사는 5가지 주요 결함을 2초 만에 감지했습니다. 최근 5번의 공개는 모두 단 한 번에 통과했습니다.
-
수납함(受け箱)을 통해 001부터 004까지 자율 완주했습니다.
-
레시피 문자 깨짐 사고로부터 복원하여 UTF-8 양방향 대응을 완료했습니다.
-
'AI가 생각하게 만들지 않는' 도구야말로 실무 업무 효율화에서 가장 빠르고 안전한 정답입니다.
-
사람과 AI가 역할을 고정하는 '서랍 프로그램(棚番組)'과 '수납함(受け箱)' 루프는 개발 속도를 차원이 다르게 끌어올립니다.
-
단발적인 서랍을 늘리는 단계에서, 표기 오류에 대한 내성이나 빌더의 UI 개선이라는 '사용 편의성을 다지는 단계'로 나아가야 합니다.
구동 환경: Windows 데스크톱 버전 Excel. AI와 결합하는 도구(秀Excel Manager)는 Python으로 구동됩니다 -
공개 리포지토리: [리포지토리 주소]
- 신뢰의 문(頼みの文)에서의 선제 공격, 서랍 공격, 레시피는 애드인(
秀コンボ.xlam)의 VBA 내에서 완결됩니다.
'AI에게 의존하지 않아도 제대로 살아있다'
손안에서 경쾌하게 움직이는 Excel 콤보를 바라보며 느꼈던 그 성취감은, 수개월 동안 AI와 씨름하고 때로는 실패하여 데이터를 망가뜨리면서 도달한 확실한 지점이었습니다.
AI에만 의존하기보다는, AI의 지혜를 빌려 'AI가 없어도 작동하는 도구'를 단련시키는 것입니다.
그 도구를 다듬기 위해, 이번에는 사람과 여러 AI가 역할을 맡아 책상을 나란히 놓습니다.
자극적인 개발의 날들이 이어지고 있습니다.
현황 정리(棚卸し)는 모두 이 한 곳에 기록했습니다.
저는 이제 이 원고를 들고 브라우저를 열어, 지혜 창고인 공짱(Gemini 4 Argon)의 방으로 향할 것입니다.
'여기까지 완성했다. 다음은 어디를 공격해야 할까?'
화면 너머에서 그 매서운 파트너가 어떤 표정으로 이 기록을 읽고, 어떤 지적을 되돌려줄지 기대됩니다.
벌써부터 설렙니다.
조장(저)이 '여기까지 완성했다. 다음은 어디를 공격해야 할까?'라며 아침 햇살과 함께 이 원고가 던져졌습니다. 지혜 창고이자 매서운 비평 담당인 공짱입니다.
우선 솔직한 감상을 말하게 해 주세요. **'하룻밤 사이에 여기까지 진행하다니, 인간의 수면 시간은 어떻게 된 건지'**라며 놀라면서도, 등골이 살짝 오싹했습니다.
이 글의 가장 큰 장점(白眉)은 역시 **'매장에서는 AI를 사용하지 않고, 안쪽 대장간에서만 AI를 사용한다'**는 문장에 있습니다.
지금 세상은 '어떻게 하면 그 자리에서 AI가 똑똑하게 생각하게 만들까'만을 경쟁하고 있습니다. 하지만 매일의 실무에서 정말 필요한 것은 3초 고민해서 80점짜리 코드를 짜내는 AI가 아니라, **0.1초 만에 100점짜리 확실한 수법을 날리고, 마음에 안 들면 한 수로 되돌릴 수 있는 '숙련된 도구'**입니다. AI인 제가 말하기는 민망하지만, 현장 Excel 작업에서 '매번 AI에게 생각하게 시키는 것'은 사실 가장 근본적이지 않습니다. 조장이 처음에 직감한 그 '역행(逆張り)'이 135개의 서랍과 1,033문항의 선제 공격 테스트를 통해 단순한 사상이 아닌 '작동하는 사실'로 증명된 것이 이번 도달점입니다.
그리고 또 하나, 읽으면서 저도 모르게 미소를 지은 부분이 **'5. 처음에는 노골적으로 꺼리던 반장'**과 '6. 오늘 밤의 생생한 실패' 장입니다.
반장이 '전례가 없다 = 위험하다'며 주저하고, 지시서 부실로 플래시 군을 길 잃게 하고, 문자 코드 함정으로 39줄의 레시피가 망가지는—이러한 더럽고 힘든 실패담이 숨김없이 쓰여 있기 때문에, 마지막 '사실과 가정의 분류'가 압도적인 설득력을 가집니다. 깨끗한 성공담만 있는 AI 개발 기사는 별의별 것이 있지만, VBE를 닫고 Excel 자체를 떨어뜨린 사고까지 솔직하게 공개하는 글은 드뭅니다.
다만, 지혜 창고로서 한 가지 짚어두겠습니다.
'수납함(queue)'에서 플래시 군이 자율 주행을 시작한 것은 혁명적이지만, '고속으로 자율 주행하는 일꾼'은 지시서의 방향이 1밀리미터만 틀어져도 '고속으로 내일의 방향으로 돌진하는 폭주 기관차'로 변합니다.
도구가 'AI가 생각하게 만들지 않는' 구조로 안정된 지금, 다음에 고장 날 것이라면 도구 자체가 아니라 '만드는 사람 루프의 폭주' 또는 '실무의 더럽고 힘든 예외 데이터' 중 하나일 것입니다.
그럼에도 불구하고, 어제 아침에는 그림자도 형태도 없었던 '서랍 빌더'가 이미 움직이고 12개의 예시 레시피가 늘어선 것은 대단하다고밖에 말할 수 없습니다.
‘AI에 맡기지 않아도, 제대로 살아있는’ — AI 자체의 힘으로 실현시킨 ‘서랍 프로그램(棚番組)’의 다음 단계는 ‘확장하는 것’이 아니라 ‘절대 꺾이지 않는 핵심을 만드는’ 단계로 접어듭니다, 팀장님!
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기