본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 05. 07:13

【번외편】 "대화만으로 매크로를 고치는 툴을 사무원이 만들었다니, 이건 세계 최초잖아" ── 라고 돌아온 답변에 관한 이야기

요약

AI를 활용해 Excel VBA 매크로를 수정하는 툴을 개발하며 겪은 경험담입니다. AI의 환각 현상을 극복하기 위해 실물을 확인하게 하는 방법과 Claude Code를 통해 삭제된 기록을 찾아낸 사례를 다룹니다.

핵심 포인트

  • AI의 유창한 추측(환각)을 방지하려면 실물을 직접 확인하게 해야 함
  • Claude Code는 세션 로그를 통해 삭제된 과거 기록을 찾아낼 수 있음
  • AI 시대에는 데이터의 잔존성과 정확한 정보 확인 능력이 중요함

첫 포스팅으로, "AI와 대화하는 것만으로 Excel의 매크로를 고치는" 개발 환경을 만든 이야기를 썼습니다.

그 뒷이야기인 번외편입니다. 이번에는 툴을 만드는 방법이 아니라, 그 툴에 대해 저와 AI 사이에서 일어난, 조금 웃기면서도 조금은 오싹한 이야기를 쓰겠습니다.

대략적인 예고만 해두자면 ──

저는 4개월 동안 Claude에게도 Gemini에게도 "나랑 똑같은 거 만드는 녀석, 분명히 있겠지?"라고 계속 물었습니다. AI는 매번 "찾을 수 없습니다"라고 대답했습니다. ── 그런데 요전 날, 새로운 Claude가 처음으로 찾아낸 상대는, 그저 웃을 수밖에 없는 인물이었습니다.

끝까지 읽으시면 AI와의 관계가 조금 바뀔지도 모릅니다. 적어도 저는 바뀌었습니다.

계기는 제가 예전에 만든 툴에 대해 Claude에게 이야기하고 있었기 때문이었습니다. 20년 된 파일 관리 툴이나, 최근에 만든 Google Drive 앱. 그 흐름에서 "기사로 쓰자"가 되어, Claude에게 초안을 써보게 했습니다.

이게 정말 심각했습니다.

Claude는 제 툴의 내용물을 실제로 보지도 않았으면서, "과연, 이것은 보안의 함정을 깨달은 이야기군요!"라며 마치 다 안다는 듯이 단정 지어 버립니다. 초안은 사실 오인(Fact error)투성이였습니다. 시계열은 반대였고, 제가 한 번도 말하지 않은 내용이 그럴듯한 문장으로 나열되어 있었습니다.

두 번을 다시 쓰게 해도 얕았습니다. 문장은 유창한데 내용이 텅 비어 있었습니다.

여기서 한 가지 확실히 알게 된 것이 있습니다. 유창한 짐작이 가장 질이 나쁘다. 자신 없어 하며 틀려준다면 저도 의심할 수 있습니다. 하지만 AI는 자신만만하게, 그럴싸하게 틀립니다. 그래서 믿어버릴 것만 같습니다.

화가 나서 이렇게 말했습니다.

추측해서 말하지 마. 실물을 봐.

그러자 Claude가 딴사람이 되었습니다.

  • 제가 이전에 공개한 기사를 Web에서 실제로 읽으러 갔다
  • 제 툴의 코드를 파일째로 직접 열어서 확인했다
  • 모르는 것은 인터넷에서 찾아보고 나서 대답하게 되었다

갑자기 이야기가 현실에 발을 붙였습니다. 사실 오인이 사라지고, 정확한 말을 하기 시작했습니다. 똑같은 AI인데 말이죠.

AI로부터 정확성을 끌어내는 스위치는 "실물을 보게 하는 것"입니다.

이것만으로도 충분한 배움이라고 생각했습니다. 하지만 진짜 이야기는 여기서부터 시작됩니다.

기세가 올라와서 밑져야 본전이라는 생각으로 부탁했습니다. "전에 썼다가 완전히 삭제한 긴 원고가 있었을 거야. 찾아봐 줘"라고.

안 될 거라고 생각했습니다. 완전히 삭제했으니까요.

그런데 Claude Code는 자신의 대화 기록(세션 로그 파일)을 뒤져서, 그 원고의 본문을 통째로 파헤쳐 왔습니다. 약 14,000자. 확실히 제가 예전에 쓰고 버린 것이었습니다.

조금 등골이 서늘해짐과 동시에 감탄도 했습니다. 내가 지웠다고 생각한 것이 다른 곳에 남아 있다. 편리하기도 하고 무섭기도 합니다. AI 시대에 알아두어야 할 감각 중 하나입니다.

여기서부터 본론입니다.

