본문 바로가기
카테고리 없음

AI가 만들어 준 두개의 프로그램, Antigravity로 프로그램 하나로 합치기

by tamasblog 2026. 4. 9.

퇴근하고 집에 돌아오면 보통 컴퓨터를 켜자마자 상품 작업부터 시작해요.

 

도매 사이트에서 상품을 고르고, URL을 뽑고, 사진을 저장하는 루틴인데요. 지금까지는 이걸 두 프로그램으로 나눠서 했어요. URL 크롤링 프로그램 켜고 작업하다가, 사진 저장 프로그램으로 넘어가고. 둘 다 제가 직접 만든 프로그램이라 기능은 딱 필요한 것만 있고, 각각으론 잘 돌아갔거든요.

 

그런데 어느 순간부터 이 둘을 따로 사용하는게 거슬리기 시작했어요. 두 개 다 켜놓으면 작업표시줄이 비좁고, 하나를 실행하는 동안 다른 하나가 어디 있는지 찾게 되고. 딱히 큰 문제는 아닌데, 매일 반복되니까 티가 나더라고요. 각자 기능은 잘 되지만, 쓸 때마다 조금씩 불편한 느낌이랄까요.

 

그런데 두 프로그램이 처음부터 따로 존재했던 건 자연스러운 흐름이었어요.

 

1일차에 사진 저장 기능을 먼저 만들었고, 이후에 URL 크롤링이 필요해서 그걸 별도로 만들었거든요. 그 시점엔 두 기능이 한 몸이 될 거라고 생각 못 했어요. 지금 당장 필요한 기능을 빠르게 만드는 게 우선이었으니까요.

 

알고보니 개발을 배운 사람들도 처음엔 기능 단위로 쪼개서 만들고 나중에 합치는 경우가 많다고 하더라고요. 저도 모르게 그 방식을 따라간 거예요. 각자 잘 작동하는 두 도구가 손에 있는 건데, 쓰다 보니 하나였으면 더 좋겠다는 생각이 든 거고요.

 

문제라기보다는 성장 과정 같은 거였어요. 써봐야 불편한 게 뭔지 알고, 알아야 개선할 수 있으니까요.

 

1. 두 개의 프로그램을 하나로


해결책은 단순명쾌했습니다. 두 개를 하나로 합치면 되는 거예요.

 

Antigravity한테 말 한마디면 되지 않을까, 하는 생각도 있었어요. 지난 시간동안 그렇게 해왔으니까요. 물론 한 번에 깔끔하게 될 거라는 보장은 없었지만, 일단 시도해보는 것 말고는 방법이 없죠.

 

어떤 결과가 나올지는 시작해봐야 알 수 있었어요.

 

2. 실제로는 이렇게 됐어요


"합쳐줘" 한 마디로 시작

Antigravity 채팅창에 이렇게 입력했어요.

 

"도매사이트 사진 저장 프로그램과 URL 크롤링 프로그램을 하나의 프로그램으로 통합해줘. 두 기능이 하나의 화면 안에서 전부 작동해야 해. 기존 기능은 하나도 빠짐없이 유지해줘."

 

엔터를 누르자마자 Antigravity가 두 프로그램의 코드를 동시에 들여다보기 시작했어요. 프로젝트를 진행할 단계를 계획하고, 각각의 구조를 파악하고, 겹치는 부분은 없는지, 연결하면 충돌이 생기는 곳은 어딘지 분석하는 것 같았어요. 작업 내역이 주르륵 올라가는 걸 보면서 '잘 되고 있는건가?' 싶으면서도, 지금까지 해온 것들이 다 그랬으니까 일단 지켜봤습니다.

Antigravity가 두 프로그램을 합치기 위해 작업하는 장면
Antigravity가 두 프로그램을 합치기 위해 작업하는 장면

 

작업이 끝났다는 메시지가 뜨고 나서 프로그램을 실행했어요. 화면을 보니 두 섹션이 한 창 안에 나란히 배치되어 있었어요. 레이아웃도 자연스럽게 나뉘어 있어서 첫눈에 보기에는 꽤 그럴싸했습니다.

통합 직후 프로그램 초기 화면

 

실제 기능 구동 테스트

겉으로 보기엔 멀쩡한데, 실제로 작동하는지는 직접 눌러봐야 알죠.

 

사진 저장 쪽은 문제없이 됐어요. 그런데 URL 크롤링 버튼을 눌렀더니 아무 반응이 없었어요. 화면이 멈추는 것도 아니고, 에러 메시지가 뜨는 것도 아니고, 그냥 아무 일도 일어나지 않았습니다. 마치 전원이 꺼진 리모컨을 누르는 기분이랄까요.

 

하나씩 눌러보니 크롤링 관련 기능들이 죄다 같은 상태였어요.

 

