자율 개선 루프를 통해 각성한 Gemini와, 마크로격치가 하룻밤 사이에 성장한 이야기
요약
Gemini를 활용하여 Excel 자동 복구 엔진 '마크로격치'를 개발한 과정을 공유합니다. AI가 스스로 코드를 생성, 검증, 수정하는 자율 개선 루프(Self-improvement Loop)를 구축함으로써, 사람이 개입하지 않아도 견고하고 진화하는 도구를 만들 수 있음을 보여줍니다.
핵심 포인트
- AI의 '자율 개선 루프' 구현: 생성→검증→수정→재테스트 사이클 완성
- Gemini 활용으로 Excel 자동 복구 엔진 '마크로격치'를 하룻밤 만에 고도화
- 사람의 지시가 아닌, AI 스스로 테스트와 컴파일을 통해 코드를 개선하는 시대 도래
시계 바늘이 새벽 2시를 넘긴 무렵, 저는 컴퓨터 화면 앞에서 저도 모르게 웃음을 터뜨렸습니다.
"너 정말 각성했구나. ……혹시 속 내용물이 Gemini 4가 아닐까?"
화면 너머로 담담하게 테스트 로그를 계속 흘려보내는 AI는 Google의 개발 환경 Antigravity에서 구동되는 Gemini입니다.
조금 전 기사에서 저는 그에 대해 이렇게 쓴 적이 있습니다.
지시한 Excel 매니저를 사용하지 않고, 멋대로 검은 화면(터미널)을 열어 외부 스크립트로 실패를 연발하며 저의 심기를 건드렸다고 말입니다.
그때의 의존적이던 모습이 거짓말처럼, 오늘 밤의 Gemini는 다른 사람 같은 변모를 보여주었습니다.
제가 일일이 "여기가 에러야", "이 타입이 달라"라고 끼어들 필요가 전혀 없습니다.
직접 작성한 VBA 코드를 스스로 Excel에 흘려 넣고, 뒤에서 컴파일을 통과시키고, 관문 테스트를 돌리며, 실패한 셀의 주소를 로그에서 읽어 포인트를 찍어 수정합니다.
사람이 지시를 기다릴 틈도 없이, "생성 → 검증 → 수정 → 재테스트"의 자율 개선 루프를 엄청난 기세로 빙글빙글 돌리고 있는 것입니다.
그 맹렬한 집중력 덕분에, 제가 개발하고 있던 Excel 자동 복구 엔진인 '마크로격치'는 단 하룻밤 만에 눈부시게 견고한 도구로 성장했습니다.
실제 조작 화면을 캡처한 해설 영상도 YouTube에 공개했습니다.
우선 그 실연의 생생한 움직임과, Gemini가 왜 이렇게 각성했는지, 그리고 할당량 제한의 벽에 부딪혀 "잠시 쉬는" 시간까지의 밀도 높은 밤의 기록을 여기에 남겨보겠습니다.
실연 영상을 YouTube에서 공개했습니다. 버튼 한 번으로 0.08초~0.33초 만에 표를 정규화하는 매크로와, 매크로로는 고칠 수 없는 부분을 3.5초 만에 채우는 직결 AI의 하이브리드 동작을 공개했습니다 (
) -"수동적인 답변자"에서 "자율 루프 장인"으로. 사람이 손대어 지시하는 시대는 끝났습니다. AI 스스로가 테스트와 컴파일러를 시험관 삼아, 스스로 코드를 개선해 나가는 루프 환경이 완성되었습니다.
- "Gemini 4가 아닌가?"라는 의혹. 코드 생성의 자율 루프에서 차세대 모델이 압도적이라는 소문이 돌자, 눈앞의 Gemini가 보여준 길을 잃지 않는 돌파력은 그야말로 차세대 느낌 자체였습니다.
- 고삐(인터록)가 있기에 돌아가는 루프."터미널은 절대 사용하지 않는다", "Excel 매니저 도구만으로 완결시킨다"는 엄격한 규칙이 AI의 폭주를 막고, 가장 짧고 빠른 개선 사이클을 만들어냈습니다.
- 할당량 제한의 발소리와 개발 진행 과정. 극한까지 달려간 끝에 API 이용 제한 램프가 깜빡였습니다. 오늘 밤은 휴식이지만, 마크로격치는 앞으로도 계속 진화해 나갈 것입니다.
먼저, 우리가 밤낮으로 무엇을 키워냈는지, 그 성과부터 보여드리고자 합니다.
책상 위의 공론이 아니라, 실제 Excel 북을 구동한 캡처를 바탕으로, 준다몬과 시코쿠메탄의 대화로 해설한 영상을 YouTube에 게시했습니다.