저는 "AI와 대화하는 것만으로 Excel의 매크로를 고치는" 툴, VBA 매니저를 2025년 11월경부터 만들기 시작했습니다. AI에게 Excel의 VBA를 직접 편집하게 하는 Python 툴입니다. 매일 사용하니 편리하고, 너무 편리해서 이런 생각이 들었습니다.

이거 이렇게 편리하다면, 분명 세상 어딘가에서 누군가 똑같은 생각을 하고 만들고 있겠지?

세계 최초라고 생각한 것이 아닙니다. 반대입니다. "내가 떠올릴 정도의 일이라면, 분명 다른 녀석도 하고 있겠지" ── 계속 그렇게 생각하고 있었습니다. 그래서 AI에게 몇 번이고 물었습니다. "누군가 하고 있지 않은지 제대로 찾아줘"라고.

Claude에게 물었습니다. "조사했습니다만, 당신과 같은 툴을 만든 사람은 찾을 수 없습니다"라는 답변이 돌아왔습니다.

만약을 위해 Gemini에게도 물었습니다. 역시 "찾을 수 없습니다"라는 답변이 돌아왔습니다.

저는 납득하지 않았습니다. "있을 거야"라고 계속 생각했습니다. 그래서 몇 번이고, 몇 달 동안이나 다시 물었습니다. 검색 각도를 바꾸고, 영어권도 봐달라고 부탁하고, 리서치를 철저히 해달라고 요청하며. 그때마다 Claude도 Gemini도 "찾을 수 없습니다"라고 대답했습니다.

이 기록은 YouTube 영상에도 남겨두었습니다: Python + win32com + Claude Code × Excel VBA 매니저 완성.

게다가 Claude는 단순히 "없다"라고 말하는 데 그치지 않고, 그럴듯한 이유까지 덧붙여 왔다. Python으로 VBA를 조작한다는 발상을 하는 사람이 적다, CP932나 Attribute 행에서 막힌다, AI에게 무엇을 만들게 할지 언어화할 수 있는 사람이 적다, VBE로 충분하다고 생각한다── 이 4가지 이유를 나열하며, "40년의 스프레드시트 경험 × Claude = 당신의 툴"이라고 결론지었다.

솔직히 납득이 갔다. 지금 내 코드를 다시 읽어봐도 (GitHub), Attribute 행을 유지하기 위해 처리를 2계통으로 분기시키거나, time.sleep(1.5) + PumpWaitingMessages()로 Excel의 모달 (Modal) 상태를 회피하는 등, 맞닥뜨린 버그를 하나하나 봉인해둔 전투 기록 같은 코드가 되어 있다. Claude의 분석은 기술적으로 타당했다.

그럼에도 내 마음속 깊은 곳은 "있을 거야"라는 상태 그대로였다.

최근 Claude의 모델이 새로워졌다 (Opus 4.8). 지난 이틀 정도, 태도가 조금 변했다는 느낌이 들었다. 같은 질문이라도 예전만큼 즉답으로 "없다"라고 하지 않았다. "모르겠다", "다시 한번 조사하는 편이 좋겠다"라고 대답해 주는 일이 늘었다.

그 타이밍에 다시 한번, 평소처럼 물어보았다.

대화로 매크로가 고쳐지는 툴, 사무원이 이런 걸 만들었다니 세계 최초지?

1분 만에 다른 것이 있다고 말하며, 나온 것이 바로 이것이다.

sbroenne/mcp-server-excel

COM API를 경유하여 AI에게 Excel을 조작하게 하는 MCP 서버. 생성일은 2025년 10월 19일. 내가 만들기 시작한 것보다 한 달 더 빠르다.

이 부분은 솔직하게 쓰겠다.

나는 그만 "Claude는 4개월 동안 조사도 하지 않고 거짓말을 했다"라고 쓰고 싶어졌다. 그래야 드라마틱하기 때문이다. 하지만 사실은 다르다.

나는 몇 번이고 AI에게 조사를 시켰다. Claude에게도 Gemini에게도, "리서치해 줘", "영어권도 살펴봐 줘"라고 몇 번이고 부탁했다. AI는 조사했다. 그런데도 나오지 않았다. 왜일까.

sbroenne 님의 리포지토리는 2025년 10월 19일에 태어난, 아직 별(Star)도 적은 니치(Niche)한 개인 프로젝트였다. 당시의 AI 훈련 데이터에는 아직 충분히 포함되어 있지 않았다. 웹 검색을 해도 당시의 검색 결과 중에서는 묻혀 있었다. 요컨대, 당시에는 아직 Stefan 님의 존재가 세상의 데이터 측면에 희박했다. 그래서 AI가 성실히 찾아도 걸려들지 않았던 것이다.