이쯤 되면 예전의 저 같았으면 당황해서 헤맸을 텐데, 이번엔 의외로 침착하게 대응할 수 있었어요. 5일간 비슷한 상황을 겪어왔으니까요. 안 되는 기능을 하나씩 짚어서 Antigravity한테 전달했어요.

 

"URL 크롤링 시작 버튼을 눌러도 아무 반응이 없어. 크롤링 기능 전체가 작동을 안 하는 것 같아. 고쳐줘."

 

몇 번의 수정을 거쳐서 크롤링 기능이 다시 살아났어요. URL 엑셀 파일이 저장되지 않는 것과 저장 경로 설정이 꼬여있던 것도 한 번 더 수정했고요. 하나씩 테스트하고, 안 되는 것 발견하고, 고쳐달라고 하는 과정을 반복하면서 기능들을 하나씩 복구해 나갔습니다.

URL 크롤링 기능이 정상 작동하는 화면
URL 크롤링 기능이 정상 작동하는 화면

 

프로그램 오류 해결 과정

기능은 다 살아났는데, 이번엔 전혀 다른 종류의 이상함이 생겼어요.

 

프로그램 창 안에서 마우스를 움직이면 커서가 뚝뚝 끊기는 거예요. 그냥 끊기는 정도가 아니라 누가 당기고 있는거처럼 굉장히 느리기까지 했어요. 처음엔 프로그램 오류가 생겨서 컴퓨터 자체가 느려진 줄 알았는데, 옆에 켜놓은 유튜브 영상은 아무 문제가 없었어요. 이 프로그램과 마우스 커서만 문제였던거죠.

 

이게 뭔지 Antigravity한테 물어봤더니, 꽤 설득력 있는 설명이 돌아왔어요.

 

원인은 두 프로그램이 합쳐지면서 URL 크롤링 기능의 마우스 감지 방식과 사진 저장 프로그램의 UI 엔진이 부딪히는 거였어요. 좀 더 풀어서 설명하자면 이렇습니다. 윈도우는 마우스가 1픽셀이라도 움직이면 프로그램한테 "마우스 움직였는데, 어떻게 할래?"라고 물어봐요. 그리고 프로그램이 대답하기 전까지는 커서를 이동시키지 않아요. 문제는 현재 프로그램(파이썬)이 대시보드 화면을 유지하느라 바빠서 이 질문에 제때 대답을 못 하고 있다는 거예요. 윈도우 입장에선 대답이 올 때까지 커서를 잡고 있어야 하니, 그게 화면에서 렉으로 보이는 거죠.

 

배달음식에 비유하면, 음식점 사장님(파이썬) 혼자서 손님 두 테이블 주문을 동시에 처리하다 보니 전화 받을 틈이 없어서 배달 기사(윈도우)가 문 앞에서 계속 기다리는 상황이에요.

 

Antigravity가 이 구조를 짚어주면서 해결책을 함께 제안했어요. 기존 방식은 윈도우가 알려줄 때까지 기다리는 '훅(Hook)' 방식이었는데, 이걸 일정 간격마다 프로그램이 직접 마우스 위치를 확인하는 '폴링(Polling)' 방식으로 바꾸는 거였어요. 기다리지 않고 먼저 확인하러 가는 방식이니 윈도우를 기다리게 할 일이 없어지는 거죠.

 

아키텍처를 전면 교체하는 작업이었는데, 저는 그냥 "제안한 방식으로 수정해줘" 한 마디만 했어요.

 

적용하고 실행해보니 마우스가 완전히 부드러워졌어요. 렉이 깔끔하게 사라졌습니다.

정상적으로 기능하는 프로그램의 모습1
정상적으로 기능하는 프로그램의 모습1
정상적으로 기능하는 프로그램의 모습2
정상적으로 기능하는 프로그램의 모습2

 

완성된 프로그램 사용 후 느낀점

모든 기능이 제대로 돌아가는 걸 확인하고 나서, 처음으로 실제 업무에 써봤어요.

 

한 창에서 URL 크롤링을 돌리면서 동시에 사진 저장 진행 상황도 확인할 수 있었어요. 예전에는 이쪽 창 결과 보고 저쪽 창으로 이동하는 게 당연했는데, 이제는 그럴 필요가 없으니까 흐름이 끊기는 느낌이 없었어요.

 

두 기능이 나란히 배치된 화면을 보면서, 이게 원래부터 하나였던 것처럼 자연스럽다는 생각이 들었어요. 처음부터 이렇게 만들었어야 했나 싶기도 했지만, 써봐야 뭘 합쳐야 하는지도 알게 되니까요.

 

약 열흘 동안 써보니 전보다 작업 전환에 쓰는 시간이 눈에 띄게 줄었고, 무엇보다 집중이 더 잘 됐어요.

 

3. 이런 분께 딱 맞는 글이에요