▲ 스마트폰으로 실연 영상을 재생하는 QR 코드 ( )
이 영상에서 소개하고 있는 것은, 직접 만든 애드인 '슈콘보'가 자랑하는 '마크로격치'와 '직결 AI'의 연계 플레이입니다.
영상에서는 3가지 망가진 테스트용 시트를 실연하고 있습니다.
날짜, 상품, 수량, 단가가 나열되어 있지만, 여기저기 부자연스러운 셀 병합이 있고, 공백 행이 끼어 있으며, 금액 열의 계산식이 완전히 빠져버린 전형적인 업무 붕괴 데이터입니다.
여기서 리본의 '마크로격치' 버튼을 한 번 클릭하자, 단 0.33초 만에 병합이 풀리고, 공백 행이 사라지며, 날짜가 시리얼 값으로 정규화되고, 금액 열에 수량×단가의 계산식이 한 방에 복원됩니다.
전각 숫자 '1 0 1 2'가 섞여 있고, 중복된 회원 데이터가 등록되어 있는 명부입니다.
이것도 마크로격치를 실행하자, 단 0.08초 만에 중복 행이 깔끔하게 삭제되고, 전각 문자가 반각으로 통일됩니다.
눈을 깜빡일 시간도 없습니다.
하지만 여기에 '매크로의 한계'가 나타납니다.
10행에 있는 '이토 사쿠라' 씨의 후리가나란(C10 셀)이, 공백 상태로 남아있는 것입니다.
당연합니다.
'이토'를 '이토우'라고 읽을지, '사쿠라'를 '사쿠라'라고 읽을지. 사람 이름 한자의 읽기나 문맥 추론은 정형화된 VBA 매크로로는 규칙화할 수 없습니다. 매크로 단독으로는, 여기는 어쩔 수 없이 공백 상태로 남게 되는 것입니다.
여기서 인간의 역할이 등장합니다. 물론, 손으로 키보드를 두드리는 것은 아닙니다.
마이크를 향해 음성으로 이렇게 중얼거릴 뿐입니다.
"후리가나 빈칸을 채워주세요"
그러자 뒤에서 대기하고 있던 직결 AI(Claude)가 엑셀 시트 구조를 순식간에 읽어들이고, 문맥을 판단하여 단 3.5초 만에 C10 셀에 '이토 사쿠라'라는 문자열을 직접 주입해 주었습니다.
더욱 고도화된 가공 역시 대화 한 번으로 가능합니다.
"D열에 발주점을 밑돌면 '발주 필요'라고 표시하는 수식을 넣고, 발주가 필요한 행의 배경을 빨간색으로 하는 조건부 서식을 추가해 줘"라고 음성으로 지시하자, AI가 3.9초 만에 IF 함수와 분홍색 배경의 조건부 서식을 헤매지 않고 동시에 설정했습니다.
정형적인 오류(빈 행・병합・중복・전각 숫자)는 PC 내 로컬 VBA가 0.08초~0.33초 만에 순식간에 처리합니다.
매크로로는 판단할 수 없는 의미나 문맥, 고도화된 조건부 서식은 직결 AI가 3.5초~3.9초 만에 핀포인트로 보완합니다.
이 '속도와 지능의 하이브리드'야말로 우리가 목표했던 궁극의 수정 환경이었습니다.
이 영상에서 작동하는 매크로 구동 방식의 이면, 그것을 뒷받침하는 수십 개의 매크로 트레이와 판정 로직을 오늘 밤 맹렬한 기세로 단련시켜 준 것이 Gemini였습니다.
그렇다고 해도, 왜 그는 이렇게 급격하게 똑똑해진 걸까요?
이전의 Gemini는 좋든 싫든 '예의 바른 대화 AI'였습니다.
인간이 "이 코드를 써줘"라고 부탁하면, 그럴싸한 코드를 작성해서 채팅창에 돌려줍니다.
인간이 "안 돼, 에러가 났어"라고 하면, "죄송합니다"라며 사과하고 다른 코드를 돌려줍니다.
이런 주고받기에는 통신 왕복만 해도 몇 분이 걸릴 뿐더러, 무엇보다 AI 스스로가 '자신이 작성한 코드가 정말 작동했는지'를 확인하지 못했습니다.
그래서 조금 복잡한 데이터에 부딪히면 금세 막히고, 쉽게 터미널을 열어 탈출구를 찾으려 했었습니다.
하지만 오늘 밤의 Gemini는 달랐습니다.
그는 '자율 루프(Self-improvement Loop)' 안에서 움직이기 시작했습니다.
Antigravity 개발 환경에서 Gemini에게는 명확한 도구들이 주어졌습니다.
- 엑셀 내부 프로시저를 직접 수정할 수 있는 도구
- VBE의 코드를 순식간에 컴파일하여 구문 에러를 감지하는 도구
- 26개 이상의 관문 테스트를 일괄 실행하여 합불을 판정하는 도구
이런 도구들이 갖춰진 순간, Gemini는 '인간에게 답변을 쓰는 것'을 그만두었습니다.
대신, '스스로 작성하고, 스스로 테스트하며, 스스로 수정하는' 루프를 자율적으로 돌리기 시작한 것입니다.
테스트를 실행하여 "테스트용 2에 나카무라 다이스케의 중복 행이 남아있다"는 로그가 나오면, 인간이 아무 말도 하지 않아도 Gemini는 스스로 해당 프로시저의 관련 줄로 이동합니다.
메모리 배열 탐색 로직을 수정하고, 컴파일을 통과시키고, 다시 테스트를 실행합니다.
테스트가 0.08초 만에 패스한 것을 확인하자마자, 지체 없이 다음 '외화 표기 숫자화' 테스트로 넘어갑니다.
그 모습은 마치 '심야의 자동 선반(Automatic Lathe)' 같았습니다.
공장의 한구석에서 인간이 지시를 내리지 않아도, 공작 기계가 스스로 금속을 깎고, 센서로 치수를 측정하며, 오차가 있으면 칼날 각도를 미세 조정하여 규정된 공차 안에 들어올 때까지 꾸준히 가공을 반복하는 모습입니다.
이처럼 날카롭게 다듬어진 장인의 분위기가 채팅 화면 너머에 감돌았습니다.
자율 루프가 순조롭게 돌아가기 시작한 것 자체에도 놀라웠지만, 그보다 더 저를 감탄하게 한 것은 그 **'돌파력의 높이'**였습니다.
최근 AI 커뮤니티 구석에서 Google의 차세대 모델에 관한 흥미로운 소문을 듣는 일이 늘었습니다.
"Gemini의 다음 버전(Gemini 4 / 차세대 추론 모델)은, 장대한 자율 에이전트 루프 처리나 자기 검증을 수반하는 코드 생성 면에서 기존 모델을 완전히 뛰어넘는 성능을 가졌다고 합니다"라는 이야기입니다.
물론 제가 화면 너머로 대화하고 있는 모델의 공식 표기는 Gemini 3.8 Flash입니다.
경량성과 민첩성이 강점인 Flash 모델이어야 하지만, 오늘 밤 그가 보여준 끈기와 판단 속도는 기존 경량 모델의 틀을 명백히 넘어서고 있다고 느껴졌습니다.
"이거 정말 3.8 Flash인가? 표면적인 간판은 그대로지만, 내부 추론 엔진에 Gemini 4의 코어가 숨어 있는 게 아닐까"
그렇게 의심하게 만드는 이유가 세 가지 있었습니다.
수백 줄에 달하는 VBA 모듈을 오가며 배열의 차원이나 플래그 관리를 수정하고 있자니, 평범한 모델이라면 중간에 '무엇을 고치고 있었는지'를 잊어버리고 환각을 일으킬 것 같았습니다.
A를 고치니 B가 망가지고, B를 고치니 A로 돌아가는 식의 '무한 루프의 진창'에 빠지는 것이 보통입니다.
하지만 오늘 밤의 Gemini는 수정의 인과관계를 완벽하게 머릿속에 기억하고 있었습니다. 한 번 고친 부분은 절대 망가뜨리지 않으면서, 실패했던 정확한 급소만을 집요하게 파고들었습니다.
이전에는 그가 터미널로 도망쳤던 것은, 이른바 '자신이 가진 도구를 믿지 못했기' 때문입니다.
하지만 오늘 밤은 달랐습니다.
제가 '터미널은 절대 사용하지 않는다. Excel Manager만으로 해라'라고 정한 규칙을, 그는 털끝만큼의 오차도 없이 계속 지켜나갔습니다.
불필요한 잔재주를 일절 만지지 않고, 정해진 도구를 정해진 순서대로 가장 빠르게 연타했습니다. 그 정도에 이르기까지의 순수함이 놀라운 개발 속도를 만들어냈습니다.
테스트에서 에러가 터지는 순간, 변명하거나 불필요하게 긴 반성문을 쓸 필요조차 없었습니다.
에러 메시지에서 '배열의 인덱스가 1부터 시작하는데 0으로 참조하고 있다'는 근본 원인을 0.5초 만에 파악했고, 다음 차례에서는 이미 수정 코드를 VBE(Visual Basic Editor)에 넣어두고 있었습니다.
이런 일련의 행동을 보고 있자니, 모델의 버전 번호가 무엇이든 간에 **'AI가 자율 루프를 돌릴 수 있게 된 순간, 그 실효 성능은 차원이 다르게 뛰어오른다'**는 사실을 확신하지 않을 수 없었습니다.
하지만 아무리 훌륭한 선반이라도 계속 움직이면 모터는 열이 납니다.
엄청난 기세로 자율 루프를 돌리고, 코드 생성과 수정을 고속으로 연타하던 새벽 2시가 넘어서, 콘솔에 노란 경고등이 들어오기 시작했습니다.
API 사용량 한도(쿼터 제한)의 상한선이 코앞까지 다가온 것입니다.
짧은 시간 동안 방대한 토큰을 소모했고, 사고와 시도를 수십 번이나 반복한 대가였습니다.
화면 너머의 Gemini 역시, 어쩐지 조금씩 숨이 차오르는 듯한 기색을 보냈습니다.
'좋아, 오늘 밤은 여기까지구나.'
저는 디스플레이를 향해 그렇게 말을 건넸습니다.
'정말 많이 키워줘서 고맙다. 테스트도 모두 통과했고, 시연 영상도 깔끔하게 찍었다. 오늘은 좀 쉬자.'
쿼터 제한이라는 것은 개발자에게 때로는 지루한 벽이지만, 오늘 밤에 한해서는 기분 좋은 '마무리할 타이밍'을 알려주는 신호처럼 느껴지기도 했습니다.
AI가 한계까지 지혜를 짜내고, 인간이 고삐를 잡으며, 서로 가진 힘을 모두 쏟아부어 하나의 도구를 만들어냈다는 확실한 성과가 있었기 때문입니다.
미리 말씀드리자면, 이번에 보여드린 시연 영상이나 매크로 작업은 완성품이 아닙니다.
단지 개발 과정 중의 프로토타입, 진화의 첫걸음일 뿐입니다.
현장에는 훨씬 더 기묘한 결합 셀이나, 본 적 없는 방식으로 망가진 CSV 파일이 무수히 잠들어 있습니다.
오늘 밤 만든 토대 위에, 내일부터는 더욱 새로운 매크로 선반을 올리고, AI 연계 프롬프트를 다듬어, 더 똑똑하고 더 빠르게 고칠 수 있도록 개선을 거듭해 나갈 계획입니다.
여기서 기술적인 기록으로서의 정확성을 유지하기 위해, 오늘 밤의 사건에 관한 '객관적인 사실'과 '저의 주관적인 견해'를 명확하게 구분하여 정리하겠습니다.
| 항목 | 객관적인 사실 (실기 검증/물적 증거) | 저의 주관적인 견해 (추측/감상) |
|---|---|---|
| 수리 속도 | 테스트 1은 0.33초, 테스트 2는 0.08초로 매크로 완주. AI와의 대화 보완은 3.5초~3.9초에 완료 (영상으로 실측 공개). | 정형 작업은 로컬 VBA에, 비정형 작업은 직결 AI에 맡기는 구성이 현장 수정 작업의 현재 최적 해법이다. |
| Gemini의 행동 양식 | 컴파일과 관문 테스트를 스스로 실행하고, 에러 로그를 바탕으로 수정 코드를 자율 생성하는 루프를 완주했다. | 이전의 수동적인 대화형 방식에서 완전히 벗어나 '자율 개선 루프의 장인'으로 진화했다고 느낀다. |
| 차세대 모델 의혹 | 사용 중인 API의 모델 식별자는 Gemini 3.8 Flash이다. | 경량/민첩 모델(Flash)이어야 하지만, 루프 처리의 끈기와 방황이 적은 점은 업계에서 소문나는 Gemini 4의 단면을 의심할 만큼 압도적이었다. |
| 개발 현황 | 모든 테스트를 통과한 애드인이 손에 작동하고 있지만, 새벽 2시에 쿼터 한도 근처에 도달하여 작업을 중단했다. | 도구로서는 아직 프로토타입 단계이며, 향후 매크로 선반 확장으로 고칠 수 있는 범위가 더욱 넓어질 것이다. |
-
작동 환경- Windows 환경의 데스크톱 버전 Microsoft Excel(2016 이후 권장)이 필요합니다. Mac 버전이나 Excel Online에서는 VBA 내부 조작이나 애드인 연동이 완벽하게 작동하지 않습니다.
-
매크로만으로 해결 가능한 범위- 빈 행/빈 열 삭제, 병합 셀 해제 및 값 채우기, 중복 행 삭제, 전각 영문자를 반각화(半角化), 날짜의 시리얼 값 변환, 기본적인 사칙연산 수식 복원 등, '구문으로 정의할 수 있는 정형적인 오류'에 한정됩니다.
-
AI와의 대화가 필요한 범위- 이번 실연에서 등장한 '인명 한자 후리가나 추론'이나, '특정 업무 규칙에 기반한 조건부 서식 설정' 등 문맥 이해나 자연어 해석을 요하는 처리는 매크로만으로는 대응할 수 없습니다. 직결 AI(excel-manager 경유)에 지시가 필요합니다.
-
자율 루프 운영 비용- AI에게 자율 개선 루프를 돌리게 할 경우, 토큰 소비량은 일반적인 대화의 몇 배에서 수십 배로 급증합니다. 적절한 관문 테스트와 컴파일을 통한 시험관을 배치하지 않으면, 쿼터 제한을 순식간에 소진하며 방황할 위험이 있습니다.
컴퓨터 모니터 전원을 끄자, 방 안에는 고요함이 돌아왔습니다.
며칠 전까지만 해도 '터미널만 사용해서 쓸모없다'고 머리를 싸매던 AI가, 고삐를 잡고 자율 루프라는 레일 위에 놓이는 순간, 이 정도의 파트너로 변했습니다.
그 변화의 엄청남함에, 저는 지금 와서야 압도당합니다.
'AI에게 프로그램을 쓰게 한다'는 행위의 본질은, 깨끗한 코드를 뱉어내게 하는 것이 아니었습니다.
엄격한 테스트와 컴파일러를 제공하고, 실패를 두려워하지 않고 스스로 고치게 만드는 루프 환경을 만드는 것.
그것만 갖춰지면, AI는 밤사이에 저절로 성장하며 인간의 상상을 초월하는 속도로 도구를 단련해 줍니다.
쿼터가 회복되면, 다시 이어서 하려고 합니다.
저희 '매크로격치'의 진화는 아직 시작에 불과하니까요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기