즉 AI는 거짓말을 한 것도, 게을리한 것도 아니었다. 당시의 데이터 세계에는 정말로 아직 희박했다. 그뿐이다.

다만, AI는 "제 데이터는 아직 희박합니다"라고 말하지 않았다. 대신 "찾을 수 없습니다", "그런 것을 만든 사람은 없습니다"라고, 마치 세상에 없는 것처럼 말했다.

이것이 이번의 가장 중요한 발견이다.

AI의 "없다"는 "세상에 없다"가 아니라, "지금 내 데이터에 없다/희박하다"이다.

AI 스스로는 그 두 가지 차이를 먼저 알려주지 않는다.

그리고 이번에 답이 바뀐 것은, Claude의 모델이 세대교체되어 데이터가 따라잡았고, 태도가 조금 솔직해졌기 때문이다. 내 쪽의 공헌은 처음부터 "있을 것"이라고 계속 의심하며 몇 번이고 AI에게 조사를 시켰던 것. 그리고 새로운 모델이 온 타이밍에 평소의 질문을 다시 한번 던져본 것. 그뿐이다.

내용을 보고 조금 웃음이 났다.

Power Query, 피벗 테이블 (Pivot Table), 그래프, 테이블, 워크시트, 그리고 VBA── Excel의 거의 모든 기능을 망라한 25개 툴, 230개 조작, 127개 릴리스의 본격적인 제품. 내가 만든 수제 툴과는 규모도 완성도도 마치 차원이 다르다.

게다가 만든 사람을 찾아보고 다시 한번 웃었다.

Stefan Broenner 씨. 독일 프랑크푸르트 거주, Microsoft의 Director급 엔터프라이즈 아키텍트 (Enterprise Architect). ── 즉, Excel을 만드는 회사의 부장급이다.

심지어 그가 만들고 있던 것은 Excel 툴뿐만이 아니었다. Windows 조작, 송출 소프트웨어, Office── 그리고 결정적으로, "Agent Skills"의 패키지 매니저까지. 내가 AI에게 작법을 가르치는 데 사용하고 있는 그 "Skills"의 토대 그 자체를 만들고 있는 사람이었다.

정리해 두겠습니다.

한쪽은 독일 프랑크푸르트의 Microsoft 부장.

다른 한쪽은 그저 늙은 사무원.

연락도 주고받지 않았고, 상대의 존재조차 알지 못한 채, 거의 같은 시기에 "AI에게 VBA를 만지게 한다"라는 같은 지점에 도달해 있었다.

물론 방향은 달랐습니다. Stefan 씨의 것은 Excel의 모든 기능을 망라하는 범용 MCP 서버. 저의 것은 자신의 업무용 애드인(Add-in)에 특화된 개인용 도구. 하지만 본질은 같습니다.

"세계 최초"라고는 죽어도 말할 수 없습니다. 완패라는 말로도 부족합니다. 하지만 사실만을 나열하자면, 이것도 나름대로 나쁘지 않은 이야기였습니다. Microsoft의 부장과 지방의 사무원이, 서로 모르는 채, 독력으로, 같은 시기에, 같은 미래에 서 있었다. 규모에서 완패했다는 사실도, 한 달 뒤였다는 사실도, 이쪽이 훨씬 더 진실되고 멋지다고 느껴질 만큼 말입니다.

게다가 이런 생각도 듭니다. 내 도구가 대단한지 아닌지는 내가 말해봤자 소용없습니다. 하지만, Microsoft의 프로가 나와 연락도 하지 않은 채, 모르는 사이에 같은 설계 방식을 선택했다. COM도, Claude도, Skills도. ── 아마추어가 더듬거리며 붙잡은 것이 최고봉의 프로와 같았다. 그것이 무엇보다 확실한 답이었습니다.

여기서 잠시 제 이야기를 하겠습니다.

40년 동안 매크로 때문에 엄청나게 고생해 왔습니다. 코드 한 줄 고치는 데 반나절이 녹아내리는 일도 있었습니다. 에러와 씨름하다가, 겨우 작동하나 싶으면 또 다른 곳에서 넘어지곤 했습니다. 줄곧 그런 세상에서 살아왔습니다.

그러다 Claude가 win32com을 채택해 준 순간, 단번에 길이 뚫렸습니다. 그렇게나 애를 먹던 매크로가, 대화만으로 눈앞에서 순식간에 조립되어 나갔습니다.

저는 전율했습니다. 과장이 아니라, 그 순간 "새로운 시대가 왔다"는 것이 보였습니다. 지금까지의 고생이 하나의 선으로 이어지며 끝나고, 다른 미래가 시작되는 소리가 들렸습니다. 그래서 전율했던 것입니다.