읽어보시면 좋을 분:

  • 프로그램 기능은 각자 잘 되는데, 한 화면에서 쓰고 싶은 분
  • AI로 만든 프로그램을 계속 개선해 나가는 과정이 궁금한 분
  • 합치다가 기존 기능이 망가질까 봐 선뜻 시도 못 하고 계신 분
  • AI가 기술적인 오류를 어디까지 설명해주는지 궁금한 분
  • 완성품이 아닌, 만들어가는 과정 그 자체를 따라가고 싶은 분

이 글이 안 맞을 수 있는 분:

  • 직접 코드를 짜서 통합 작업을 하고 싶은 분
  • 처음부터 통합 구조로 설계하는 방법을 찾고 계신 분

 

4. 총평


통합 작업 난이도 ★★★☆☆ 말 한마디로 시작되지만, 기능 테스트는 내가 해야 해요
기존 기능 유지 ★★★★☆ 90%는 살았고, 나머지 10%는 직접 찾아서 고쳐야 했어요
구조 오류 해결 ★★★★★ 원인 설명이 너무 친절해서 오히려 공부가 됐어요
최종 완성도 ★★★★★ 따로 쓰던 때로 다시 돌아가고 싶지 않아요
비개발자 추천도 ★★★★☆ 막히는 순간이 있지만, 포기할 이유는 없어요

 

5. 지금 바로 시도할 수 있어요


직접 해보고 싶으시다면, 이렇게 시작해보세요.

 

Antigravity [공식 사이트 링크]를 열고, 합치고 싶은 두 프로그램이 있다면 이렇게 말해보세요.

 

"A 기능 프로그램과 B 기능 프로그램을 하나로 합쳐줘. 두 기능이 하나의 화면에서 모두 작동하게 만들어줘. 기존 기능은 전부 유지해줘."

 

합치고 나면 반드시 기능을 하나씩 테스트해보세요. 한 번에 전부 되는 경우는 생각보다 드물어요. 안 되는 부분이 나오면 그걸 구체적으로 설명해서 고쳐달라고 하는 게 훨씬 빠릅니다. 저도 이 방식으로 하나씩 해결했거든요.

 

 

Q & A


Q1. 두 프로그램을 합치려면 둘 다 Antigravity로 만들었어야 하나요? 저는 하나는 Antigravity로 만들고, 다른 하나는 Claude code로 만들었어요. 하지만 둘 다 제 컴퓨터에 저장되어 있었죠. 프로그램의 위치만 알려주니 Antigravity가 알아서 찾고 작업을 해나갔어요.

 

Q2. 합치다가 기존 기능이 망가지면 어떻게 하나요? 저도 그게 제일 걱정이었는데, 실제로 크롤링 기능이 통째로 죽었어요. 당황하지 않고 어떤 기능이 안 되는지 하나씩 설명하면서 고쳐달라고 하니까 다 살아났어요. 증상을 구체적으로 설명할수록 빠르게 해결됐어요.

 

Q3. 합치는 데 얼마나 걸렸나요? 통합 요청부터 모든 기능이 정상 작동하기까지 약 2시간 정도 걸렸어요. Antigravity가 코드를 수정하는 시간보다 제가 테스트하고 결과를 전달하는 시간이 더 오래 걸린 것 같아요.

 

Q4. 마우스 렉처럼 구조적인 문제도 AI가 해결해주나요? 해줘요. 근데 이건 단순히 고쳐주는 것 이상이었어요. 왜 이런 문제가 생겼는지, 어떤 구조로 바꾸면 해결되는지까지 설명해줘서 '이런 원리구나'를 이해하게 됐어요. 덕분에 비슷한 문제가 생겨도 이제는 방향은 잡을 수 있을 것 같아요.

 

Q5. 두 기능을 합치면 프로그램이 무거워지거나 느려지지 않나요? 체감상 큰 차이는 없었어요. 오히려 창을 왔다 갔다 하는 번거로움이 없어지니까 전체 작업 흐름은 더 빨라졌어요. 다만 합친 직후엔 구조 최적화가 안 돼 있을 수 있으니, 렉 같은 이상 증상이 생기면 Antigravity한테 말하는 게 좋아요.

 

Q6. 합친 뒤에 기능을 추가할 수도 있나요? 당연히 됩니다. 합쳐진 상태에서 새 기능 추가하는 것도 이전과 똑같이 말로 요청하면 돼요. 오히려 한 프로그램 안에 있으니 두 기능이 서로 데이터를 주고받는 것도 더 쉽게 구현할 수 있어요.

 

Q7. 이 시리즈를 처음 보는 분은 어디서부터 보면 좋을까요? 1일차부터 순서대로 보시는 걸 추천해요. 아무것도 없는 상태에서 프로그램을 만들고, 기능을 붙이고, 디자인을 입히고, 합치는 전 과정이 담겨 있거든요. 이 글만 봐도 흐름은 따라올 수 있지만, 처음부터 따라가면 '나도 할 수 있겠다'는 느낌이 훨씬 강하게 와요.