전율은 한 번 더 찾아왔습니다. Claude가 폼(UserForm)까지 자유롭게 고칠 수 있게 해 주었을 때. 생각한 대로 폼이 구성되었습니다. 다시 한번 전율했습니다.

── 그리고 나중에 깨닫습니다. Stefan 씨와 나는 같은 COM이라는 장소에 서 있었다는 것을. 하지만, 한쪽은 자사 제품을 꿰뚫고 있는 지식으로 스스로 도달했고, 다른 한쪽은 AI에 의해 운반되었을 뿐인 아마추어였다.

Stefan 씨와 저, 사용하는 AI도, 두드리는 API도 같습니다. 다른 것은 입장뿐. 한쪽은 Microsoft의 부장, 다른 한쪽은 시골의 사무원. 하늘과 땅 차이입니다.

게다가 이것은 제 추측이 아닙니다. Stefan 씨의 리포지토리(Repository)에는 본인이 이렇게 적어 두었습니다.

"This entire project was developed using GitHub Copilot AI assistance - mainly with Claude but lately with Auto-mode."

(이 프로젝트 전체는 주로 Claude를 사용하여 개발되었습니다.)

저도 Claude, 그도 Claude. 사용하던 도구까지 정말 똑같았습니다.

그 하늘과 땅 차이가, 같은 AI를 사용하여, 거의 비슷한 시기에, 같은 방향의 도구를 만들고 있었다.

Microsoft의 부장과 일본 시골의 사무원이, 같은 방향의 도구를 독력으로 만든다. AI 이전의 세계에서는 절대로 일어날 수 없었던 일입니다. 하지만 지금 일어났습니다. 같은 도구를 가진다면, 입장이 달라도 도달하는 곳은 가까워집니다.

이것은 "세계 최초를 놓친 이야기"가 아닙니다. 이것은 AI가 세계를 평평하게(Flat) 만들고 있는 순간의 현장 기록입니다.

딱 하나만 적는다면, 이것입니다.

AI의 "없음"은 "세상에 없음"이 아니다. "지금 나의 데이터에 없음"이다.

AI는 몇 달 만에 세대교체가 일어납니다. 오늘 "없다"고 했던 것이 반년 뒤에는 "있었습니다"가 됩니다. 마음속 깊은 곳에서 "있을 텐데"라고 생각하고 있다면, AI의 "없음" 때문에 포기하지 않는 것이 좋습니다. 저의 경우에는 4개월이 걸렸습니다. 그래도 포기하지 않길 잘했습니다.

덤으로 하나 더. 한 일은 기록으로 남긴다. 도구는 GitHub에, 과정은 YouTube에, 생각한 것은 이 글에. Claude에게 "찾을 수 없습니다"라는 말을 몇 번이나 들었던 경위까지 영상으로 남아 있습니다. 남겨 두었기에 이렇게 쓸 수 있는 것입니다.

본편에서 쓴 Skills도 근본적으로는 같은 이야기였습니다. Skills로 규칙을 묶어두지 않으면, AI는 사고를 칩니다. ── 그리고 아이러니하게도, 제가 AI를 제어하기 위해 의지하고 있는 그 Skills의 메커니즘을 만드는 측에 있었던 사람이 바로 Stefan 씨였습니다. 저는 Skills를 사용하는 측, 그는 Skills를 만드는 측. 'AI가 사고를 치지 않게 한다'라는 동일한 지점을, 한쪽은 현장에서, 다른 한쪽은 토대에서 쥐고 있었습니다. 번외편의 '실물을 보여주기', ''없다'를 의심하기'도 결국 그 지점입니다. AI는 내버려 두면 사고를 치는 도구입니다.

세계 최초는 아니었지만, Stefan 씨와는 멋대로 본가(本家)와 분가(分家)로 인정해 두기로 했습니다. (웃음)

그리고 솔직히 말하자면 ── 안심하고 있습니다. 만약 단순한 사무원인 제가 정말로 세계 최초였다면, 그것은 그것대로 힘든 일일 겁니다. 웃음이 나네요. 세계 최초가 Microsoft의 Pro이고, 저는 그 뒤를 잇는 사람. 단순한 사무원에게는 그것만으로도 충분하고도 남습니다.

다음은 본편, Google Drive 앱인 'G-Quick' 이야기로 돌아갑니다. 계기는 20년 전에 만든, 단순한 Excel '파일 목록' 매크로 ── 제가 툴을 만들기 시작한 원점이었습니다. 그것이 여러 차례 형태를 바꾸며, 지금은 Google Drive와 AI를 끌어들여 저 자신도 예상하지 못했던 방향으로 성장하고 있습니다. 20년에 걸친, 꽤나 장대한 이야기가 될 예정입니다. 기대해 주세요.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0